trouble getting hotplug to load usbdnet module
hi,
I've looked through all the docs I could find on the web, as well as doing a few searches through usenet, but wasn't able to find anything relevant to my problem. I also tried looking through the code, but it's a little over my head so I'm turning to this list as a last resort.
I'm having trouble getting hotplug to load the usbdnet kernel module when I put my pda into its usb cradle. I'm trying to follow the steps outlined in this howto (http://www.ruault.com/Zaurus/ethernet-over-usb-howto.html) which shows how to get an ethernet connection up for a pda that's connected to the host via a usb cradle. according to the howto, once I've got my kernel set up correctly all I should have to do is put the pda in the cradle and hotplug should take care of the rest. of course, it doesn't ;)
here's some background: I just updated my kernel to 2.4.19. I applied the usbdnet-2.4.19-patch.gz patch to the kernel source before compiling and made the following choices in the "USB support" section of the kernel config:
<*> Support for USB
--- Miscellaneous USB options
[*] Preliminary USB device filesystem
--- USB Host Controller Drivers
<M> EHCI HCD (USB 2.0) support (EXPERIMENTAL) <M> UHCI (Intel PIIX4, VIA, ...) support <M> UHCI Alternate Driver (JE) support <M> OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support --- USB Device Class drivers <M> USB Bluetooth support (EXPERIMENTAL) <M> USB Mass Storage support [*] USB Mass Storage verbose debug [*] Datafab MDCFE-B Compact Flash Reader support [*] Freecom USB/ATAPI Bridge support [*] ISD-200 USB/ATA Bridge support [*] Microtech CompactFlash/SmartMedia support [*] HP CD-Writer 82xx support [*] SanDisk SDDR-09 (and other SmartMedia) support [*] Lexar Jumpshot Compact Flash Reader
--- USB Human Interface Devices (HID)
<M> USB Human Interface Device (full HID) support
[*] HID input layer support
[*] /dev/hiddev raw HID device support
--- USB Network adaptors
<M> USBD Network (Encapsulated) Host-to-Host Link (EXPERIMENTAL)
(04dd) USBD Network idVendor (8004) USBD Network idProduct (0000) USBD Network Class (0000) USBD Network SubClass
I then did the usual "make clean dep bzImage modules modules_install" and copied the new image into /boot, etc. and rebooted. after the machine came back up I modprobe'd the usb-uhci module per instructions in the howto I've been following. here's the output from /var/log/messages from loading the module (since I was having trouble, I uncommented the DEBUG=yes line in both /sbin/hotplug and /etc/hotplug/usb.agent so the log output's a bit wordy):
Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: $Revision: 1.275 $ time 12:01:54 Nov 5 2002 Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: High bandwidth mode enabled Nov 6 09:09:32 ethanlinux kernel: PCI: Setting latency timer of device 00:1f.2 to 64 Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: USB UHCI at I/O 0xff80, IRQ 19 Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: Detected 2 ports Nov 6 09:09:32 ethanlinux kernel: usb.c: new USB bus registered, assigned bus number 1 Nov 6 09:09:32 ethanlinux kernel: hub.c: USB hub found Nov 6 09:09:32 ethanlinux kernel: hub.c: 2 ports detected Nov 6 09:09:32 ethanlinux kernel: PCI: Setting latency timer of device 00:1f.4 to 64 Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: USB UHCI at I/O 0xff60, IRQ 18 Nov 6 09:09:32 ethanlinux kernel: usb-uhci.c: Detected 2 ports Nov 6 09:09:32 ethanlinux /sbin/hotplug: arguments (usb) env
(PWD=/etc/hotplug HOSTNAME=ethanlinux DEVICE=/proc/bus/usb/001/001 ACTIONd DEBUG=yes MACHTYPE=i386-redhat-linux-gnu OLDPWD=/ DEVFS=/proc/bus/usb TYPE=9/0/0 SHLVL=1 SHELL=/bin/bash HOSTTYPE=i386 OSTYPE=linux-gnu HOME=/ TERM=dumb PATH=/bin:/sbin:/usr/sbin:/usr/bin PRODUCT=0/0/0 _=/usr/bin/env)
Nov 6 09:09:32 ethanlinux /sbin/hotplug: invoke /etc/hotplug/usb.agent () Nov 6 09:09:33 ethanlinux /etc/hotplug/usb.agent: ... no drivers for USB product 0/0/0 Nov 6 09:09:33 ethanlinux kernel: usb.c: new USB bus registered, assigned bus number 2 Nov 6 09:09:33 ethanlinux kernel: hub.c: USB hub found Nov 6 09:09:33 ethanlinux kernel: hub.c: 2 ports detected Nov 6 09:09:33 ethanlinux kernel: usb-uhci.c: v1.275:USB Universal Host Controller Interface driver Nov 6 09:09:33 ethanlinux /sbin/hotplug: arguments (usb) env
(PWD=/etc/hotplug HOSTNAME=ethanlinux DEVICE=/proc/bus/usb/002/001 ACTIONd DEBUG=yes MACHTYPE=i386-redhat-linux-gnu OLDPWD=/ DEVFS=/proc/bus/usb TYPE=9/0/0 SHLVL=1 SHELL=/bin/bash HOSTTYPE=i386 OSTYPE=linux-gnu HOME=/ TERM=dumb PATH=/bin:/sbin:/usr/sbin:/usr/bin PRODUCT=0/0/0 _=/usr/bin/env)
Nov 6 09:09:33 ethanlinux /sbin/hotplug: invoke /etc/hotplug/usb.agent () Nov 6 09:09:33 ethanlinux /etc/hotplug/usb.agent: ... no drivers for USB product 0/0/0 Nov 6 09:09:33 ethanlinux kernel: hub.c: USB new device connect on bus1/1, assigned device number 2 Nov 6 09:09:33 ethanlinux kernel: usb.c: USB device 2 (vend/prod 0x4e6/0x325) is not claimed by any active driver. Nov 6 09:09:33 ethanlinux /sbin/hotplug: arguments (usb) env
(PWD=/etc/hotplug HOSTNAME=ethanlinux DEVICE=/proc/bus/usb/001/002 INTERFACE=8/6/80 ACTIONd DEBUG=yes MACHTYPE=i386-redhat-linux-gnu OLDPWD=/ DEVFS=/proc/bus/usb TYPE=0/0/0 SHLVL=1 SHELL=/bin/bash HOSTTYPE=i386 OSTYPE=linux-gnu HOME=/ TERM=dumb PATH=/bin:/sbin:/usr/sbin:/usr/bin PRODUCTN6/325/507 _=/usr/bin/env)
Nov 6 09:09:33 ethanlinux /sbin/hotplug: invoke /etc/hotplug/usb.agent () Nov 6 09:09:33 ethanlinux /etc/hotplug/usb.agent: ... no drivers for USB
product 4e6/325/507
now, according to the howto I should be able to just pop my pda into the cradle and hotplug will take care of loading the usbdnet module. here's what I get in /var/log/messages when I put the pda into the cradle (the pda is turned on when I do this):
Nov 6 09:16:15 ethanlinux kernel: hub.c: USB new device connect on bus1/2, assigned device number 3 Nov 6 09:16:15 ethanlinux kernel: usb-uhci.c: interrupt, status 2, frame# 1607 Nov 6 09:16:15 ethanlinux kernel: usb.c: USB device not accepting new address=3 (error=-110) Nov 6 09:16:16 ethanlinux kernel: hub.c: USB new device connect on bus1/2, assigned device number 4 Nov 6 09:16:16 ethanlinux kernel: usb.c: USB device not accepting new
address=4 (error=-110)
doing an lsmod, the only usb-related module loaded is usb-uhci, which I loaded myself. per the debugging steps listed on the hotplug website, I looked in /lib/modules/2.4.19/modules.usbmap to see if there was an entry for usbdnet and found this:
usbdnet 0x0193 0x04dd 0x8004 0x0000 0x0000
0x
02 0x00 0x00 0x00 0x00
0x
00 0x00000000
I have no idea what it means, but it's got the right vendor id and product id so I'm assuming it's okay. I also tried dumping the environment from /sbin/hotplug to a file. the following output is generated when I already have the pda in the cradle and then modprobe usb-uhci:
PWD=/etc/hotplug
HOSTNAME=ethanlinux
DEVICE=/proc/bus/usb/001/002
INTERFACE=8/6/80
ACTIONd
DEBUG=yes
MACHTYPE=i386-redhat-linux-gnu
OLDPWD=/
DEVFS=/proc/bus/usb
TYPE=0/0/0
SHLVL=1
SHELL=/bin/bash
HOSTTYPE=i386
OSTYPE=linux-gnu
HOME=/
TERM=dumb
PATH=/bin:/sbin:/usr/sbin:/usr/bin
PRODUCTN6/325/507
_=/usr/bin/env
if it matters, I have another usb devide (a compact flash card reader) connected to the same machine. hotplug doesn't seem to work for that one either, as I have to manually modprobe the usb-storage module before I can mount the cf card after I pop one into the reader. not sure if that's related or not.
I'm not sure where to go from here. I'd appreciate any more debugging ideas or someone pointing out something obvious that I failed to do.
thanks,
e
-------------------------------------------------------
This sf.net email is sponsored by: See the NEW Palm Tungsten T handheld. Power & Color in a compact size!
http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 3 lines · Ethan Vonderweid
I'm having trouble getting hotplug to load the usbdnet kernel module when I put my pda into its usb cradle.
Those "device not accepting address" errors indicate pre-hotplug problems with your USB setup. Did you try the "uhci" driver? It might not have that "device not accepting address" error. Is the AC adapter hooked up to your Zaurus? I don't think the SA-1100 can be bus-powered. Did you try using the port which does seem to be working (for your CF adapter)?
In any case, that's likely the reason you're not having success:
hotplug can't kick in until _after_ USB itself is working, but so far it isn't.
If usb-storage doesn't hotplug for you, but works, I'd also have to suspect something odd about your hotplug setup. But at least it looks like that device talked to USB.
Also, try skipping "usbdnet": use the original "usbnet" driver, which has finally gotten the (small) patch needed to teach it how to use the protocol your Zaurus expects. Use on 2.4.20-rc1:
http://marc.theaimsgroup.com/?l=linux-usb-devel&m3679596705336&w=2
With that patch, "usbnet" now handles all the common Linux PDAs:
iPaq and Yopy (using standard ARM Linux kernels and "usb-eth"), also Zaurus (using the Lineo kernel and "eth-fd").
- Dave
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel