Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

USB weirness on OLinuXino



I have updated my Olimex A20-OLinuXino-MICRO-eMMC to the currentish
current, GENERIC kernel, sun7i-a20-olinuxino-micro-emmc.dtb

It seems to have issues with USB (previously I ran it remotely with a
serial console, so I don't know if these issues are new).
xs
ehci0 at simplebus1: EHCI
ehci0: interrupting on GIC irq 71
ehci0: EHCI version 1.0
ehci0: 1 companion controller, 1 port
usb0 at ehci0: USB revision 2.0
ohci0 at simplebus1: OHCI
ohci0: interrupting on GIC irq 96
ohci0: OHCI version 1.0
usb1 at ohci0: USB revision 1.0
uhub0 at usb0: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
uhub0: 1 port with 1 removable, self powered
uhub1 at usb1: NetBSD (0x0000) OHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
uhub1: 1 port with 1 removable, self powered

Full dmesg at https://dmesgd.nycbug.org/index.cgi?do=view&id=7452


When I plug Apple USB keyboard+mouse into the lower port I get an
endless stream of:

uhub4 at uhub1 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
uhub4: single transaction translator
uhub4: 3 ports with 2 removable, bus powered
uhub4: detached
uhub4: at uhub1 port 1 (addr 2) disconnected
uhub4 at uhub1 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
uhub4: single transaction translator
uhub4: 3 ports with 2 removable, bus powered
uhub4: detached
uhub4: at uhub1 port 1 (addr 2) disconnected
entropy: ready
uhub4 at uhub1 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
uhub4: single transaction translator
uhub4: 3 ports with 2 removable, bus powered
uhub4: detached


When I plug in Apple USB keyboard+mouse it gets detected properly and
works.  But it seems to detect a ghost detach first:

[ 507.5139678] uhub4 at uhub2 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 507.5239757] uhub4: single transaction translator
[ 507.8641162] uhub4: detached
[ 507.8641162] uhub4: at uhub2 port 1 (addr 2) disconnected
[ 508.9842595] uhub4 at uhub2 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 509.0043070] uhub4: single transaction translator
[ 509.8444838] uhidev0 at uhub4 port 2 configuration 1 interface 0
[ 509.8444838] uhidev0: Apple Inc. (0x05ac) Apple Keyboard (0x0250), rev 2.00/0.74, addr 3, iclass 3/1
[ 509.8645003] ukbd0 at uhidev0
[ 509.8645003] wskbd0 at ukbd0: console keyboard, using wsdisplay0
[ 509.9045000] uhidev1 at uhub4 port 2 configuration 1 interface 1
[ 509.9045000] uhidev1: Apple Inc. (0x05ac) Apple Keyboard (0x0250), rev 2.00/0.74, addr 3, iclass 3/0
[ 509.9245200] uhid0 at uhidev1: input=1, output=0, feature=0
[ 510.4247303] uhidev2 at uhub4 port 3 configuration 1 interface 0
[ 510.4352455] uhidev2: Mitsumi Electric (0x05ac) Apple Optical USB Mouse (0x0304), rev 1.10/1.10, addr 4, iclass 3/1
[ 510.4852564] ums0 at uhidev2: 4 buttons, W and Z dirs
[ 510.4852564] wsmouse0 at ums0 mux 0

Sometimes it gets into a state where when I _un_plug it, nothing
happens.  And when I plug it back, it detects the initial detach and
then immediately detects attach in one go.

After a few iterations when keyboard is inserted it panics with:

[ 118984.1330249] ukbd0: was console keyboard
[ 118984.1330249] wskbd0: detached
[ 118984.1430355] ukbd0: detached
[ 118984.1430355] uhidev0: detached
[ 118984.1430355] uhidev0: at uhub4 port 2 (addr 3) disconnected
[ 118984.1530392] uhid0: detached
[ 118984.1530392] uhidev1: detached
[ 118984.1636354] uhidev1: at uhub4 port 2 (addr 3) disconnected
[ 118984.1636354] wsmouse0: detached
[ 118984.1744234] ums0: detached
[ 118984.1744234] uhidev2: detached
[ 118984.1836432] uhidev2: at uhub4 port 3 (addr 4) disconnected
[ 118984.1836432] uhub4: detached
[ 118984.1962860] uhub4: at uhub0 port 1 (addr 2) disconnected
[ 118985.2638715] uhub4 at uhub0 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 118985.2938808] uhub4: single transaction translator
[ 118985.6940917] uhub4: detached
[ 118985.7040951] uhub4: at uhub0 port 1 (addr 2) disconnected
[ 118986.8042291] uhub4 at uhub0 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 118986.8442380] uhub4: single transaction translator
[ 118987.2443697] uhub4: detached
[ 118987.2443697] uhub4: at uhub0 port 1 (addr 2) disconnected
[ 118988.3444935] uhub4 at uhub0 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 118988.3592689] uhub4: single transaction translator
[ 118988.7646279] uhub4: detached
[ 118988.7646279] uhub4: at uhub0 port 1 (addr 2) disconnected
[ 118989.8447471] uhub4 at uhub0 port 1: Apple, Inc. (0x05ac) Keyboard Hub (0x1006), class 9/0, rev 2.00/96.15, addr 2
[ 118989.8547544] uhub4: single transaction translator

[ 118990.6149304] uvm_fault(0x80c8aa00, 742a7000, 1) -> e
[ 118990.6149304] Fatal kernel mode data abort: 'Translation Fault (S)'
[ 118990.6249327] trapframe: 0xbd8b8cf8
[ 118990.6249327] FSR=00000005, FAR=742a7540, spsr=a0070013
[ 118990.6349363] r0 =00000000, r1 =c1605600, r2 =742a7540, r3 =00000000
[ 118990.6449352] r4 =915fc940, r5 =80926b24, r6 =948b409c, r7 =00000002
[ 118990.6449352] r8 =00000002, r9 =00000000, r10=00000008, r11=bd8b8d8c
[ 118990.6549386] r12=915fc940, ssp=bd8b8d48, slr=804d01f0, pc =801093f4

Stopped in pid 0.112 (system) at        netbsd:usb_allocmem+0x78:       ldr     r12, [r2]
db{1}> bt
0xbd8b8d8c: netbsd:usb_allocmem+0xc
0xbd8b8dd4: netbsd:ehci_open+0x394
0xbd8b8e0c: netbsd:usbd_setup_pipe_flags+0xd8
0xbd8b8e7c: netbsd:usbd_new_device+0x1dc
0xbd8b8ee4: netbsd:uhub_explore+0x460
0xbd8b8f4c: netbsd:uhub_explore+0x390
0xbd8b8f7c: netbsd:usb_discover+0x74
0xbd8b8fac: netbsd:usb_event_thread+0x88
db{1}> 


Anything I can do to help debug it?  I have zero clue about our USB
stack, but can add debug printfs as instructed.

TIA

-uwe


Home | Main Index | Thread Index | Old Index