I am having loads of problems getting USB consistently working on the gumstix platform. USB does work on the Palo35, but does not work properly on the Chestnut43 or the Palo43.

On the Chestnut 43:
 - The Host A port does nothing and nothing is visible in dmesg.
 - The OTG port only works a fraction of the time, using a Mini-A to Mini-B cable connected to a hub.
 --- Connecting the hub errors out with: usb 1-1: device descriptor read/64, error -71.

On the Palo43:
 - The Host port does not function in host mode, after plugging in peripherals nothing happens and I think the console (and possibly other) usb ports are reset.
 - Using the OTG port the the system is able to recognize the hub and some attached peripherals like the a USB card reader, but the a USB ethernet adapter does not work.

I do not understand how the hardware varies just enough to cause complete headaches when it comes to USB host / OTG functionality. My config is the default overo_android_defconfig provided when you sync with the rowboat android repository.

Any help would be greatly appreciated.

The following error messages are found in dmesg.

<6>usb 1-1.1: New USB device found, idVendor=9710, idProduct=7830
<6>usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
<6>usb 1-1.1: Product: USB-MAC Controller  
<6>usb 1-1.1: Manufacturer: Moschip Semiconductor
<6>usb 1-1.1: SerialNumber: b0b035d9
<7>usb 1-1.1: uevent
<7>usb 1-1.1: usb_probe_device
<7>usb 1-1.1: configuration #1 chosen from 1 choice
<7>usb 1-1.1: adding 1-1.1:1.0 (config #1, interface 0)
<7>usb 1-1.1:1.0: uevent
<7>MOSCHIP usb-ethernet driver 1-1.1:1.0: usb_probe_interface
<7>MOSCHIP usb-ethernet driver 1-1.1:1.0: usb_probe_interface - got id
<7>usb 1-1.1: khubd timed out on ep0in len=0/6
<7>usb 1-1.1: khubd timed out on ep0in len=0/6
<7>usb 1-1.1: khubd timed out on ep0in len=0/6
<7>usb 1-1.1: khubd timed out on ep0in len=0/6
<7>usb 1-1.1: khubd timed out on ep0in len=0/6
<4>usb 1-1.1: Cannot read MAC address
<4>MOSCHIP usb-ethernet driver: probe of 1-1.1:1.0 failed with error -110
<7>usbserial_generic 1-1.1:1.0: usb_probe_interface
<7>usbserial_generic 1-1.1:1.0: usb_probe_interface - got id
<7>drivers/usb/core/inode.c: creating file '006'
<7>hub 1-0:1.0: state 7 ports 1 chg 0000 evt 0002
<7>hub 1-0:1.0: port 1, status 0101, change 0001, 12 Mb/s
<6>usb 1-1: USB disconnect, address 5
<6>usb 1-1.1: USB disconnect, address 6
<7>usb 1-1.1: unregistering device
<7>usb 1-1.1: usb_disable_device nuking all URBs
<7>usb 1-1.1: unregistering interface 1-1.1:1.0