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.
drivers/usb/usbnet.c has USB_DEVICE_ID_MATCH_INT_INFO set for Zaurus devices: { .match_flags = USB_DEVICE_ID_MATCH_INT_INFO | USB_DEVICE_ID_MATCH_DEVICE, .idVendor = 0x04DD, .idProduct = 0x8004, .bInterfaceClass = 0x0a, .bInterfaceSubClass = 0x00, .bInterfaceProtocol = 0x00, .driver_info = (unsigned long) &zaurus_sl5x00_info, } ... I use hotplug, and the modules.usbmap derived from the above entry. On my system, /sbin/hotplug is not called with an INTERFACE= argument. /sbin/hotplug: arguments (usb) env (PWD=/etc/hotplug DEVICE=/proc/bus/usb/002/002 ACTION=add DEBUG=yes OLDPWD=/ DEVFS=/proc/bus/usb TYPE=2/0/0 SHLVL=1 HOME=/ PATH=/bin:/sbin:/usr/sbin:/usr/bin PRODUCT=4dd/8004/0 _=/usr/bin/env) 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. 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. After the following change, it works well. Is this an error in usbnet.c, or do I have something else that is old or mis-configured? -- Don Reid --------------------------------------------------------------------- --- usbnet.c.orig 2003-11-15 09:23:07.000000000 -0800 +++ usbnet.c 2003-11-15 09:23:52.000000000 -0800 @@ -2376,8 +2376,7 @@ * Same idea as above, but different framing. */ { - .match_flags = USB_DEVICE_ID_MATCH_INT_INFO - | USB_DEVICE_ID_MATCH_DEVICE, + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, .idVendor = 0x04DD, .idProduct = 0x8004, .bInterfaceClass = 0x0a, @@ -2385,8 +2384,7 @@ .bInterfaceProtocol = 0x00, .driver_info = (unsigned long) &zaurus_sl5x00_info, }, { - .match_flags = USB_DEVICE_ID_MATCH_INT_INFO - | USB_DEVICE_ID_MATCH_DEVICE, + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, .idVendor = 0x04DD, .idProduct = 0x8005, .bInterfaceClass = 0x02, @@ -2394,8 +2392,7 @@ .bInterfaceProtocol = 0x00, .driver_info = (unsigned long) &zaurus_sla300_info, }, { - .match_flags = USB_DEVICE_ID_MATCH_INT_INFO - | USB_DEVICE_ID_MATCH_DEVICE, + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, .idVendor = 0x04DD, .idProduct = 0x8006, .bInterfaceClass = 0x02, @@ -2403,8 +2400,7 @@ .bInterfaceProtocol = 0x00, .driver_info = (unsigned long) &zaurus_slb500_info, }, { - .match_flags = USB_DEVICE_ID_MATCH_INT_INFO - | USB_DEVICE_ID_MATCH_DEVICE, + .match_flags = USB_DEVICE_ID_MATCH_DEVICE, .idVendor = 0x04DD, .idProduct = 0x8007, .bInterfaceClass = 0x02, ------------------------------------------------------- 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