Sunday, July 05, 2009

One Step forward, two steps back ...

... now we're cha-cha-ing (Chris Knight - Real Genius). Anyway, in my constant quest for updated routing software and IPV6 I swapped out my WRT54G for a Netgear WGT624 (it's temporary, until I get the WRT upgraded and reconfigured). The WGT624 was picked up cheap for just this purpose. I attempted to put OpenWRT Kamikaze on the WRT only to find that it doesn't include wireless support because it's too unstable so it was removed. They could have done a better job of posting that info. Maybe in a readme in the same directory? So then my attempt to fall back to OpenWRT White Russian failed because Kamikaze wouldn't recognize it even though the MD5 checksum matched the file on the OpenWRT site. So I used DD-WRT v24-SP1 (standard generic) instead. Kamikaze recognized that and it loaded. So now I now have wireless and IPV6. The information on the web said that IPV6 didn't work but I tried it anyway. I had to configure enable IPV6 forwarding on all interfaces and RADVD. Hmm, looks like there will be no IPV6 tunnel as there isn't enough room for all the necessary utilities (the appropriate IPV6 modules). The good news is that the DD-WRT software gives me the ability to track my bandwidth usage so it's still a useful router. At the moment my other WRT is missing so I can't take advantage of it (in a wireless bridge for instance). I may have given it to one of my friends but for the life of me I can't remember who. I'm also locked out of my Netgear WGT634U because I can't remember the root password (ARGH!). Looks like I have some soldering work ahead of me making JTAG and serial port interfaces for these boxes.

Update: Well I managed to recall my WGT634U's password (gotta be more careful with letter case). So I now have 5 routers, 1 old Linksys 11b router, 1 WRT54G running DD-WRT, 1 WRT54GL running OpenWRT (probably White Russian) that I can't find, my WGT634U running OpenWRT (Kamikaze R3032) and a WGT624 v3. I really need to organize my stuff much better. :-/ I'm hoping to get the WGT634U upgraded to the latest version of Kamikaze (8.09.2). Then I can use the WRTs for other things such as to permit roaming.

Meanwhile on the BuildRoot front I'm having a lot of problems. I had a good config for the kernel and it was mostly working but that was accidentally overwritten (ARGH!). So I attempted to recreate my work. So far nothing has worked. After GRUB presents the menu, it boots the kernel and just prints 'Starting' and hangs (well does nothing visible). I'm at a bit of a loss and very confused as to what the problem is. I've compiled the kernel with debugging turned on but it still remains silent. I'll continue to work on it. Eventually I'll get a working kernel and then I can progress onto getting the rest of my tools working. I have to get this working as my plans for distributing the processing to a lot of smaller boxes requires an embedded distribution.

Saturday, June 27, 2009

LORHA and IPV6

It's been a busy weekend, I skipped riding (I love to ride my bicycle) to get some house work done. In between I managed to get IPV6 working again and figure out a good portion of getting GRUB and a cross compiled Linux distribution install on a compact flash card. First let me explain that LORHA is my cute little acronym for my Linux OpenRemote Home Automation distribution. So far it's really nothing more than BuildRoot and the latest Java JDK installed on the compact flash. I intend to use BuildRoot as the basis for my embedded systems (I have several). I'm using BuildRoot to build the x86 cross compiler enviroment (I have an ALIX/Geode board), kernel and utilities. So far it has gone well. I've managed to work around a few bugs in BuildRoot (I managed to get Perl to compile). I put the whole thing, including GRUB, on a 2G compact flash card and I'm able to get it to boot up. Unfortunately the kernel panics when it comes to mounting the file system. This may be caused by a a few drivers being compiled as modules instead of being built into the kernel. For desktop systems one would normally just use initrd load the appropriate modules but embedded systems shouldn't use initrd. Instead just build the important drivers (like the file system and IDE drivers) into the kernel then do a insmod/modprobe on the remainder of the drivers like the Ethernet and Wireless ports. When I get the steps down I'll post exactly what I did to my LORHA page.

I've also spent some time setting up my home network adding IPV6 to the network. It's actually solved a few problems with an old bridge I have. I also figured out why I was getting this odd message about 48 bytes associate with IPV6. Turns out I was using the wrong subnet mask (another thing deprecated in IPV6). I have since switched to a /64 mask and IPV6 is happier. Unfortunately some of the network addresses stopped working and I'm not sure why (though I know it has to do with more deprecated RFCs). I've manually configured tinydns for IPV6 using AAAA records. So if you use Firefox the preferred IP address is the IPV6 address.

As I said previously, the intent of all this is to build a new Firewall gateway router that can handle IPV6, IPV4, bandwidth accounting, and what-ever else might come it's way. I'm hoping to make it as flexible as something like OpenWRT. I expect that I will be able to do this. In addition I get to learn all sorts of new things and that's always exciting. :-)