Welcome to edgylogic, drive:activated visitors. This is my new home on the net.

Articles

  • Adding wired ethernet to Chumby, the stylish way

    UPDATE (01/07/2009): If you have updated your Chumby to software version 1.7, see this post to get it working instead.

    UPDATE (12/02/2009): There seems to be some kind of intermittent dropout happening with the wired connection using this adapter. A reboot will fix the problem, but it is annoying. Can't quite pinpoint why though.

    My Chumby hasn't been very happy for a while now - its connection to the world just isn't stable enough for it to do anything. All it could do was fetch a news article or a picture, two if you were lucky, before its wifi connection dropped out again. Chumby, just to recap, is an internet widget alarm clock which is now officially available in Australia too, via Internode. It connects via a wireless connection, but with a fairly tiny antenna in an area of high radio interference (no idea what it is), it can't hold on to a wifi signal for long (neither can my mobile, but my laptop works fine).

    Luckily, it has a couple of USB ports on it and runs on Linux, so I looked around to see if it supported any USB-to-Ethernet adapters. It did, in particularly it had been tested with the Trendnet TU-ET100C, Linksys USB200M and AirLink101 ASOHOUSB. In fact, it works out-of-the-box with those that use the Ralink RT73 chipset or the ASIX AX88172/AX88772 chipsets, provided the driver included with Chumby knew about those devices.

    Because none of the adapters mentioned above are available in Australia (as far as I know), knowing the supported chipsets opened up the selection a bit. Ones that are technically supported (but untested) and available in Australia include the Belkin F5D5050 and D-Link DUB-E100. I wasn't impressed though - these things were big, utilitarian and worst of all, ugly.

    The ones that are available overseas aren't much better either in the looks department (Airlink, Trendnet and Linksys respectively).

     


    The people behind these abominations must be wired differently to me - even if these things were designed to be out of sight, would it hurt that much just to make them look ok at least?

    Then I stumbled across this.

     


    Had to come from Apple of course. Finally, something that isn't enormous and is actually nice to look at. Some further googling told me that it used the same chipset as the Linksys USB200M, so it should be supported. Unfortunately, while the chipset was supported, the IDs for this were only added into the driver recently, and I suspected it was after the v1.6 firmware release. After downloading the Chumby Linux source, I confirmed it - the chipset was supported, but without the IDs, Linux could not detect the adapter and match it up with the driver.

    I had two options - get the IDs added into the driver within Chumby, or suck it up and get the ugly but supported and detectable alternatives. To add to this, the Apple USB-to-Ethernet adapter was actually cheaper (shock horror!) than the Belkin and D-Link alternatives ($39 compared to $44 and $55). Also, it has no flashing lights, which is perfect for use with the Chumby - the last thing you want is an annoying randomly flashing light illuminating your room while you sleep.

    Choosing the ugly option just didn't cut it, and given the Apple adapter was actually cheaper, I decided to get the IDs added in. I submitted a request to add the Apple adapter IDs into the official Chumby firmware, but I couldn't wait, so I took the plunge and got my hands dirty with the Linux kernel source code.

    As if compiling the Linux kernel wasn't enough, I had to cross-compile as the Chumby has an ARM processor, not an x86 (Intel/AMD/VIA) processor. Fortunately, the toolchain as well as detailed instructions were available, so it actually went a lot smoother than I expected. I merged the new IDs with the appropriate source file (drivers/usb/net/asix.c), made a wish that the process will go without obscure/unintelligible errors, ran the make command and sat and waited for a few long minutes while it did a whole lot of stuff. When it was done, I copied the compiled driver (drivers/usb/net/asix.ko) to a USB drive, and plugged it into Chumby.

    Of course, you could do the whole compilation thing and go through the experience of setting up the environment, the lows of watching, praying that the compilation would work, and the ecstatic highs of seeing the compilation complete without an error, or just download the compiled file below. Your choice Smile

    1. Download the patched driver and the loading 'debugchumby' script here (Patched driver for Apple USB-to-Ethernet Adapter for Chumby), and place both files at the root of a USB drive. Because your Chumby has no usable in-built memory, you will need a USB drive attached to Chumby (in theory, you could remove it after it has started up, but I just leave mine in) for this trick to work.

      If you have already done some hacks with Chumby using the debugchumby file (if you don't know what that is, you probably haven't), you will need to manually merge the debugchumby files. Be careful when extracting the files above so you don't overwrite your existing debugchumby file. Also, if you're on Windows, remember that you need a program that keeps Unix-style line endings to edit debugchumby, otherwise it won't work. Try Notepad++.

      Note: This script assumes you use DHCP on your network (if you don't know what that is, you probably do). If you don't, you will have to edit the debugchumby file to set the IP address.
    2. Remove the USB drive from the computer, and while Chumby is off, plug it into the USB A port. Plug the Apple USB-to-Ethernet adapter into the USB B port and connect the ethernet cable to it. The port in which each device is plugged into is important, as the script relies on the USB drive being at /mnt/usb, and hopefully plugging it into USB A will ensure that.
    3. Turn Chumby on. It should go through the usual process, and you should not be prompted for network configuration. Within seconds, your Chumby should be online via its new ethernet connection!

    Some things to note -

    • On startup, the wireless configuration is tricked into disabling itself. However you can easily re-enable it (for whatever reason) by going into the Control Panel -> Settings -> Network and selecting a wireless network. Nothing has been changed on the Chumby itself, so if you ever need to remove the adapter, just turn it off, remove the adapter, and turn it back on.
    • Because the wireless configuration is tricked into disabling itself, and the Chumby UI has no way of reading the details of the wired ethernet connection, it makes it quite difficult to connect to it if you ever need to. So to make things slightly easier, Chumby will flash the IP address it got via the wired connection at startup, like the picture below. It doesn't stay on the screen for long, so you need to be quick.


    • Hopefully in the future, the driver within Chumby will be updated so the patched driver won't be needed. However, you will still need the USB drive to trick the Chumby into working, otherwise it won't know it has a network connection. Apparently, official wired ethernet support is coming in the next firmware release though, eliminating that.
    Now my Chumby can actually be usable, and can actually play my alarm stream in the morning, instead of the incredibly annoying (but very effective) high-pitched beeps. And seeing as my Chumby is always AC-powered, the extra dongle/cable isn't much of a problem anyway. I think it's happy again Smile


     

Comments

1.

Excellent! This worked great for me. Thanks so much for posting it!

Posted by Dave, 10th March 2009 7:39 AM
 
2.

I have a chumby coupan and i am going to buy this wired ethernet.

Posted by battery, 21st October 2009 8:42 PM
 

New comments have been disabled for this post.

If you have something to ask about this post, drop me a message.