Bug 5744
Summary: | usbnet connection to sharp zaurus SL-5600 buggy since kernel 2.6.14 | ||
---|---|---|---|
Product: | Drivers | Reporter: | Bj (bjoern) |
Component: | USB | Assignee: | David Brownell (dbrownell) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | greg, paul |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.14/2.6.15 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 5089 | ||
Attachments: |
experimental mtu patch
output of lsusb -v |
Description
Bj
2005-12-14 09:07:31 UTC
Problem is still there in kernel-2.6.15. From /var/log/messages: Jan 22 13:29:28 AMD2800 usb 3-3: new full speed USB device using ohci_hcd and address 11 Jan 22 13:29:28 AMD2800 ohci_hcd 0000:00:02.1: GetStatus roothub.portstatus [2] = 0x00100103 PRSC PPS PES CCS Jan 22 13:29:28 AMD2800 usb 3-3: ep0 maxpacket = 16 Jan 22 13:29:28 AMD2800 usb 3-3: skipped 4 descriptors after interface Jan 22 13:29:28 AMD2800 usb 3-3: default language 0x0409 Jan 22 13:29:28 AMD2800 usb 3-3: new device strings: Mfr=1, Product=2, SerialNumber=0 Jan 22 13:29:28 AMD2800 usb 3-3: Product: SL-5600 Jan 22 13:29:28 AMD2800 usb 3-3: Manufacturer: Sharp Jan 22 13:29:28 AMD2800 usb 3-3: hotplug Jan 22 13:29:28 AMD2800 usb 3-3: adding 3-3:1.0 (config #1, interface 0) Jan 22 13:29:28 AMD2800 usb 3-3:1.0: hotplug Jan 22 13:29:28 AMD2800 zaurus 3-3:1.0: usb_probe_interface Jan 22 13:29:28 AMD2800 zaurus 3-3:1.0: usb_probe_interface - got id Jan 22 13:29:28 AMD2800 usb0: register 'zaurus' at usb-0000:00:02.1-3, pseudo-MDLM (BLAN) device, 22:57:24:8f:89:cb Jan 22 13:29:28 AMD2800 drivers/usb/core/inode.c: creating file '011' Jan 22 13:29:28 AMD2800 hub 3-0:1.0: state 5 ports 3 chg 0000 evt 0008 Jan 22 13:29:30 AMD2800 usb0: rxqlen 0 --> 4 Jan 22 13:49:38 AMD2800 usb0: rxqlen 0 --> 4 Jan 22 13:49:52 AMD2800 ohci_hcd 0000:00:02.1: urb db3a42c0 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:52 AMD2800 ohci_hcd 0000:00:02.1: urb db3a4540 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:53 AMD2800 ohci_hcd 0000:00:02.1: urb db3a4340 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:53 AMD2800 ohci_hcd 0000:00:02.1: urb db3a42c0 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:54 AMD2800 ohci_hcd 0000:00:02.1: urb db3a45c0 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:56 AMD2800 ohci_hcd 0000:00:02.1: urb db3a42c0 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:49:59 AMD2800 ohci_hcd 0000:00:02.1: urb db3a4540 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:50:06 AMD2800 ohci_hcd 0000:00:02.1: urb db3a45c0 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:50:19 AMD2800 ohci_hcd 0000:00:02.1: urb db3a4340 path 3 ep1in 82160000 cc 8 --> status -75 Jan 22 13:50:46 AMD2800 ohci_hcd 0000:00:02.1: urb db3a42c0 path 3 ep1in 82160000 cc 8 --> status -75 David, any ideas? Changing the MTU size to 576 on either side of the link seems to make the connection usable again. Tested on Fedora4 with 2.6.16-1 kernel. Confirmed, that helps. Additionaly this problem does only exist in one direction. I can browse the web and download megabytes from the PDA through the interface. Only sending data to my PC seems to make the problem. I noticed that usbd0 on my SL-5500 gets an MTU of 1500 but usb0 on the PC end of the link gets 1494. The symptoms I get are an inability to download files on the Zaurus bigger than about 1kB (smaller files work OK). Setting the MTU on usbd0 to 1494 fixes the problem. I'm using kernel 2.6.16-gentoo-r6 on the PC and 2.4.18-rmk7-pxa3-embedix on the PDA. I should have mentioned that I am using ethernet bridging on the PC to give the PDA access to the network. If I use NAT, the difference in MTU doesn't seem to cause a problem. Sounds like yet another bug in the "embedix" code; if you update to a current version of OpenEmbedded/HH.org code on your Zaurus, does the problem still appear? I recall confusion there about MTUs, as well as a lot of other basic stuff. Please provide "lsusb -v" output showing your Z, and use the "usbutils 0.72" version of that tool. Oh, also include for BOTH ENDS OF THE LINK the "ifconfig" output. Created attachment 8027 [details]
experimental mtu patch
Please see if this patch improves anything...
Great, with that patch it works without changing the MTU. Created attachment 8087 [details]
output of lsusb -v
I'm afraid gentoo has only usbutils 0.71, is that good enough? gentoo # ifconfig usb0 usb0 Link encap:Ethernet HWaddr 4E:6B:FB:0F:0F:4C UP BROADCAST RUNNING MULTICAST MTU:1494 Metric:1 RX packets:48 errors:0 dropped:0 overruns:0 frame:0 TX packets:73 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5507 (5.3 Kb) TX bytes:8377 (8.1 Kb) zaurus # ifconfig usbd0 usbd0 Link encap:Ethernet HWaddr 40:00:01:00:00:01 inet addr:192.168.2.50 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:63 errors:0 dropped:0 overruns:0 frame:0 TX packets:39 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:6451 (6.2 KiB) TX bytes:4520 (4.4 KiB) The above was taken _after_ applying your patch. I am using 2.4.18-rmk7-pxa3-embedix on the zaurus which comes with the current version of OpenZaurus (3.5.4). On the desktop I've got 2.6.16-gentoo-r6. So, what is holding you back from bringing this patch into mainline and marking this bug as resolved? patch is now in greg's queue, and should be in the next mm patchset |