I've been prompted by Wookey to give an update on attaching a USB Web Cam to the Balloon board. This presents a number of problems: a) Making the USB host controller work properly. b) Finding a web cam. c) Finding a web cam Linux driver. d) Finding a web cam Linux driver that ports to the ARM architecture. Firstly b) c) and d) are solved (see ***note*** for definition of "solved") by using a Logitech Quickcam Messenger with the qc-usb drivers for the messenger see: http://www.ee.oulu.fi/~tuukkat/quickcam/quickcam.html Goto "Other Linux Camera Drivers" and follow the Messenger links. This Linux camera driver has a good history and is more robust than some. It only provides V4L1 but that's good enough for most people. V0.1 cleanly cross compiles to ARM with the usual fiddles to Linux source tree variables in the Makefile, I've not yet tested V0.8. a) is harder to "solve". I think that all the people involved in the design of the Balloon board (v2.05) agree that the choice of USB Host controller was a difficult one, there were may factors that went into the decision. However the Philips chip has one semi-fatal flaw in that it *needs*, and I mean *needs*, to be serviced every millisecond. Fine for a dedicated micro, not so good for a StrongARM running Linux (not known for its hard real time capability). Thus if you are working your Balloon hard the USB controller may randomly stop working and need a hardware reset/power cycle, and the associated reattachment of the USB devices. The second difficulty is that the standard 116x driver shipped with the Balloon does not provide ISOCHRONOUS packet support. I have found a modification to the driver that does (and is under GPL) and I've ported this to the Balloon (renamed ohci116x to allow the previous deriver to coexist). I've sent Wookey source so he can test that it compiles in a different build environment and hopefully he can make that available. The modified driver also provided support for resetting the Host USB. I have currently removed this as it requires hardware access to the Host USB reset line as well as modifications to usb.c I need to find a better way of providing this that doesn't require such a heavy handed kernel file mod and will publish a fix when I have one. Using this may require an upgrade to the CPLD code, a final version for 2.05 is long overdue (on my task list...). (The Host USB reset line does go to the CPLD so no hardware mods should be needed) Finally I've not yet had time to port any of this to Linux 2.6.xx so my testing has all been done on 2.4.25. However I don't expect this to break although the Host USB driver may need to be tweaked. However I may be only a few weeks away from attempting this. I have managed several frames per second over WLAN (with reduced frame size) Hope this helps David Bisset iTechnic Ltd. ***NOTE*** The Linux camera market is still not recognised by most suppliers so most drivers are produced by reverse engineering (in some cases data for the camera chip is available some not). Some cameras are supported but of these I have not found one that easily ports to the StrongARM architecture and works with the Balloon host controller, I've tried several (mainly cheap) Web cams from the Phillips Toucam to the TrustCam series both of which enjoy a degree of manufacturer support. Logitech does not supply support. As a consequence the design of the Quickcam Messenger may suddenly change so that this driver no longer works. You will not see any change in packaging bar codes, product pack codes etc, or even manufacturer's stock number. One day you will buy one and it won't work, you'll take it apart and find a totally different PCB and chip inside... (Usually the USB ID code changes so you can spot the difference if you look at the debug output. I have taken to doing this without unwrapping the plastic bag on the camera as this makes it slightly easier to take back). So "solved" means as of the last time I bought one that worked (about 4 weeks ago). You have been warned.