Author Topic: Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus  (Read 24295 times)

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« on: November 29, 2005, 11:40:11 am »
Howdy,

I recently discovered that Linux Kernel 2.6.14 breaks usbnet transfers from the Zaurus.

Specifically, I was using 2.6.14-1 from the Fedora Core 4 update server with a C860.

The first problem I noticed was that my connection hung when trying to enter a certain directory using samba (while browsing from my PC).  Some directories worked fine and some hung.

I next noticed that certain file transfers would hang, regardless of the protocol (I tried scp, ftp, and samba).  Some files transferred just fine, others hung.

I eventually determined that any file with a size >= 1458 bytes would hang.  Any file with a size smaller than this transferred just fine.

Additionally, I'm assuming that the directory browsing issue is related to the number of entries in the directory and, therefore, the size of the directory contents transfer.

When I rebooted into kernel 2.6.12, everything worked fine again.

I later determined that kernel 2.6.13 is also fine.

I tried google'ing some kernel activity to try and find the cause and found some interesting stuff but nothing conclusive.  I noticed that the kernel guys are still mucking around with usbnet: they've been engaged in a massive refactoring of that module since at least 2.6.11 (which I earlier discovered completely broke connectivity with the C860).  I noticed one comment regarding the implementation of some sort of "hard mtu" feature which sounded somewhat suspicious to me.  I haven't researched this any further though so it may be a red herring.

The latest stable kernel release is 2.6.14-3 (Fedora's latest is 2.6.14-1) so it's possible it's been fixed in -2 or -3 but I haven't been able to try them and I haven't seen any patch that addresses this issue (but I haven't looked really well yet either).  The ChangeLogs for -2 and -3 don't mention anything that sounds related.

So, if you're a Linux & Zaurus user, I would recommend that you avoid 2.6.14 and try later versions with caution.

~ray

Stubear

  • Hero Member
  • *****
  • Posts: 1164
    • View Profile
    • http://
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #1 on: November 29, 2005, 09:57:02 pm »
I've been using 2.6.14 on Gentoo for about 2 weeks now and regularily copy about 500Mb to/from the Z daily using usbnet. I haven't had any problems, but I use scp and ssh rather than samba.

Did yuo roll your own kernel or are you using a stock fedora one? I always roll my own, so maybe the fedora crew left out something that needs to be in there.

Stu
SL-C1000, Hand converted to English with Japanese Input
Running X apps via X/Qt
iRiver USB host cable; Diatec P-Cord usb power cable (extendable); Acro's Reel Cable USB (A to A, B, Mini-B,  & Mini-B 8pin); GreenHouse 1Gb PicoDrive+; 2x256Mb Hagiwara SD cards; 128Mb Transcend CF card; 512Mb PQI CF card; AmbiCom WL1100C-CF 11B WLAN card

rmrfchik

  • Jr. Member
  • **
  • Posts: 90
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #2 on: November 30, 2005, 07:36:09 am »
Quote
Howdy,

I recently discovered that Linux Kernel 2.6.14 breaks usbnet transfers from the Zaurus.

[div align=\"right\"][a href=\"index.php?act=findpost&pid=105409\"][{POST_SNAPBACK}][/a][/div]
I have the same problem on debian 2.6.14. Damn.
--
pdaXrom, SL-C860, Chronos (Billionton) BT/CF, SE Z600, SD 1Gb, Debian, brain damaged.

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #3 on: November 30, 2005, 11:06:54 am »
Quote
I've been using 2.6.14 on Gentoo for about 2 weeks now and regularily copy about 500Mb to/from the Z daily using usbnet. I haven't had any problems, but I use scp and ssh rather than samba.

Did yuo roll your own kernel or are you using a stock fedora one? I always roll my own, so maybe the fedora crew left out something that needs to be in there.

Stu[div align=\"right\"][a href=\"index.php?act=findpost&pid=105502\"][{POST_SNAPBACK}][/a][/div]
Stock FC4 kernel.  scp (and ftp) failed for me in addition to samba.

It sounds like debian 2.6.14 has the same problem though.  So maybe Gentoo left the offending patch out?

~ray

7_feet_up

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • http://
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #4 on: November 30, 2005, 04:45:37 pm »
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
Zaurus SL-5600
OpenZaurus 3.5.4.2-rc2
Wireless LAN CF Card NL-2511CF MERCURY
Destinator CF GPS receiver
PEAK Compact Flash Card 512MB
SanDisk Standard SD Card 64 MB
Brandless SD Card 1 GB
Sharp Zaurus SL5500 3E-Piel Frama Luxury Black Tan leather PDA case
PSP Battery Pack PW-2992p

Hrw

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #5 on: December 01, 2005, 06:11:40 am »
You have to select one option more to get usbnet working with Zaurus.
Code: [Select]
config USB_NET_ZAURUS
        tristate "Sharp Zaurus (stock ROMs) and compatible"
        depends on USB_USBNET
        select USB_NET_CDCETHER
        select CRC32
        default y
        help
          Choose this option to support the usb networking links used by
          Zaurus models like the SL-5000D, SL-5500, SL-5600, A-300, B-500.
          This also supports some related device firmware, as used in some
          PDAs from Olympus and some cell phones from Motorola.

          If you install an alternate image, such as the Linux 2.6 based
          versions of OpenZaurus, you should no longer need to support this
          protocol.  Only the "eth-fd" or "net_fd" drivers in these devices
          really need this non-conformant variant of CDC Ethernet (or in
          some cases CDC MDLM) protocol, not "g_ether".

It's in:
- Device drivers
  - USB support
    - USB Network Adapters
      - Multi-purpose USB Networking Framework
        - Sharp Zaurus (stock ROMs) and compatible
OpenZaurus 3.5.4x Release Manager
OpenEmbedded, Ångström, Poky developer
My website

Misc embedded hardware.

rmrfchik

  • Jr. Member
  • **
  • Posts: 90
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #6 on: December 01, 2005, 07:15:35 am »
Quote
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105609\"][{POST_SNAPBACK}][/a][/div]
I rmmod zaurus, cdc_ether and usbnet and then modprobe cdc_subset. The problem remain.
--
pdaXrom, SL-C860, Chronos (Billionton) BT/CF, SE Z600, SD 1Gb, Debian, brain damaged.

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #7 on: December 01, 2005, 10:19:26 am »
Quote
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105609\"][{POST_SNAPBACK}][/a][/div]
A minor point but: If I'm not mistaken, the usbnet split happened in 2.6.11 or earlier.  2.6.11 completely broke usbnet connectivity with C860s (specifically) as a result of these changes.  (This was fixed by 2.6.12.)

~ray

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #8 on: December 01, 2005, 11:51:04 am »
Quote
You have to select one option more to get usbnet working with Zaurus.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105668\"][{POST_SNAPBACK}][/a][/div]
Fedora has always maintained support for the Zaurus by setting all of the applicable kernel configs, so I'd be surprised if they missed any new ones (although, anything's possible).  I'm running 2.6.12 here at work and it's kernel config includes:

  CONFIG_USB_ZAURUS=y
  CONFIG_USB_CDCETHER=y
  CONFIG_USB_USBNET=m

I'll check 2.6.14 later...

~ray

7_feet_up

  • Newbie
  • *
  • Posts: 27
    • View Profile
    • http://
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #9 on: December 01, 2005, 12:27:23 pm »
Quote
Quote
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105609\"][{POST_SNAPBACK}][/a][/div]
I rmmod zaurus, cdc_ether and usbnet and then modprobe cdc_subset. The problem remain.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105672\"][{POST_SNAPBACK}][/a][/div]
Your signature says you use Debian. If you use stock kernels in stead of custom ones, try linux-image-2.6.14-2, since 2.6.14-1 didn't work out of the box.
Zaurus SL-5600
OpenZaurus 3.5.4.2-rc2
Wireless LAN CF Card NL-2511CF MERCURY
Destinator CF GPS receiver
PEAK Compact Flash Card 512MB
SanDisk Standard SD Card 64 MB
Brandless SD Card 1 GB
Sharp Zaurus SL5500 3E-Piel Frama Luxury Black Tan leather PDA case
PSP Battery Pack PW-2992p

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #10 on: December 02, 2005, 04:25:59 pm »
As promised, these are the config options in FC4, 2.6.12-1.1637:

  CONFIG_USB_USBNET=m
  CONFIG_USB_NET_ZAURUS=m
  CONFIG_USB_NET_CDCETHER=m

I think that CONFIG_USB_NET_ZAURUS was the one that Hrw was concerned with and it is there.

Since my last post, Fedora has posted an updated release of 2.6.14 (2.6.14-1.1644).  The announcement only mentions security updates.  I'll install and try it a little later and post my results.

~ray

richb01906

  • Newbie
  • *
  • Posts: 1
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #11 on: December 19, 2005, 03:31:40 pm »
Quote
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105609\"][{POST_SNAPBACK}][/a][/div]

Hello,

I've tried the module manipulation but my zaurus still stalls on scp. My zaurus module shows its using cdc_ether, from I read here, I need to get it to use cdc_subset? How do I do that? Can someone recommend a build change to "adjust" this?

Thanks,

anunakin

  • Sr. Member
  • ****
  • Posts: 340
    • View Profile
    • http://vivaphp.net
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #12 on: January 09, 2006, 07:29:34 am »
Quote
Quote
The problem lies in the usbnet module. Since kernel 2.6.14 the module is split up in several sub-modules. The module needed to talk to your zaurus is now 'cdc_subset' in stead of 'usbnet'. It works perfectly fine after adjusting this.
[div align=\"right\"][a href=\"index.php?act=findpost&pid=105609\"][{POST_SNAPBACK}][/a][/div]

Hello,

I've tried the module manipulation but my zaurus still stalls on scp. My zaurus module shows its using cdc_ether, from I read here, I need to get it to use cdc_subset? How do I do that? Can someone recommend a build change to "adjust" this?

Thanks,
[div align=\"right\"][a href=\"index.php?act=findpost&pid=107660\"][{POST_SNAPBACK}][/a][/div]

You need do this:
Code: [Select]
$rmmod zaurus cdc_ether usbnet
$modprobe cdc_subset

I using Gentoo 2.6.14 (2.6.14-gentoo-r5) and my copnection stalls too.... and cdc_subset dont works too!
I'm go try 2.6.15
[img]http://www.vivaphp.net/imagens/rev2.jpg\" border=\"0\" class=\"linked-sig-image\" /]
Anunakin (Marcus Fazzi)

Nokia N900 32GB + microSD 2GB
Nokia N810 w/ microSD 8GB
Nokia 5310 XpressMusic w/ microSD 1GB
HP48GX->Psion Sienna->Palm m130->Tungsten T->Zaurus SL-5500->C3000->C3100 ALL SOLD

My FEED(On Line AGAIN!!!)

raybert

  • Full Member
  • ***
  • Posts: 233
    • View Profile
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #13 on: February 19, 2006, 12:02:48 pm »
Hi,

Has anyone managed to find a solution to this?

The suggested "modprobe cdc_subset" solution doesn't work for me.  Furthermore, from reading cdc_subset.c, it does not support the non-standard Zaurus framing, therefore it appears to me that it is not intended for the Zaurus and is NOT the solution for Sharp-ROM-based Zauriis (is it perhaps needed for OZ or others who have done away wth Sharp's non-standard implementation?).

I just realized that I forgot to follow-up on my earlier post about testing 2.6.14-1.1644 -- it didn't work.  I'm now running 2.6.15-1.1831 and it fails also.  I've been avoiding the problem by sticking with the last release that worked (2.6.13-1.1532) but I think I now need to update because of a mouse driver problem, so this issue has now been pushed back to the top of my queue.

I've been google'ing like crazy and I can find plenty of references to the 2.6.14 usbnet work but I can't (so far) find anything that addresses this problem.  Someone out there must have solved this, no???

~ray

pgas

  • Hero Member
  • *****
  • Posts: 1097
    • View Profile
    • http://
Linux Kernel 2.6.14 Breaks Usbnet Xfer From Zaurus
« Reply #14 on: February 19, 2006, 12:08:32 pm »
try this:

On the Z:
# ifconfig usbd0 mtu 576

(from https://www.oesf.org/forums/index.php?showtopic=15583
 according to this https://www.oesf.org/forums/index.php?showtopic=17006
it should be ok)
« Last Edit: February 19, 2006, 12:16:53 pm by pgas »
SLC-860 cacko / senao wifi