I think I have found an error in the usbnet.c included in Linux 2.4.22.
My Zaurus won't connect unless I modify this file.
Looks to me like it should work just fine -- except that hotplug won't load the module automatically because:
On my system, /sbin/hotplug is not called with an INTERFACE= argument.
/sbin/hotplug: arguments (usb) env (... TYPE=2/0/0 ...)
Which, by the way, is a lie. The device is NOT conformant with the CDC Ethernet class, even though it claims to be; it uses an encapsulation that's explicitly forbidden. (Which is why you can't use the CDCEther driver with it.)
Thus this never matches.
It appears from the code in usb.c that there will only be an INTERFACE= argument if the class is 0, which it isn't.
That seems like the root cause here. Of course it's been that way for several years now. That restriction to zero (USB_CLASS_PER_INTERFACE) should probably be removed ... in fact I thought that 2.6 had already removed it, but I see it hasn't. Try removing that.
I'm assuming that some bug in the hotplug scripts, since fixed, covered up this problem. I'm pretty sure I've seen Zaurii use hotplug to load "usbnet" before.
This module (usbnet) seems to be the only one in the usb group that sets this flag. The macros in linux/usb.h only set one flag or another, not two.
In this case, it's necessary to restrict the probing to just the "cdc" control interface -- and only on those particular devices, all of which are non-conformant.
- Dave
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel