|
iPAQ h5555 & USB gadget g_ether: workaround: msg#00016handhelds.linux.kernel
Hi all, I am intentionally cross-posting this because it provides users with a workaround and the advice from kernel hackers is needed to fix it properly. The problem is that with kernel 2.4.19 on iPAQ h5555 (and similar) USB networking with Windows via the backported USB gadget g_ether module fails: as far as I know, Windows never sees the device even though the g_ether module is loaded. The expected behaviour is that Windows recognizes an NDIS compatible device; this is how it works for me with my 3970. The workaround found by Herb Goldman is that after loading the old usb-eth module once and then switching to g_ether, Windows sees the iPAQ and networking works. His full report is below, including a comparison of the kernel log. I suspect that on iPAQ h5555 the USB gadget code omits some kind of required hardware initialization which the old USB code does, but this is pure guesswork. If someone has an idea what the relevant difference could be, then I offer to investigate by compiling and testing with my iPAQ 3970 and I suppose Herb would be able to check whether the changes help with his iPAQ 5555. -------- Forwarded Message -------- From: Herb Goldman To: Patrick Ohly Subject: Re: IPAQ h5555 & USB [...] What I've found is that it's necessary to first load usb-eth, (which autoloads pxausb_core) Windows then sees the USB, but only as an unknown USB device. You then unload usb-eth (pxausb) and Windows sees the unknown USB device go away. Then load g_ether (autoloading pxa2xx_udc) and Windows brings the networking right up. I was following these instructions, and with the usb-eth pkg uninstalled, was getting nowhere. http://www.handhelds.org/moin/moin.cgi/WindowsXpUsbNetworkHowTo I was then flipping between the usb-eth and g_ether for comparison purposes, and I stumbled into making it work, and eventually isolated the predictable behavior. This is the 'logread' output of cleanly booted functioning system. For comparison purposes, when usb-eth is not preloaded/unloaded, the lines with "--" prefixes are missing. (Also, the line prefixed with the "++" is substituted by this one: Dec 10 18:29:06 h3900 user.debug kernel: udc: udccr 01 = ude) --Dec 10 18:22:27 h3900 user.warn kernel: soft_connect_hook: enable=0 GPDR=1ebfb GPLR=1c1c89a GAFR=a0000000 --Dec 10 18:22:27 h3900 user.warn kernel: PXA USB Controller Core Initialized --Dec 10 18:22:27 h3900 user.warn kernel: usbctl: usb-eth registered. --Dec 10 18:22:27 h3900 user.warn kernel: soft_connect_hook: enable=1 GPDR=1ebff GPLR=1c1c89e GAFR=a0000000 --Dec 10 18:22:27 h3900 user.info kernel: USB Function Ethernet Driver Interface --Dec 10 18:22:27 h3900 user.debug kernel: usb-eth: suspended. --Dec 10 18:22:27 h3900 user.warn kernel: usb-eth: device configured, go go go. --Dec 10 18:22:27 h3900 user.warn kernel: usbep0: setup begin: zero-length OUT? --Dec 10 18:22:28 h3900 user.notice net.agent[1536]: register event not handled --Dec 10 18:22:28 h3900 user.warn kernel: usb-eth: device configured, go go go. --Dec 10 18:22:28 h3900 user.warn kernel: usbep0: setup begin: zero-length OUT? --Dec 10 18:22:28 h3900 user.warn kernel: usb-eth: device configured, go go go. --Dec 10 18:22:29 h3900 user.warn kernel: usbep0: setup begin: zero-length OUT? --Dec 10 18:22:29 h3900 user.debug kernel: usb-eth: suspended. --Dec 10 18:22:44 h3900 user.warn kernel: soft_connect_hook: enable=0 GPDR=1ebfb GPLR=1c1c89e GAFR=a0000000 --Dec 10 18:22:44 h3900 user.warn kernel: usbctl: usb-eth closed. --Dec 10 18:22:44 h3900 user.warn kernel: Unloading PXA USB Controller --Dec 10 18:22:44 h3900 user.warn kernel: soft_connect_hook: enable=0 GPDR=1ebfb GPLR=1c1c89a GAFR=a0000000 --Dec 10 18:22:44 h3900 user.notice net.agent[1826]: unregister event not handled Dec 10 18:23:10 h3900 user.info kernel: pxa2xx_udc: version 5-Jan-2004 Dec 10 18:23:10 h3900 user.debug kernel: pxa2xx_udc: IRQ 3 (pio only) Dec 10 18:23:10 h3900 user.info kernel: usb0: Ethernet Gadget, version: Equinox 2004 Dec 10 18:23:10 h3900 user.info kernel: usb0: using pxa2xx_udc, OUT ep2out-bulk IN ep1in-bulk STATUS ep6in-bulk Dec 10 18:23:10 h3900 user.info kernel: usb0: MAC 8e:0a:67:89:bc:ea Dec 10 18:23:10 h3900 user.info kernel: usb0: HOST MAC 92:69:1c:5e:73:5b Dec 10 18:23:10 h3900 user.info kernel: usb0: RNDIS ready Dec 10 18:23:10 h3900 user.debug kernel: udc: registered gadget driver 'ether' --Dec 10 18:23:10 h3900 user.info kernel: udc: USB reset Dec 10 18:23:10 h3900 user.info kernel: pxa2xx_udc: can't check host connect Dec 10 18:23:10 h3900 user.debug kernel: udc: host EP0_IDLE, uicr FF.FE, usir 00.00, ufnr 40.BB ++Dec 10 18:23:10 h3900 user.debug kernel: udc: udccr 03 = uda ude Dec 10 18:23:10 h3900 user.debug kernel: udc: udccfr 04 = acm Dec 10 18:23:10 h3900 user.debug kernel: udc: ep0 driver 'ether' Dec 10 18:23:10 h3900 user.debug kernel: udc: udccs0 EP0_IDLE 00 = Dec 10 18:23:10 h3900 user.debug kernel: udc: ep0 IN 0/0, OUT 0/0 --Dec 10 18:23:10 h3900 user.info kernel: udc: USB reset --Dec 10 18:23:10 h3900 user.info kernel: udc: USB reset --Dec 10 18:23:10 h3900 user.info kernel: usb0: full speed config #2: 100 mA, Ethernet Gadget, using RNDIS --Dec 10 18:23:21 h3900 user.debug kernel: usb0: no IPv6 routers present Let me know if there's anything more I can assist with. _______________________________________________ The Familiar Linux Distribution Familiar mailing list Familiar@xxxxxxxxxxxxx https://handhelds.org/mailman/listinfo/familiar irc://irc.freenode.net #familiar |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: 2.6.13-hh1 and IDE: 00016, Koen Kooi |
|---|---|
| Next by Date: | Wireless driver discussion: 00016, Amish Rughoonundon |
| Previous by Thread: | 2.6.13-hh1 and IDEi: 00016, pHilipp Zabel |
| Next by Thread: | Wireless driver discussion: 00016, Amish Rughoonundon |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | Mail Home | sitemap | FAQ | advertise |