Balloon USB Networking Debugging
Compatibility of Balloon gadget drivers with some Linux kernel versions
Chris Jones, 10 March 2011
There is an issue with compatibility between the g_ether gadget driver in the kernel running on the Balloon and some versions of the Linux kernel which you may have running on your desktop.
The issue is apparently to do with compatibility with Windows drivers; the gadget driver was updated to work with some Windows USB Ethernet drivers, but this means that some Linux kernels mis-identify the Balloon as a Sharp Zaurus and networking doesn't work.
CJ experienced this with his Debian Lenny desktop machine running kernel 2.6.26-2.
lsusb on the desktop shows the right USB device:
Bus 002 Device 008: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
but ifup usb0 doesn't work on the desktop, flagging loads of 'No such device' errors.
There is a special tweak to the Balloon kernel, provided by Nick Bane, which forces the Balloon 3's USB gadget to look like an old SA1110 one. Adjust your kernel configuration:
Go into Device Drivers -> USB support -> USB Gadget support and check 'RNDIS old kernel compatability support'. Note that this is only available when Ethernet Gadget and RNDIS support are checked.
Rebuild kernel and install it on the Balloon by your favourite method. USB networking should now work. It did for me.
This setup may become the default in future.