Hack Night / Primus / Blood Squad

Hack night was hardcore last night as all feared the THE BLIZARD OF 2K6 (Or aught-six, as we’re planning on calling it when we’re old and crotchety.) The snow was actually pretty nice though and we shot the shit about a number of projects while enjoying the new line of beverages available with the move to online coffee.

I’ll be going to Primus tonight at the paramount and I’ve got an extra ticket if anyone’s interested. It was sold out but it looks like there’s a fresh batch of GA tickets released on ticketmaster today.

Blood Squad, an improv/sketch group that performs horror movies while you wait, are playing friday and saturday at 11pm at the odd duck studio at 1214 10th Ave (In the Madison / Pike / Broadway triangle). It’s 21+ show (grand illusion was byob) and when I saw them at the Grand Illusion they were awesome. It’s $7 with the password “Santa’s Balls”.

Crystal Reports XI

As my drama with Crystal Reports Server draws to a close, a couple notes. I installed and uninstalled this beast over TS a half dozen times this week. My problems centered around using SQL Server 2k5 Developer edition as the database for the CMS. During install there’s a check box to install MSDE or use an existing SQL Server. I’d leave this checked, and then specify the SQL Domain account, which had the sysadmin role on the SQL server. The install would complete without problem until I got an error about being able to log in to the CMS.

Upon reviewing events, the first thing of obvious note is failed logins to the SQL server from my domain account (Login failed for user ‘DOMAIN\user’. [CLIENT: x.x.x.x]). It makes sense that it would use my windows credentials to install the database during setup, as I’m already logged in, but it would be nice if it would install a service set to run with the provided credentials and startup, at least to let me know if it had problems with using the credentials. Anyways, the database WOULD get created (Starting up database ‘BOE11’.) and the CMS would start up (Central Management Server started) only to follow with two errors: “Cannot write key (DatabaseDriver) to registry.” and “The root server reported an error Initialization Failure.” The newly created database would be empty and the other CR services would fail with: “Failed to register with the CMS sylvanus. Please make sure the CMS is up and running. Attempting an automatic retry…”.

Forcing the CMS to start would usually appear successful but other services would not follow suit. The following error could be found in the event viewer: “Cannot connect to name server hostname(Transport error: unable to retrieve the CMS factory.) “

It appeared that the CMS was trying to read it’s config out of the database, but nothing was there. I tried mucking around with the access configuration a lot, failed to get any support out of Business Objects, and eventually just decided to install using SQL server authentication instead, which worked fine.

I did notice that Crystal Reports Server XI Release 2 was required for Visual Studio 2005 support, and I downloaded that as the “supported platforms” only listed SQL 2005 for this version and not for the initial release, but found no mention of this new support in the release notes so they may have just got around to updating the list. I did not try installing from this source and I’ve put this project behind me as it’s taken far too much time already.

pass the gravy and the arlan

Thanksgiving week looks like it might be dedicated to continuing the project from the last hack night. Ken’s SWN Node south of me on 26th looks like the closest node to my place. Alas, there’s trees and such in between, but we’ve been playing a little bit with some old 900mhz tech, The Arlan (of doom). The product line that lead up to the Cisco Aironet’s that still kick around today was a popular platform for barcode scanners and such inventory tracking devices.

Some ol’ chap named xam ended up with a bunch of the 900mhz models and hacked around with the firmware for a bit. His pages aren’t around anymore but you can hit them up via the archive. Ken and Matt picked up a pile of these and since the last hack night we own all of them in the world (We’ll sell them back to you at $250ea btw). Anyways, we bricked a 630-900 following xam’s instructions for downgrading (most of ours started at 4.2c although they had ‘shipped firmware 2.39 stickers’). Not trusting the downloaded firmware from the archive, a few connections were hit up and we found a couple other places from filename searches. We have since reamassed a collection of arlan firmware on the swn website.

After bricking a second (the downgraded firmware installs, but then reboots, prints “Decompressing the code”, and reboots again (GOTO 10)) we tried upgrading and successfully brought it up to the latest firmware. We weren’t really sure about all of the menu settings so we tried getting a fourth working and managed to swap some parts around from the bricked radios. The product is three boards: the motherboard, a radio board and an network interface board. There are Ethernet and Token ring network interfaces which appear to be swappable. Some of the radio boards are swappable, but there are two different connectors. The odd part is that the motherboards all seem to have traces for both connections. Some of the older 900mhz radios were large and used the larger connector but we had other 900mhz radios that had the smaller radio. We successfully swapped the 900mhz off a bricked arlan into a 630-2400 (2.4ghz) model that we had that was having complaints about it’s radio anyways. (this was the one model we had working at the time).

Another model had a write password (it all seems snmp based) and last I knew we had some brute force scripts running against it.

Power supplies are scarce but we have plans to build a few now that we know the pinouts and power levels. Hopefully next hacknight we can make a bridge and start plans to actually deploy these through some trees.

thrust into the world of sharepoint

Ugh. So sharepoint is microsoft’s document revision control system. Basically a pretty web interface for a file share, with some really annoying management stuff thrown in where you can’t ever find it again.

A new user came to me today saying that he was having files dissappearing from sharepoint. I figured it was one of the foolish views that seem to like to filter things away. I had known you could hit the files via either a web browser or but using my network places as sort of a file share, which uses WebDAV (likely a proprietary extension, I’m not sure.) All this gets stored in a SQL database. So I go and poke around the SQL database and find a table called ‘Docs’ which contains a couple columns for the filename (leafnode) and the path (dirname I think). I search for the ‘hidden’ files and they aren’t there anymore.

I go and poke around on his laptop again and he’s mapped a network share (ie \\server\site) instead of the webdav address (http://server/site) to a drive letter to try to pull a list of the directory tree out. He’s putting links to all of the files in excel using the unc path and not the webdav path, but here’s the clincher. Whenever he opens documents using the unc path, when he closes them, the files get deleted from the server. DELETED. Can I emphasize that more?

I left him, with the understanding that unc paths with sharepoint are bad. He sent me this thread later. Basically, yeah, there’s a bug (kb 884050), where word deletes the real copy of the file thinking it’s the temporary file. Nice. But I hit the registry key (HKLM \ SOFTWARE \ Microsoft \ Office \ 11.0 \ Common \ ProductVersion) for his box (11.0.7969.0) and check it against a list. Office 2003 SP2. It’s supposed to be fixed. Maybe they forgot to fix it in Office SBE or something? I don’t know. Man… I’m not looking forward to restoring the sharepoint database and manually merging back the missing files.

(edit) I can’t reproduce it on my machine, mapping network drives using unc paths with and without drive letters and using word. I have the same version number in my registry, but word reports 11.8106.8107 . I haven’t checked his word version yet though. also that version number doesn’t appear in my registry.

OCS Inventory

OCS Inventory is an open-source system inventory package that comes with agents for both linux machines and windows. I don’t have a significant inventory at my new job, and certainly didn’t want to go around with a pad of paper collecting information, so I’ve installed this on a debian VM (my first install of debian ever, btw).

There wasn’t a deb for it as far as I could find, so I compiled the source by hand. To meet dependencies I had tagged the box as a web server during the initial network install. You can find a list of packages to install here and here. I used the later list, a few of the packages were already installed but apt played nice.

Once installed, I put the windows agent on my workstation, but nothing really happened. I ran “Ocsinventory.exe /NP /server:servername /DEBUG” from the command prompt (/NP means don’t use the IE proxy) which creates a couple .log files. in my hostname.log I was getting a “ERROR: Http error: 500”. I checked the Apache2 error.log and found “… Column ‘NAME’ cannot be null at …” A little searching revealed a db design problem which required running the sql statement “ALTER TABLE softwares CHANGE NAME NAME VARCHAR(255) default NULL; ” to resolve. I could tell from the error how to fix it, but I didn’t realize it wasn’t a problem with my configuration. I guess it’s a common problem. As soon as I did this, things started working and my workstation showed up in the web interface, windows xp key and all.

This is certainly going to help inventory. Why create a table of computers and IP addresses manually when it can all be pushed into here? The software license benefits aside, this is going to save a lot of time.

After I deploy the agent on a few more workstations and test out the linux agent, I’ll start taking a look at installing GLPI and see what exact benefits I can get from teaming these two pieces of software.

firefox 2.0 customization

I installed FF 2.0 last night when I rebuilt my box and I’ve been struggling with the new tab bar. First, the close tab button is not to the right of the bar where I keep expecting it. I’ve grown pretty accustomed to quickly managing my tabs the way it was setup and I keep finding my self searching for the tab close button which now exists on each individual tab.

Rather than trying to learn the new layout, I set out in search of the fix. The first big hit was a thread that deteriorated into a UI design war. Then I found this slashdot comment that gave me the basic idea:

open firefox
type ‘about:config’ into the address bar
scroll down to ‘browser.tabs.closeButtons’ and set this value to 3.

Supposedly,

0: active tab close button
1: all tabs close buttons
2: no tab close buttons
3: tab close on right (old firefox style)

But I couldn’t see a difference in 0 and 1, specifically, all my tabs didn’t get close buttons. Maybe I have too many open, this page about the browser.tabs.tabClipWidth setting would indicate as much is true.

You can tune some of these things from the options gui if you install the tabbed preferences addon. But I still haven’t found an option to disable the tab sliders. Maybe it’s time to look for a multi-row tab addon.

windows rebuild

I’m rebuilding my windows box finally. It really hasn’t seen the light of day in a couple years, although I did some work on it back after someone spilled whiskey soda down the blow holes. The fans have been gone from the blow holes for a while and the video card had been a total loss. Otherwise it was the same. It’s been slow and swappy for a long time, and more recently would only stay running for a couple days before everything would start shitting the bed.

Well, with NWN2 out, I figured it was time to lose myself in an RPG. Especially one with sidequests. I went out to Computer Stop and bought a Seagate 250G 16MB Cache SATA2 drive so I didn’t have to reinstall on the 80G IDE I put in when I built the box to save some cash. I got an external usb adapter for the drive (i’ve got piles of these now) and a 1G Kingston ram pack. I had 512MB of Corsair XMS, and it was tough pulling it for some medium grade Kingston stuff, but I need the RAM and it’s not like this is the beast it once was. Nothings overclocked anymore either. Alas though, after driving to Circuit City and seeing Kenny from Strategy and then over to Best Buy, no NWN2. It’s all pre-sales copies. How stupid is the gaming industry? I’m sitting here looking at the list of games on Steam, recalling how as a delivery platform it’s such a great technology and hating atari for their box set release. On the other hand though, I found this Direct2Drive place and NWN2 is downloading on another machine while I rebuild the software installation here. It should be done when I get up tomorrow as long as I don’t tell Steam to start installing packages.

Today went along pretty slow at work. I wandered around Bellevue getting some hardware and spent the time up until Battlestar Galactica came on cleaning out the dust in my shuttle and coming up with a quick solution for the bad heatsink fan on my video card. I did end up turning the fan on the “ICE” unit (shuttles cute little radiator setup) to blow out the back of the cast instead of in. Without the blow hole fans I don’t think the benefit was worth it. I have the case off anyways though as I’ve got a 90mm fan sitting next to the cast acting as the fan for the video card. I’ll take a picture as soon as I figure out where I left the batteries.

Mitel VoIP

We have a Mitel VoIP telephone system. It’s a 3310 ICP and uses proprietary everything. I guess some parts support SIP, but I haven’t really tried to screw it up yet. The phones boot up the boot code, DHCP,get the server from the dhcp options, then TFTP an image if needed and boot then boot the main code. The protocol is called MiNET and it’s supposedly encrypted. I have to assume they do the standard pki encrypted exchange of a session key, as there’s nothing in the happy web front ends about all of this.

However, the phones don’t work out of the box if you start taking them outside the network. The ICP has an internal IP address for starts. I don’t know anything about MiNET so I don’t know if it’s got the fatal SIP header flaw with NATs or the whatnot. but the magic key is this Mitel 6000 “MAS” box that runs the “teleworker solution”. If I put the phone in teleworker mode and give it the IP of this box, the phones work almost anywhere. The box runs linux, and I have a heard time telling from the outside what it really does. I thought about emailing the developer, but figured he wouldn’t appreciate a support request.

So I emailed our vendor. I got a couple of “well, it makes the phones work outside the network responses” and then finally talked to someone today, but they weren’t very impressed that they had to call me when I didn’t really have a problem. So I asked why I needed the teleworker solution and the first explanation was that the ICP had a private address and had no provision for another address.

“So the teleworker solution just does NAT?”
“Yeah.”
“Really? That’s kind of a big box.” (it’s a mid-tower case)
“Physically or performance wise.”
“Well, both, but I meant performance.”
“Well it has specific requirements, it does compression.”

I get into a conversation about transcoding and imply that now it’s not a NAT box, it’s a proxy. The conversation stars going down hill. I explained I just wanted to know because I had a couple wierd problems that I couldn’t troubleshoot, having to assume that the phone, teleworker, and voip pbx were simply magic. He then “let me know” how to configure the phone to use the teleworker. I explained I got that and he stops and says, “So what can I help you with?”. “Well then. I guess we’re all set.”

I hate technology people that aren’t geeks. I’m sure imaging the box, clearing the root pw and playing around is “reverse engineering” and I lose my warranty or ‘support’ at best, or get sent to a prision in russia somewhere that doesn’t exist at worst.

My only question left. It’s not just using MAC Authentication, right? I mean, I know it’s closed source and all that, but… That developer guy looks smarter than that. I’ll ponder that possibly giant security gap for a while.

TowTruck and Rain

Unfortunately it’s going to rain tomorrow. I love the national weather service, particularly the forecast discussions. While normal weather sites normally say that it’s going to rain every day of the week in Seattle, the NWS is willing to take a good eduguesstimate at when it will actually rain. And they’ve got a nice way of putting things that doesn’t feel like it came out of a Made for TV can; i.e. “TRYING TO TIME INDIVIDUAL FEATURES FRIDAY AND SATURDAY LOOKS FUTILE. THE BOTTOM LINE IS IT WILL BE WET.”

In the end, its too bad it’s going to rain. The city put a giant sticker on my windshield that says, basically, I don’t drive my truck enough and using my motorcycle to save the environment is bad. Well, I knew they thought that, based on the lack of motorcycle parking in the city. But seriously for a moment, I have this half irremovable sticker that says I haven’t driven my truck enough and it’s in violation of the 72-hour rule. It’s dated yesterday at 11am. I seem to recall that I drove my truck all over the town sunday night. I guess they missed that part. Anyways, I printed out some big signs to put on the dash in case they can’t count again, but it also looks like it’s going to rain for the next few days. Lacking a rainproof motorcycle suit, looks like I’ll be trucking it for a few days.

Field Day 2006 – Magnolia

Seattle Wireless Field Day 2006 went really well today. I woke up to an alarm I didn’t remember setting wondering if I was late for work, realized it was Saturday and I was technically late for Field Day. Fortunately I was already dressed, unfortunately a little hung over. I noted my plans on irc and managed to lean forward and fall in the general direction of the drivers seat of the suburban. On my way to Matt Westervelts’s house I remembered needing snacks and stopped by Madison Market for a ton of chips (which we didn’t really even eat, but they looked nice on the table) and other assorted foods. I stopped by Andy’s and we headed to Matt’s. Casey was waiting there, and we departed pretty quickly. Matt, Andy and I took my suburban towards Magnolia, found a Tully’s coffee and Albertsons near by for more supplies and then headed back towards the park.

It only took a couple trips to carry all of our gear to the end of the park from the parking lot. It’s interesting to note that the parking there is a four hour limit, but the cop that was camping the parking lot when we left didn’t seem to care about any of that. Which is good, because the whole parking thing is stupid. Besides the lack of power, Magnolia suited us pretty well and the weather turned out good. There was a horrible Urine smell in the toilets, but I think we were thankfull to still have them. There was a birthday party for a bunch of kids and they had a generator and inflatable bouncy castle which made us immediately jealous. Next field day, Magnolia’s totally getting a bouncy castle, even if I have to rent it myself. We had a cheap ‘shelter kit’ from walmart that was marketed as something much more useful but worked nonetheless as our hang out (registration tent). A picnic table nearby was base for the antennas and wireless hardware. That’s the extent of the photos that I took, but I’m sure if you watch flickr you’ll see more crop up (tag search) or on the planet.

Setup was basically a snap for our site, and we proceeded to hang out in the shelter most the day, playing on the frs radio which nobody seemed to understand on us, enjoying our snacks and basically talking smack about everything. Definately best saturday ever, not that anyone was doubting it would be. Gasworks blew up, someone nobody there considered there wouldn’t be power I guess, which wasn’t too bad because we couldn’t get a direct link there from any other sites. Next time we’ll probably find another park near the bay and see if we can really get a mesh up.

Our critical systems didn’t have any power problems but we went through a lot of laptops as their batteries ran out and we didn’t have a way to charge them other than running my truck back at the parking lot. I can run it with the keys out, so I suppose we could of locked the laptops in there on charge, but it wasn’t a big deal. Andy brought a small UPS that didn’t really work, and a jump-start battery that worked pretty good at keeping the ATA online, despite a quirky warning buzzer. Matt’s LiIon battery packs ran the wireless gear without problem and only used 25-50% of the battery all day. Somehow I forgot one my ata, and never bothered trying to setup the grandstream due to the lack of laptop power. Next time, rent/buy a generator. Especially for the aforementioned bouncy castle. With no cars allowed in Magnolia, we debated using a motorcycle as a generator a couple times, and could probably get away with it, but didn’t happen to have one with us and when Matt Wilson came by with the heater later, he brought his car and not his bike.

The evening ended with most of us congregating back at Magnolia and all turned out great. I think everyone had a great time and we’re looking forward to probably doing it again in the spring.

Imaging – Ghost?

Traditionally everyone’s used Ghost for imaging PCs. We have a copy of Ghost 8.2 and Ghost 9 at my new job. Apparently after Ghost 8.x the traditional network imaging tools went into the ‘Ghost Solution Suite’ for enterprise and Ghost 9.x is more designed for a single PC, for the average joe to easily image their own machine for backup purposes. I’ve been digging around for the Ghost 8.x CD, and in the interm checked out the Ghost Solution Suite. It’s a bunch of tools, and all I want is imaging. It’s fairly cheap, I think something like $30-40, but you have to buy ten licenses to start. “Why?”, I thought.

I found Ghost 8.x and went to install it on my desktop and after the standard EULA is a licensing warning, an excerpt:

Symantec wants to be certain its customers understand the Symantec Ghost license agreement so they can be sure they are operating within the law. Here are a few points from Symantec about Ghost’s license:

Each machine that is cloned with Ghost needs a license, regardless if Ghost software is removed after the PC is cloned

Serious?! Every site I know that uses Ghost for image deployment only has one license. Crap. So maybe this is why people use Microsoft RIS.

All this is because the current ghost configuration has been locking on an upload at “Adding MFT Table File”. When I say locking, it predicts something like 8000 hours to complete and just sits there.

I’m trying the ghostcast server which seems to be hanging up now on “Adding MFT Logfile File”.

Symantec unhelpfully suggests using a third party program to defrag the MFT, which are all windows programs with no simple path to a bootable cdrom.

I got looking at Acronis’ deployment system “snap deploy”, but it’s still $20/cloned device, whereas Symantecs Ghost Solution Suite starts at $40/computer and you have to start with 10 licenses.

There’s a handfull of dd-ish hacks like this and this, but they aren’t solutions. There’s ghost4linux which has interesting origins from a package called ghost4unix. There’s Partimage and then PING (Partimage Is Not Ghost).

Honestly, I’m just tired of this. Why must it be so hard?

License Management

So as I’m trying to sort out licensing at my job, I’m curious how everyone has done it. This should really be a poll, but everywhere I’ve worked has had a couple disconnected spreadsheets. Is there a reasonable solution without creating your own database, or going with some large companies enterprise asset tracking software?

Screwing with Printers

A couple days ago a Dell W5300 printer at work got a “900 RIP Software Error”. A reboot fixed it, but upon reading around the net a little, it appears the guts of this beast have a secret identity of Lexmark. The printer has an ethernet and a USB interface, and I found that the ethernet interface had a few issues. I had read many lexmark users say they reflashed the printer by running a “copy 551_061.fly lpt1” from dos. I couldn’t find the file online and it seemed like a lot of people had the same problem.

Today the printer locked up again, although there wasn’t any evidence of the same error, I figured it was time to do the update. I downloaded R103128.EXE from Dell’s site which contained the 551_061.fly and a readme file. Luckily, the readme pointed me to the web page for the print server in the printer which had a upload firmware option. This firmware appears to have only upgraded the firmware for the network card.

Everything came back up okay, but the printer was still all jammed up. More appropriately the print queue on the server was. I poked around a little and found that “net stop spooler” and “net start spooler” would properly destroy the queue’s where canceling the print jobs would not. Not trusting the print server in the printer any more, I’m taking the lesser of two eviils and having the windows server spool for the time being, while gently patting the printer on the head. We’ll see how that goes.

SWN Field Day to be best Saturday, ever.

Film at 11! Mark your calendars and dump your dates. SeattleWireless Field Day 2006 is going off this Saturday, the 28th of October. We will be at Alki, Magnolia and Gasworks parks here in Seattle and there is even talk of others linking in. It’s guaranteed to be the biggest Field Day ever, the depth of which exceeds even your wildest imaginations. Everyone’s going to be there, and if they aren’t, it’s going to be your fault for not bringing your cool self. We’ll build a huge wireless network, get everything connected, and then ultimately prove our geekdom by chatting with each other on IRC.

See you there.