Re: Re: Reliable unreliability with D-Link DWL-122 USB

Dave Jenkins <[email protected]>
Newsgroups gmane.linux.linux-wlan.user
Message-ID <[email protected]>
--- [email protected] wrote:
> From your summary of events, it looks to me as if you
> have something in your bootup scripts that is
> loading the prism2_usb module manually and
> then bringing up the hardware (i.e. firmware upload,
> autojoin etc etc), and that this is happening ahead
> of the hotplug (or more likely coldplug of the pci bus)
> events.

I'm not aware of having set this up, and grep doesn't reveal any
references to prism2 or wlan in /etc/init.d (except for the default
wlan script, which isn't symlinked in any of the rc.x directories). I
still have no execute permissions on /etc/hotplug/usb.rc .

There is some non-usb-related hotplug activity before the first mention
of prism2_usb in the log: module/driver adds for i2c stuff. In my
overzealous abridging of the log as I was trying to make sense of it, I
missed out some of the early stages. Here's more detail of the start.

  [ syslogd restart, klogd, RAM, PCI resources, CPU, lm_sensors,
    SELinux, PCI, ACPI, pnp ]
pnp: PnP ACPI: found 12 devices
kernel: usbcore: registered new driver usbfs
kernel: usbcore: registered new driver hub
  [ Then various pci, pnp, apm stuff ]
kernel: pci_hotplug: PCI Hot Plug PCI Core version: 0.5
  [ Then acpi, isapnp, agpgart, ide... ]
kernel: usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
  [ Then hci, md ]
kernel: NET: Registered protocol family 2 [then 1, 17]
  [ Then IP, TCP, IPsec ]
kernel: ACPI wakeup devices:
kernel: SLPB PCI0 USB0 USB1 USB2 USB6 USB7 USB8 USB9 LAN0 UAR1 ECP1
  [ Then device-mapper, kjournald ]
  [ Next come lots of i2c-related hotplug add events, e.g. ...]
default.hotplug[4122]: arguments (module) env (SUBSYSTEM=module
OLDPWD=/ DEVPATH=/module/i2c_isa PATH=/bin:/sbin:/usr/sbin:/usr/bin
ACTION=add PWD=/etc/hotplug HOME=/ SHLVL=2 DEBUG=yes SEQNUM=608
_=/bin/env)
  [ Then floppy, then eth0 driver (onboard) ]
kernel: prism2usb_init: prism2_usb.o: 0.2.1-pre26 Loaded
kernel: prism2usb_init: dev_info is: prism2_usb
usbcore: registered new driver prism2_usb
  [ Then ACPI/PCI IRQ stuff ]
kernel: ehci_hcd 0000:00:10.3: EHCI Host Controller [& bus, hub]
kernel: USB Universal Host Controller Interface driver v2.2 [& bus,
hub]
kernel: usb 2-1: new full speed USB device using uhci_hcd and address 2
  [ Then firmware upload, linkstatus=CONNECTED. ]

I'm still not sure quite how the prism2_usb initialisation is
triggered, but it happens amidst lots of other hardware initialisation
and immediately after eth0. Neither eth0 nor wlan0 is set to start on
boot in /etc/sysconfig .

> My guess is that the hotplug event
> with DEVPATH=/devices/pci0000:00/0000:00:10.0/usb2/2-0:1.0
> looks up (from /sys/$DEVPATH) vendorString and other
> attributes in the usb.agent script. The fact that
> this lookup is happening AFTER your prism card is already
> with 'linkstatus=CONNECTED' could be your downfall!

Yes, that seems likely.

> [What I don't understand is how you get two 'net.agent'
> related hotplug events. In my understanding you should only
> ever get one of these when the prism2_usb driver first
> 'claims' the prism card - but I don't think its that important to
> this discussion.]

On closer inspection I actually get three: one each for eth0, wlan0,
sit0.

> In my system, I have nothing in my boot scripts to try and bring up
> the card - I rely purely on hotplug.

I _thought_ that's what I was doing! :-)

> Overall, the easiest workaround, is to put a sleep in somewhere to
> delay the card being setup.

Yes, I've always thought a long sleep is the best solution!

Thanks again,

Dave


		
___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.