[Arm-netbook] allwinner USB HOST errors

nikk gitanes tsynik at gmail.com
Wed May 9 05:40:59 BST 2012


Hi,

I'm still fighting with Allwinner USB host driver in 2.6.36 kernel.

Recompiled it with USB debugging messages, tried various modules options, but no luck.

It's used on Ainol NOVO7A tablet, running Android 2.3.4 with Allwinner 2.6.36 kernel (builded from Ainol's source).

The problem is:

With any bluetooth dongle, which switched ON, USB GPS doesn't working.
Or, if I boot tablet without bluetooth, GPS working, but I can't enable bluetooth instead.

My thoughts was about BT first, but I changed 3 of them, 2 with CSR chipset, and last one with Atheros AR3011, with the same effect (all uses btusb.ko module).
After, I tried another GPS, first one uses pl2303.ko, second one uses cdc_acm.ko, same thing...
Few USB hubs was changed too for test...

So, it's probably not dependent on hardware, but seems related to sun4i usb host implementation.

# cat /dev/ttyUSB0
cat: can't open '/dev/ttyUSB0': Protocol error

This is parts of dmesg output when I try to access /dev/ttyUSB0 or /dev/ttyACM0 with working bluetooth:

<6>[ 1226.600000] usbcore: registered new interface driver usbserial
<6>[ 1226.610000] USB Serial support registered for generic
<7>[ 1226.610000] usbserial_generic 1-1.7:1.0: usb_probe_interface
<7>[ 1226.620000] usbserial_generic 1-1.7:1.0: usb_probe_interface - got id
<6>[ 1226.630000] usbcore: registered new interface driver usbserial_generic
<6>[ 1226.640000] usbserial: USB Serial Driver core
<6>[ 1228.530000] USB Serial support registered for pl2303
<7>[ 1228.540000] pl2303 1-1.7:1.0: usb_probe_interface
<7>[ 1228.540000] pl2303 1-1.7:1.0: usb_probe_interface - got id
<6>[ 1228.550000] pl2303 1-1.7:1.0: pl2303 converter detected
<6>[ 1228.560000] usb 1-1.7: pl2303 converter now attached to ttyUSB0
<6>[ 1228.570000] usbcore: registered new interface driver pl2303
<6>[ 1228.570000] pl2303: Prolific PL2303 USB to serial adaptor driver
<6>[ 1302.640000] WRN:L2701(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_schedule, best_end
<6>[ 1302.640000] WRN:L2947(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_schedule failed
<3>[ 1302.660000] pl2303 ttyUSB0: pl2303_open - failed submitting interrupt urb, error -28

# cat /dev/ttyACM0
cat: can't open '/dev/ttyACM0': I/O error

<6>[ 1619.430000] usb 1-1.6: new full speed USB device using sw_hcd_host0 and address 16
<6>[ 1619.980000] WRN:L1719(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, STALLING ENDPOINT
<6>[ 1619.980000] WRN:L1738(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, ep aborting
<6>[ 1619.990000] WRN:L1719(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, STALLING ENDPOINT
<6>[ 1619.990000] WRN:L1738(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, ep aborting
<6>[ 1620.000000] WRN:L1719(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, STALLING ENDPOINT
<6>[ 1620.000000] WRN:L1738(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_h_ep0_irq, ep aborting
<7>[ 1620.850000] usb 1-1.6: default language 0x0409
<7>[ 1620.850000] usb 1-1.6: udev 16, busnum 1, minor = 15
<6>[ 1620.860000] usb 1-1.6: New USB device found, idVendor=0e8d, idProduct=3329
<6>[ 1620.870000] usb 1-1.6: New USB device strings: Mfr=3, Product=4, SerialNumber=0
<6>[ 1620.880000] usb 1-1.6: Product: GPS Receiver
<6>[ 1620.880000] usb 1-1.6: Manufacturer: MTK
<7>[ 1620.890000] usb 1-1.6: usb_probe_device
<7>[ 1620.900000] usb 1-1.6: configuration #1 chosen from 1 choice
<7>[ 1620.900000] usb 1-1.6: adding 1-1.6:1.0 (config #1, interface 0)
<7>[ 1620.910000] cdc_acm 1-1.6:1.0: usb_probe_interface
<7>[ 1620.920000] cdc_acm 1-1.6:1.0: usb_probe_interface - got id
<7>[ 1620.930000] usb 1-1.6: adding 1-1.6:1.1 (config #1, interface 1)
<7>[ 1620.940000] cdc_acm 1-1.6:1.1: usb_probe_interface
<7>[ 1620.940000] cdc_acm 1-1.6:1.1: usb_probe_interface - got id
<6>[ 1620.950000] cdc_acm 1-1.6:1.1: ttyACM0: USB ACM device
<7>[ 1620.960000] drivers/usb/core/inode.c: creating file '016'
<6>[ 1686.650000] WRN:L2701(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_schedule, best_end
<6>[ 1686.650000] WRN:L2947(drivers/usb/sun4i_usb/hcd/core/sw_hcd_host.c):ERR: sw_hcd_schedule failed
<4>[ 1686.660000] tty_port_close_start: tty->count = 1 port count = 0.

I also tried to change kernel option Improved Transaction Translator scheduling in Device Drivers / USB Support, with no effect.

This is full kernel boot log with enabled bluetooth and not working GPS:

http://pastebin.com/DMCSwjfA

Do you guys have any clue what I need to look into next?

---
WBR, nikk

 


More information about the arm-netbook mailing list