Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 50128 - PCMCIA and Hotplug race condition to start network results in start failure. noticed with linux-wlan-ng
Summary: PCMCIA and Hotplug race condition to start network results in start failure. ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-05-05 13:01 UTC by Jason Andryuk
Modified: 2004-11-10 11:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
patch allowing a network service to be brought up if it has already failed (rc-services.sh.patch,311 bytes, patch)
2004-05-05 13:08 UTC, Jason Andryuk
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Andryuk 2004-05-05 13:01:34 UTC
The problem is with a pcmcia prism2 based wireless network card using the linmux-wlan-ng drivers.  The interface is not started at boot, but it works if I eject and re-insert.

The problem as far as I can determine is as follows.

1. pcmcia starts and detects card.
2. cardmgr modprobes driver.
3. driver load fires hotplug event for net device calling /etc/init.d/net.wlan0
4. dhcpcd fails with dhcpcd[11844]: dhcpStart: ioctl SIOCSIFFLAGS: No such de
vice (this is because the wlan-ng pcmcia scripts has not finished setting up the card)
5. pcmcia continues setting up card, downloading firmware, configuring wireless settings from /etc/pcmcia/wlan-ng script
6. /etc/pcmcia/wlan-ng calls /etc/init.d/net.wlan0
7. /etc/init.d/net.wlan0 fails and the card is not brought up.  (Wireless settings are correct though)

The fail in /etc/init.d/net.wlan0 is because the script failed to start earlier.    The second call to /etc/init.d/net.wlan0 fails at the call to service_failed() in file /lib/rcscipts/sh/rc-services.sh.  service_failed() is called from /sbin/runscript.sh in svc_start()



Reproducible: Always
Steps to Reproduce:
1. Boot with pcmcia prism2 wireless card and watch it fail
2.
3.

Actual Results:  
network interface is not brought up

Expected Results:  
network interface is brought up

kernel-2.6.5
baselayout-1.8.11

I have a trace of some of the logs from boot (I changed the service order to  
start the logger before the other stuff) with a bunch of debugging enabled.  The
logs have a very early failure for /etc/init.d/net.wlan0 start, and that has to
be from the hotplug net.agent.  I made net.agent and net.wlan0 print out the
time it was called, and it corresponds to shortly after the driver is inserted.

/var/log/hotplug:
Wed May 5 12:27:59 EDT 2004: net.agent called for wlan0
Wed May 5 12:28:00 EDT 2004: net.wlan0 called
Wed May 5 12:28:00 EDT 2004: net.wlan0 called
Wed May 5 12:28:00 EDT 2004: net.wlan0 start called
Wed May 5 12:28:06 EDT 2004: net.agent called for eth0
Wed May 5 12:28:06 EDT 2004: net.agent called for wlan0
Wed May 5 12:28:07 EDT 2004: net.wlan0 called
Wed May 5 12:28:07 EDT 2004: net.wlan0 called
Wed May 5 12:28:07 EDT 2004 net.eth0 start
Wed May 5 12:28:08 EDT 2004: net.wlan0 called
Wed May 5 12:28:08 EDT 2004: net.wlan0 called

/var/log/message:
May  5 12:27:58 beowulf cardmgr[11761]: watching 2 sockets
May  5 12:27:58 beowulf cs: IO port probe 0x0c00-0x0cff: clean.
May  5 12:27:58 beowulf cs: IO port probe 0x0800-0x08ff: clean.
May  5 12:27:58 beowulf cs: IO port probe 0x0100-0x04ff: excluding 0x130-0x137
0x200-0x207 0x3b8-0x3df 0x4d0-0
x4d7
May  5 12:27:58 beowulf cs: IO port probe 0x0a00-0x0aff: clean.
May  5 12:27:58 beowulf cardmgr[11761]: starting, version is 3.2.5
May  5 12:27:59 beowulf cardmgr[11761]: socket 0: NETGEAR MA401RA 11Mbps 802.11
WLAN Card
May  5 12:27:59 beowulf cs: memory probe 0xa0000000-0xa0ffffff: clean.
May  5 12:27:59 beowulf cardmgr[11761]: executing: 'modprobe prism2_cs'
May  5 12:27:59 beowulf prism2_cs: no version for "p80211netdev_rx" found:
kernel tainted.
May  5 12:27:59 beowulf prism2cs_init: prism2_cs.o: 0.2.1-pre20 Loaded
May  5 12:27:59 beowulf prism2cs_init: dev_info is: prism2_cs
May  5 12:27:59 beowulf prism2_cs: index 0x01: Vcc 5.0, irq 3, io 0x0180-0x01bf
May  5 12:27:59 beowulf cardmgr[11761]: executing: './wlan-ng start wlan0'
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' '!' -f /etc/wlan/shared ']'
May  5 12:28:00 beowulf cardmgr[11761]: + + . /etc/wlan/shared
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' '!' -n '' ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ ECHO=echo
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' -x /sbin/modprobe ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ MODPROBE=/sbin/modprobe
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' -x /sbin/wlanctl-ng ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ WLANCTL=/sbin/wlanctl-ng
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' -x /sbin/wland ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ WLAND=/sbin/wland
May  5 12:28:00 beowulf cardmgr[11761]: + +++ cat /proc/sys/kernel/hotplug
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' -f /proc/sys/kernel/hotplug -a
-x /sbin/hotplug -a -f /etc/hotplug/wlan.agent ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ HAS_HOTPLUG=n
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' -f /etc/conf.d/wlan.conf ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ . /etc/conf.d/wlan.conf
May  5 12:28:00 beowulf cardmgr[11761]: + +++ WLAN_DEVICES=wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + +++
ChannelList=01:02:03:04:05:06:07:08:09:0a:0b:00:00:00
May  5 12:28:00 beowulf cardmgr[11761]: + +++ ChannelMinTime=200
May  5 12:28:00 beowulf cardmgr[11761]: + +++ ChannelMaxTime=250
May  5 12:28:00 beowulf cardmgr[11761]: + +++ WLAN_SCAN=n
May  5 12:28:00 beowulf cardmgr[11761]: + +++ SSID_wlan0=vietnow
May  5 12:28:00 beowulf cardmgr[11761]: + +++ ENABLE_wlan0=y
May  5 12:28:00 beowulf cardmgr[11761]: + ++ . /etc/wlan/shared.prism2
May  5 12:28:00 beowulf cardmgr[11761]: + +++ PRISM2DL=/sbin/prism2dl
May  5 12:28:00 beowulf cardmgr[11761]: + ++ FIRMWARE_DIR=/etc/wlan/
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' 2 -lt 2 ']'
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' -f /etc/pcmcia/shared ']'
May  5 12:28:00 beowulf cardmgr[11761]: + + . /etc/pcmcia/shared
May  5 12:28:00 beowulf dhcpcd[11844]: dhcpStart: ioctl SIOCSIFFLAGS: No such device
May  5 12:28:00 beowulf cardmgr[11761]: + ++ '[' 2 -lt 2 ']'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ ACTION=start
May  5 12:28:00 beowulf cardmgr[11761]: + ++ DEVICE=wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + ++ NEW_SCHEME=
May  5 12:28:00 beowulf rc-scripts: Failed to bring wlan0 up
May  5 12:28:00 beowulf cardmgr[11761]: + + eval 'WLAN_ENABLE=$ENABLE_wlan0'
May  5 12:28:00 beowulf cardmgr[11761]: + ++ WLAN_ENABLE=y
May  5 12:28:00 beowulf cardmgr[11761]: + + is_true y
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' y = y -o y = Y -o y = yes -o y =
YES ']'
May  5 12:28:00 beowulf cardmgr[11761]: + + is_true
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' '' = y -o '' = Y -o '' = yes -o
'' = YES ']'
May  5 12:28:00 beowulf cardmgr[11761]: + + wlan_enable wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + + /sbin/modprobe wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + + ifconfig wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + ++ wlan_nsdname wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + ++ grep 'nsd name'
/proc/net/p80211/wlan0/wlandev
May  5 12:28:00 beowulf cardmgr[11761]: + ++ sed -e 's/.*: \(.*\)_.*/\1/'
May  5 12:28:00 beowulf cardmgr[11761]: + + nsdname=prism2
May  5 12:28:00 beowulf cardmgr[11761]: + + prism2_fwload wlan0
May  5 12:28:00 beowulf cardmgr[11761]: + + '[' '!' -x /sbin/prism2dl ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + /sbin/wlanctl-ng wlan0
lnxreq_ifstate ifstate=fwload
May  5 12:28:01 beowulf cardmgr[11761]: + message=lnxreq_ifstate
May  5 12:28:01 beowulf cardmgr[11761]: +   ifstate=fwload
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/prism2dl -s wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + ++ grep 0x0008
May  5 12:28:01 beowulf cardmgr[11761]: + ++ cut -c26-29
May  5 12:28:01 beowulf PDA Read from 0x007f0000 in NV space.
May  5 12:28:01 beowulf cardmgr[11761]: + + HARDWARE=800c
May  5 12:28:01 beowulf cardmgr[11761]: + + /sbin/prism2dl -r
/etc/wlan//prism2_ak.hex -r /etc/wlan//prism2_rf.hex wlan0
May  5 12:28:01 beowulf PDA Read from 0x007f0000 in EXTDS space.
May  5 12:28:01 beowulf cardmgr[11761]: + prism2dl: No such file or directory
May  5 12:28:01 beowulf cardmgr[11761]: + prism2dl: Failed to read
/etc/wlan//prism2_ak.hex, exiting.
May  5 12:28:01 beowulf cardmgr[11761]: + Reading S-record file
/etc/wlan//prism2_ak.hex...
May  5 12:28:01 beowulf cardmgr[11761]: + + return 0
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
lnxreq_ifstate ifstate=enable
May  5 12:28:01 beowulf ident: nic h/w: id=0x800c 1.0.0
May  5 12:28:01 beowulf ident: pri f/w: id=0x15 1.0.7
May  5 12:28:01 beowulf ident: sta f/w: id=0x1f 1.3.6
May  5 12:28:01 beowulf MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1
May  5 12:28:01 beowulf CFI:SUP:role=0x00:id=0x02:var=0x02:b/t=1/1
May  5 12:28:01 beowulf PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=4/4
May  5 12:28:01 beowulf STA:SUP:role=0x00:id=0x04:var=0x01:b/t=1/9
May  5 12:28:01 beowulf PRI-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
May  5 12:28:01 beowulf STA-CFI:ACT:role=0x01:id=0x02:var=0x02:b/t=1/1
May  5 12:28:01 beowulf STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1
May  5 12:28:01 beowulf Prism2 card SN: 99SA01000000
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=lnxreq_ifstate
May  5 12:28:01 beowulf cardmgr[11761]: +   ifstate=enable
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' 0 = 0 ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + eval message=lnxreq_ifstate
ifstate=enable resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ message=lnxreq_ifstate
May  5 12:28:01 beowulf cardmgr[11761]: + ++ ifstate=enable
May  5 12:28:01 beowulf cardmgr[11761]: + ++ resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' success '!=' success ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + prism2_mibset wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + return 0
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_supports_scan wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + is_true n
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' n = y -o n = Y -o n = yes -o n =
YES ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + return 1
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' 1 = 0 ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_source_config wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + eval 'GOSSID="$SSID_wlan0"'
May  5 12:28:01 beowulf cardmgr[11761]: + ++ GOSSID=vietnow
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_source_config_for_ssid vietnow
May  5 12:28:01 beowulf cardmgr[11761]: + + DesiredSSID=vietnow
May  5 12:28:01 beowulf cardmgr[11761]: + + DesiredBSSID=
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' -n '' ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' -f /etc/conf.d/wlancfg-vietnow: ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' -f /etc/conf.d/wlancfg-vietnow ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + . /etc/conf.d/wlancfg-vietnow
May  5 12:28:01 beowulf cardmgr[11761]: + ++ lnxreq_hostWEPEncrypt=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ lnxreq_hostWEPDecrypt=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11PrivacyInvoked=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11WEPDefaultKeyID=0
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11ExcludeUnencrypted=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ PRIV_GENERATOR=/sbin/keygen
May  5 12:28:01 beowulf cardmgr[11761]: + ++ PRIV_KEY128=false
May  5 12:28:01 beowulf cardmgr[11761]: + ++ PRIV_GENSTR=
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11WEPDefaultKey0=<mywepkey>
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11WEPDefaultKey1=
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11WEPDefaultKey2=
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11WEPDefaultKey3=
May  5 12:28:01 beowulf cardmgr[11761]: + ++ IS_ADHOC=n
May  5 12:28:01 beowulf cardmgr[11761]: + ++ AuthType=opensystem
May  5 12:28:01 beowulf cardmgr[11761]: + ++ BCNINT=100
May  5 12:28:01 beowulf cardmgr[11761]: + ++ CHANNEL=6
May  5 12:28:01 beowulf cardmgr[11761]: + ++ BASICRATES=2 4
May  5 12:28:01 beowulf cardmgr[11761]: + ++ OPRATES=2 4 11 22
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_user_mibs wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_wep wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' true = false ']'
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibget mibattribute=dot11PrivacyOptionImplemented
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=dot11req_mibget
May  5 12:28:01 beowulf cardmgr[11761]: +  
mibattribute=dot11PrivacyOptionImplemented=true
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' 0 = 0 ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + eval message=dot11req_mibget
mibattribute=dot11PrivacyOptionImplemented=true resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ message=dot11req_mibget
May  5 12:28:01 beowulf cardmgr[11761]: + ++
mibattribute=dot11PrivacyOptionImplemented=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + + eval dot11PrivacyOptionImplemented=true
May  5 12:28:01 beowulf cardmgr[11761]: + ++ dot11PrivacyOptionImplemented=true
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' true = false ']'
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
lnxreq_hostwep decrypt=true encrypt=true
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=lnxreq_hostwep
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=no_value
May  5 12:28:01 beowulf cardmgr[11761]: +   decrypt=true
May  5 12:28:01 beowulf cardmgr[11761]: +   encrypt=true
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' true = true -a true = true ']'
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11WEPDefaultKeyID=0
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +   mibattribute=dot11WEPDefaultKeyID=0
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11ExcludeUnencrypted=true
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +  
mibattribute=dot11ExcludeUnencrypted=true
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11PrivacyInvoked=true
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +   mibattribute=dot11PrivacyInvoked=true
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' empty '!=' empty ']'
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11WEPDefaultKey0=<mywepkey>
May  5 12:28:01 beowulf cardmgr[11761]: + + result=message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +  
mibattribute=dot11WEPDefaultKey0=<mywepkey>
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=success
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11WEPDefaultKey1=
May  5 12:28:01 beowulf cardmgr[11761]: + +
result=mibattribute="data_string_too_short"
May  5 12:28:01 beowulf cardmgr[11761]: + message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +   mibattribute=data_string_too_short
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=no_value
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11WEPDefaultKey2=
May  5 12:28:01 beowulf cardmgr[11761]: + +
result=mibattribute="data_string_too_short"
May  5 12:28:01 beowulf cardmgr[11761]: + message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +   mibattribute=data_string_too_short
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=no_value
May  5 12:28:01 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
dot11req_mibset mibattribute=dot11WEPDefaultKey3=
May  5 12:28:01 beowulf cardmgr[11761]: + +
result=mibattribute="data_string_too_short"
May  5 12:28:01 beowulf cardmgr[11761]: + message=dot11req_mibset
May  5 12:28:01 beowulf cardmgr[11761]: +   mibattribute=data_string_too_short
May  5 12:28:01 beowulf cardmgr[11761]: +   resultcode=no_value
May  5 12:28:01 beowulf cardmgr[11761]: + + is_true n
May  5 12:28:01 beowulf cardmgr[11761]: + + '[' n = y -o n = Y -o n = yes -o n =
YES ']'
May  5 12:28:01 beowulf cardmgr[11761]: + + wlan_infra wlan0
May  5 12:28:01 beowulf cardmgr[11761]: + + sleep 5
May  5 12:28:06 beowulf cardmgr[11761]: + ++ /sbin/wlanctl-ng wlan0
lnxreq_autojoin ssid=vietnow authtype=open system
May  5 12:28:07 beowulf cardmgr[11761]: + ++ sed 's/\([^=]*\)=\(.*\)/\1="\2"/'
May  5 12:28:07 beowulf cardmgr[11761]: + + results=message="lnxreq_autojoin"
May  5 12:28:07 beowulf cardmgr[11761]: +   ssid="'vietnow'"
May  5 12:28:07 beowulf cardmgr[11761]: +   authtype="opensystem"
May  5 12:28:07 beowulf cardmgr[11761]: +   resultcode="success"
May  5 12:28:07 beowulf cardmgr[11761]: + + eval 'message="lnxreq_autojoin"'
'ssid="'\''vietnow'\''"' 'authtype="opensystem"' 'resultcode="success"'
May  5 12:28:07 beowulf cardmgr[11761]: + ++ message=lnxreq_autojoin
May  5 12:28:07 beowulf cardmgr[11761]: + ++ ssid='vietnow'
May  5 12:28:07 beowulf cardmgr[11761]: + ++ authtype=opensystem
May  5 12:28:07 beowulf cardmgr[11761]: + ++ resultcode=success
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' success '!=' success ']'
May  5 12:28:07 beowulf cardmgr[11761]: + + WLAN_SCHEMESSID=vietnow
May  5 12:28:07 beowulf cardmgr[11761]: + + wlan_set_ssid_schemefile vietnow
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' -r /var/lib/misc/pcmcia-scheme ']'
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' -d /var/state/pcmcia ']'
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' -d /var/lib/pcmcia ']'
May  5 12:28:07 beowulf cardmgr[11761]: + + WLAN_SCHEMEFILE=/var/run/pcmcia-scheme
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' -r /var/run/pcmcia-scheme ']'
May  5 12:28:07 beowulf linkstatus=CONNECTED
May  5 12:28:07 beowulf cardmgr[11761]: + ++ cat /var/run/pcmcia-scheme
May  5 12:28:07 beowulf cardmgr[11761]: + + WLAN_SCHEME=home
May  5 12:28:07 beowulf cardmgr[11761]: + ++ date +%T
May  5 12:28:07 beowulf cardmgr[11761]: + + cp /var/run/pcmcia-scheme
/tmp/wlan_scheme_12:28:07.tmp
May  5 12:28:07 beowulf cardmgr[11761]: + + '[' '!' home ']'
May  5 12:28:07 beowulf cardmgr[11761]: + + WLAN_SCHEME=home:vietnow
May  5 12:28:07 beowulf cardmgr[11761]: + + echo home:vietnow
May  5 12:28:07 beowulf cardmgr[11761]: + + ./network start wlan0
May  5 12:28:08 beowulf cardmgr[11761]: + + retval=0
May  5 12:28:08 beowulf cardmgr[11761]: + + rm -f /var/lib/init.d/net.wlan0-11995
May  5 12:28:08 beowulf cardmgr[11761]: + + return 0
May  5 12:28:08 beowulf cardmgr[11761]: + + opts=start stop restart
May  5 12:28:08 beowulf cardmgr[11761]: + + source /etc/init.d/net.wlan0
May  5 12:28:08 beowulf cardmgr[11761]: + ++ set -x
May  5 12:28:08 beowulf cardmgr[11761]: + +++ date
May  5 12:28:08 beowulf cardmgr[11761]: + ++ TIME=Wed May  5 12:28:08 EDT 2004
May  5 12:28:08 beowulf cardmgr[11761]: + ++ echo Wed May 5 12:28:08 EDT 2004:
net.wlan0 called
May  5 12:28:08 beowulf cardmgr[11761]: + + '[' -z 'start stop restart' ']'
May  5 12:28:08 beowulf cardmgr[11761]: + + shift
May  5 12:28:08 beowulf cardmgr[11761]: + + '[' 2 -lt 1 ']'
May  5 12:28:08 beowulf cardmgr[11761]: + + RC_QUIET_STDOUT=yes
May  5 12:28:08 beowulf cardmgr[11761]: + + svc_start
May  5 12:28:08 beowulf cardmgr[11761]: + + local retval=0
May  5 12:28:08 beowulf cardmgr[11761]: + + local startfail=no
May  5 12:28:08 beowulf cardmgr[11761]: + + local x=
May  5 12:28:08 beowulf cardmgr[11761]: + + local y=
May  5 12:28:08 beowulf cardmgr[11761]: + + local myserv=
May  5 12:28:08 beowulf cardmgr[11761]: + + local ordservice=
May  5 12:28:08 beowulf cardmgr[11761]: + + service_started net.wlan0
May  5 12:28:08 beowulf cardmgr[11761]: + + '[' -z net.wlan0 ']'
May  5 12:28:08 beowulf cardmgr[11761]: + + '[' -L
/var/lib/init.d/started/net.wlan0 ']'
May  5 12:28:08 beowulf cardmgr[11761]: + + return 1
May  5 12:28:08 beowulf cardmgr[11761]: + + is_runlevel_start
May  5 12:28:08 beowulf cardmgr[11761]: + + '[' -d
/var/lib/init.d/softscripts.old ']'
May  5 12:28:08 beowulf cardmgr[11761]: + + return 0
May  5 12:28:09 beowulf cardmgr[11761]: + + service_failed net.wlan0
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -z net.wlan0 ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -L
/var/lib/init.d/failed/net.wlan0 ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + return 0
May  5 12:28:09 beowulf cardmgr[11761]: + + exit 1
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' 1 = 1 ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + wlan_restore_schemefile
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -r /var/lib/misc/pcmcia-scheme ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -d /var/state/pcmcia ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -d /var/lib/pcmcia ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + WLAN_SCHEMEFILE=/var/run/pcmcia-scheme
May  5 12:28:09 beowulf cardmgr[11761]: + ++ ls /tmp/wlan_scheme_00:01:13.tmp
/tmp/wlan_scheme_12:28:07.tmp
May  5 12:28:09 beowulf cardmgr[11761]: + ++ tail -n 1
May  5 12:28:09 beowulf cardmgr[11761]: + + TMPFILE=/tmp/wlan_scheme_12:28:07.tmp
May  5 12:28:09 beowulf cardmgr[11761]: + + '[' -r /tmp/wlan_scheme_12:28:07.tmp ']'
May  5 12:28:09 beowulf cardmgr[11761]: + + cat /tmp/wlan_scheme_12:28:07.tmp
May  5 12:28:09 beowulf cardmgr[11761]: + + rm -f /tmp/wlan_scheme_12:28:07.tmp
May  5 12:28:09 beowulf cardmgr[11761]: + + exit 1
May  5 12:28:09 beowulf cardmgr[11761]: start cmd exited with status 1
Comment 1 Jason Andryuk 2004-05-05 13:08:39 UTC
Created attachment 30796 [details, diff]
patch allowing a network service to be brought up if it has already failed

This patch allows network interfaces to brought up more than once if they fail
to be brought up.  However, this could potentially be a bad idea.  Can an
infinite loop be started by this?  Boot tries to continuously bring up an
interface?

Otherwise some provision needs to be made to allow an interface to be brought
up since we can't really stop hotplug, can we?
Comment 2 Jason Andryuk 2004-05-07 10:10:49 UTC
Well, it turns out that the patch does not work.  It did work when I had all of my debuggin output in place, but now it fails to bring up the interface...  It appears that hotplug thinks it brings up the interface, enough to put net.wlan0 into ${svcdir}/started/.  However, the interface did not get an IP address from dhcp.  I have not finished investigating exactly what happened.

A new work around is to modify hotplug's net.agent to skip specified interfaces.  However, you have to specify the interface name, and that can be trouble.  i.e. a USB wirless card and PCMCIA can both show up as wlan0 and USB needs net.agent to handle the interface.
Comment 3 Greg Kroah-Hartman (RETIRED) gentoo-dev 2004-11-10 11:32:07 UTC
Use udev to rename the interface name to something unique and then use 
the network scripts to properly init that interface.