wlan0 does not start 'automatically at boot'

I have a 32-bit openSUSE 11.4 (2.6.37.6-0.5-default) installation with a
WNBA3100v2 wireless USB card and a 100Base-TX NIC running on a Dell 4700c:


BCM4401-B0 100Base-TX (Not connected)
MAC : YY:YY:YY:YY:YY:YY
BusID : 0000:04:07.0
Device Name: eth0
Started automatically at boot

Remote Download Wireless Adapter 
MAC : XX:XX:XX:XX:XX:XX
BusID : 1-7:1.0
Device Name: wlan0
Started automatically at boot
IP address assigned using DHCP

Regardless of whether eth0 is plugged-in or not, wlan0 does not automatically
start at boot. I have tried using ifup and network managers for KDE, Gnome, and Plasmoid,
which appear to behave the same, i.e., wlan0 does not start on boot. The firmware I have tried (/lib/firmware):


ar9170-1.fw
ar9170-2.fw
ar9170.fw


carl9170-1.fw

with the NetGear W32 driver loaded via ndiswrapper. I don’t see much awry in /var/log/message in boot, but once I do:

iwlist wlan0 scan

I see this:


Jul 24 12:55:34 linux-dpot kernel:   200.626385] Disabling lock debugging due to kernel taint
Jul 24 12:55:34 linux-dpot kernel:   200.635770] ndiswrapper version 1.56 loaded (smp=yes, preempt=no)
Jul 24 12:55:34 linux-dpot kernel:   200.776025] usb 1-7: reset high speed USB device using ehci_hcd and address 4
Jul 24 12:55:34 linux-dpot kernel:   200.945110] ndiswrapper (import:233): unknown symbol: ntoskrnl.exe:'IoUnregisterPlugPlayNotification'
Jul 24 12:55:34 linux-dpot kernel:   200.945518] ndiswrapper: driver bcmwlhigh5 (Netgear,11/05/2009, 5.60.180.11) loaded
Jul 24 12:55:35 linux-dpot kernel:   201.584043] ------------ cut here ]------------
Jul 24 12:55:35 linux-dpot kernel:   201.584069] WARNING: at /usr/src/linux-2.6.37.1-1.2/include/linux/netdevice.h:1557 set_media_state+0x133/0x150 [ndiswrapper]()
Jul 24 12:55:35 linux-dpot kernel:   201.584073] Hardware name: Dimension 4700c              
Jul 24 12:55:35 linux-dpot kernel:   201.584076] Modules linked in: ndiswrapper(+) fuse ip6t_LOG xt_tcpudp xt_pkttype ipt_LOG xt_limit mperf snd_pcm_oss snd_mixer_oss snd_seq edd ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw xt_NOTRACK ipt_REJECT iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_ipv4 nf_defrag_ipv4 ip_tables xt_conntrack nf_conntrack ip6table_filter ip6_tables x_tables dm_mod hdj_mod snd_rawmidi snd_seq_device b44 ssb mmc_core snd_intel8x0m snd_intel8x0 pcmcia snd_ac97_codec sr_mod usbhid ac97_bus sg snd_pcm hid iTCO_wdt iTCO_vendor_support i2c_i801 pcspkr snd_timer serio_raw shpchp pcmcia_core cdrom dcdbas snd pci_hotplug soundcore snd_page_alloc preloadtrace ext4 jbd2 crc16 uhci_hcd ehci_hcd i915 drm_kms_helper drm i2c_algo_bit rtc_cmos i2c_core video rtc_core rtc_lib output button usbcore fan processor thermal thermal_sys hwmon ata_generic ata_piix ahci libahci libata [last unloaded: speedstep_lib]
Jul 24 12:55:35 linux-dpot kernel:   201.584165] Pid: 69, comm: kworker/u:2 Tainted: P            2.6.37.6-0.5-default #1
Jul 24 12:55:35 linux-dpot kernel:   201.584169] Call Trace:
Jul 24 12:55:35 linux-dpot kernel:   201.584186]  <c02060e3>] try_stack_unwind+0x173/0x190
Jul 24 12:55:35 linux-dpot kernel:   201.584195]  <c0204e8f>] dump_trace+0x3f/0xe0
Jul 24 12:55:35 linux-dpot kernel:   201.584201]  <c020614b>] show_trace_log_lvl+0x4b/0x60
Jul 24 12:55:35 linux-dpot kernel:   201.584207]  <c0206178>] show_trace+0x18/0x20
Jul 24 12:55:35 linux-dpot kernel:   201.584215]  <c05fa06f>] dump_stack+0x6d/0x72
Jul 24 12:55:35 linux-dpot kernel:   201.584223]  <c0243a38>] warn_slowpath_common+0x78/0xb0
Jul 24 12:55:35 linux-dpot kernel:   201.584230]  <c0243a8b>] warn_slowpath_null+0x1b/0x20
Jul 24 12:55:35 linux-dpot kernel:   201.584248]  <f8268173>] set_media_state+0x133/0x150 [ndiswrapper]
Jul 24 12:55:35 linux-dpot kernel:   201.584365]  <f82582bc>] NdisMIndicateStatus+0x13c/0x2e0 [ndiswrapper]
Jul 24 12:55:35 linux-dpot kernel:   201.584409]  <f82d44db>] 0xf82d44db
Jul 24 12:55:35 linux-dpot kernel:   201.584419] DWARF2 unwinder stuck at 0xf82d44db
Jul 24 12:55:35 linux-dpot kernel:   201.584421] 
Jul 24 12:55:35 linux-dpot kernel:   201.584422] Leftover inexact backtrace:
Jul 24 12:55:35 linux-dpot kernel:   201.584424] 
Jul 24 12:55:35 linux-dpot kernel:   201.584455]  <f8251a80>] ? KfReleaseSpinLock+0x0/0x40 [ndiswrapper]
Jul 24 12:55:35 linux-dpot kernel:   201.584479]  <f8256fb5>] ? ndis_worker+0x35/0x70 [ndiswrapper]
Jul 24 12:55:35 linux-dpot kernel:   201.584484]  <c025c2f3>] ? process_one_work+0xf3/0x350
Jul 24 12:55:35 linux-dpot kernel:   201.584490]  <c025b45c>] ? maybe_create_worker+0xbc/0xd0
Jul 24 12:55:35 linux-dpot kernel:   201.584506]  <f8256f80>] ? ndis_worker+0x0/0x70 [ndiswrapper]
Jul 24 12:55:35 linux-dpot kernel:   201.584511]  <c025c85c>] ? worker_thread+0x12c/0x2c0
Jul 24 12:55:35 linux-dpot kernel:   201.584515]  <c025c730>] ? worker_thread+0x0/0x2c0
Jul 24 12:55:35 linux-dpot kernel:   201.584519]  <c025ff74>] ? kthread+0x74/0x80
Jul 24 12:55:35 linux-dpot kernel:   201.584523]  <c025ff00>] ? kthread+0x0/0x80
Jul 24 12:55:35 linux-dpot kernel:   201.584527]  <c0203526>] ? kernel_thread_helper+0x6/0x10
Jul 24 12:55:35 linux-dpot kernel:   201.584530] --- end trace 2790b2e3eb03d5bf ]---
Jul 24 12:55:35 linux-dpot kernel:   201.584533] netif_stop_queue() cannot be called before register_netdev()
Jul 24 12:55:35 linux-dpot kernel:   201.587689] wlan0: ethernet device c4:3d:c7:cf:61:8c using NDIS driver: bcmwlhigh5, version: 0x53cb40b, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 0846:9011.F.conf
Jul 24 12:55:35 linux-dpot kernel:   201.593633] wlan0: encryption modes supported: WEP; TKIP with WPA, WPA2, WPA2PSK; AES/CCMP with WPA, WPA2, WPA2PSK
Jul 24 12:55:35 linux-dpot kernel:   201.594672] usbcore: registered new interface driver ndiswrapper
Jul 24 12:55:35 linux-dpot kernel:   201.595413] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated).  Use CAP_NET_ADMIN and alias netdev-wlan0 instead
Jul 24 12:55:35 linux-dpot ifup:     wlan0     name: Remote Download Wireless Adapter
Jul 24 12:55:35 linux-dpot ifup-wireless:     wlan0     starting wpa_supplicant
Jul 24 12:55:35 linux-dpot kernel:   201.949801] ADDRCONF(NETDEV_UP): wlan0: link is not ready
Jul 24 12:55:36 linux-dpot kernel:   202.043643] NET: Registered protocol family 17
Jul 24 12:55:37 linux-dpot ifup-dhcp: Starting DHCP4+DHCP6 client on wlan0
Jul 24 12:55:37 linux-dpot dhcpcd[3361]: wlan0: dhcpcd 3.2.3 starting
Jul 24 12:55:37 linux-dpot dhcpcd[3361]: wlan0: hardware address = c4:3d:c7:cf:61:8c
Jul 24 12:55:37 linux-dpot dhcpcd[3361]: wlan0: broadcasting for a lease
Jul 24 12:55:37 linux-dpot ifup-dhcp: . 
Jul 24 12:55:38 linux-dpot dhclient: Bound to *:546
Jul 24 12:55:39 linux-dpot dhclient: XMT: Solicit on wlan0, interval 1070ms.
Jul 24 12:55:39 linux-dpot dhclient: send_packet6: Network is unreachable
Jul 24 12:55:39 linux-dpot dhclient: dhc6: send_packet6() sent -1 of 54 bytes
Jul 24 12:55:40 linux-dpot dhclient: XMT: Solicit on wlan0, interval 2240ms.
Jul 24 12:55:40 linux-dpot dhclient: send_packet6: Network is unreachable
Jul 24 12:55:40 linux-dpot dhclient: dhc6: send_packet6() sent -1 of 54 bytes
Jul 24 12:55:40 linux-dpot ifup-dhcp: . 
Jul 24 12:55:41 linux-dpot kernel:   207.156338] ndiswrapper (iw_set_auth:1602): invalid cmd 12
Jul 24 12:55:41 linux-dpot kernel:   207.763370] ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
Jul 24 12:55:42 linux-dpot dhclient: XMT: Solicit on wlan0, interval 4340ms.
Jul 24 12:55:42 linux-dpot dhclient: send_packet6: Cannot assign requested address
Jul 24 12:55:42 linux-dpot dhclient: dhc6: send_packet6() sent -1 of 54 bytes
Jul 24 12:55:43 linux-dpot avahi-daemon[1575]: Registering new address record for fe80::c63d:c7ff:fecf:618c on wlan0.*.
Jul 24 12:55:43 linux-dpot ifup-dhcp: . 
Jul 24 12:55:46 linux-dpot ifup-dhcp: . 
Jul 24 12:55:46 linux-dpot dhclient: XMT: Solicit on wlan0, interval 8710ms.
Jul 24 12:55:49 linux-dpot ifup-dhcp: . 
Jul 24 12:55:52 linux-dpot kernel:   218.312009] wlan0: no IPv6 routers present
Jul 24 12:55:52 linux-dpot ifup-dhcp: . 
Jul 24 12:55:55 linux-dpot dhclient: XMT: Solicit on wlan0, interval 17660ms.
Jul 24 12:55:55 linux-dpot ifup-dhcp: . 
Jul 24 12:55:57 linux-dpot dhcpcd[3361]: wlan0: timed out
Jul 24 12:55:57 linux-dpot dhcpcd[3361]: wlan0: trying to use old lease in `/var/lib/dhcpcd/dhcpcd-wlan0.info'
Jul 24 12:55:57 linux-dpot dhcpcd[3361]: wlan0: adding IP address 192.168.1.6/24
Jul 24 12:55:57 linux-dpot dhcpcd[3361]: wlan0: adding default route via 192.168.1.1 metric 0
Jul 24 12:55:57 linux-dpot avahi-daemon[1575]: Joining mDNS multicast group on interface wlan0.IPv4 with address 192.168.1.6.
Jul 24 12:55:57 linux-dpot avahi-daemon[1575]: New relevant interface wlan0.IPv4 for mDNS.
Jul 24 12:55:57 linux-dpot avahi-daemon[1575]: Registering new address record for 192.168.1.6 on wlan0.IPv4.
Jul 24 12:55:57 linux-dpot ifdown:     wlan0     name: Remote Download Wireless Adapter
Jul 24 12:55:58 linux-dpot dhcpcd[3361]: wlan0: Failed to lookup hostname via DNS: Name or service not known
Jul 24 12:55:58 linux-dpot ifup:     wlan0     name: Remote Download Wireless Adapter
Jul 24 12:55:58 linux-dpot SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
Jul 24 12:55:58 linux-dpot SuSEfirewall2: using default zone 'ext' for interface eth0
Jul 24 12:55:59 linux-dpot SuSEfirewall2: Firewall rules successfully set
Jul 24 12:55:59 linux-dpot dhcpcd[3361]: wlan0: exiting
Jul 24 12:55:59 linux-dpot ifup-dhcp: . 
Jul 24 12:56:00 linux-dpot ifup-dhcp:  
Jul 24 12:56:00 linux-dpot ifup-dhcp:     wlan0     DHCP4 continues in background
Jul 24 12:56:00 linux-dpot ifup-dhcp:     wlan0     DHCP6 continues in background

…and then things seem to work. I’m puzzled. Any ideas on how to get wlan0 to actually start “automatically at boot”?

So if you have activated the Network Manager in YaST / Network Devices / Network Settings and you are not using ifup. Then, when using KDE, it is also required you start KWallet, to keep your network pass phrase. KWallet will require that you log into it after you start your desktop at which point, your wireless network should connect. If you can get your wireless network to connect in any manner, don’t be loading or reloading additional network items as this is not the problem and you could stop it from working at all. I only use KDE and I am not sure the issue with Gnome might be.

Thank You,

If you want to start wifi at boot: Yast - Network - Networksettings - General Tab: change from “Use Networkmanager” to “Traditional method using ifup”. Configure the card in the same Yast module. Done, your system will make connection as soon as the networking starts.

@jdmcdaniel3: Hi James- thanks for the quick reply. I switched back to NetworkManager Applet 0.8.2 and while it appears that it’s configured correctly, I don’t get prompted for the KWallet password during booting…which seems like a problem. I switched to Plasmoid which, as I understand it, does not require KWallet but Plasmoid does not start at boot, either.

@Knurpht: yes; I’m using ifup but wlan0 is not starting as the networking starts - this is problem I’m trying to resolve…

Additional or other ideas are greatly appreciated!

Cheers,

Jan

Go Yast - Networkdevices - Networksettings - Overview. Tick the wireless card, click Edit, change the “Activate device” option to “during boot” (could be a bit different, I’m looking at a dutch Yast atm). I bet that’s the one you missed.

I’ll take that bet! :slight_smile: In my ifup configuration, the wlan0 “Activate device” is set to “At Boot Time” which results in the original post:


Device Name: wlan0
*Started automatically at boot*
IP address assigned using DHCP

I did not study all the details of your computer output above. But I see in the ndiswrapper case (who uses ndiswrapper nowadays???) that it asks the DHCP server for an IPv6 address. Are you sure your DHCP server is IPv6 capable? It seems not, because ther are more remarks on that in that listing and that may lead to time-outs and time loss. Try with switching IPv6 off in YaST > Network settings.

Also the listing of

cat cat /etc/sysconfig/network/ifcfg-wlan0

might help us (and you) to see what is configured. But beware, make *** of any confidential information there before posting!

Hi - thanks for looking at my issue. I switched to IPv4 for both eth0 and wlan0; wlan0 still does not start at boot.

I’m using ndiswrapper to load the W32 bcmwlhigh5 driver (Netgear,11/05/2009, 5.60.180.11) for my WNDA3100v2 wireless USB device (Broadcom BCM4323 chipset) [1][2]. I have not been able to get the WNDA3100v2 to work without ndiswrapper - is there an alternative? I am happy to try other drivers or processes…

Here’s the wlan0 configuration:


BOOTPROTO='dhcp4'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU='1500'
NAME='Remote Download Wireless Adapter'
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
WIRELESS_AP=''
WIRELESS_AP_SCANMODE='1'
WIRELESS_AUTH_MODE='psk'
WIRELESS_BITRATE='auto'
WIRELESS_CA_CERT=''
WIRELESS_CHANNEL=''
WIRELESS_CLIENT_CERT=''
WIRELESS_CLIENT_KEY=''
WIRELESS_CLIENT_KEY_PASSWORD=''
WIRELESS_DEFAULT_KEY='0'
WIRELESS_EAP_AUTH=''
WIRELESS_EAP_MODE=''
WIRELESS_ESSID='Det Roede Hus'
WIRELESS_FREQUENCY=''
WIRELESS_KEY=''
WIRELESS_KEY_0=''
WIRELESS_KEY_1=''
WIRELESS_KEY_2=''
WIRELESS_KEY_3=''
WIRELESS_KEY_LENGTH='128'
WIRELESS_MODE='Managed'
WIRELESS_NICK=''
WIRELESS_NWID=''
WIRELESS_PEAP_VERSION=''
WIRELESS_POWER='yes'
WIRELESS_WPA_ANONID=''
WIRELESS_WPA_IDENTITY=''
WIRELESS_WPA_PASSWORD=''
WIRELESS_WPA_PSK='*********************************'
IFPLUGD_PRIORITY='0'

[1] WNDA3100 and WNDA3100v2 - NETGEAR Forums
[2] The previous version of this hardware used Atheros USB AR9170 chipset so I installed /lib/firmware/carl9170-1.fw before I understood the difference…

To work-around the underlying issue, adding “iwlist wlan0 scan” to the boot.local script provides the appearance of the device being available at boot. After too many hours of trying to find a more satisfying solution, I’m going to call this /good enough/:


linux-dpot:/home/jan # cat /etc/init.d/boot.local


#! /bin/sh
#
# Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany.  All rights reserved.
#
# Author: Werner Fink, 1996
#         Burchard Steinbild, 1996
#
# /etc/init.d/boot.local
#
# script with local commands to be executed from init on system startup
#
# Here you should add things, that should happen directly after booting
# before we're going to the first run level.
#
iwlist wlan0 scan

So, my openSUSE 11.4 "take-away"s are:

  • USB wireless devices are difficult to configure correctly
  • WNDA3100v2 (Broadcom BCM4323 chipset) has no native firmware support yet
  • NetGear’s W32 WNDA3100v2 driver version 1.3 (bcmwlhigh5) does run in ndiswrapper but with errors…

Thanks for all the suggestions. Perhaps this additional drop in openSUSE 11.4 USB wireless whirlpool will help someone else…

Very good you found a solution. It is a bit strange to me that running the scan seems to “awaken” the device in time for a proper startup of it.

While the remark “USB wireless devices are difficult to configure correctly” may be true for some, it is not true for all devices. I have configured more then one (to be used with ifup) that worked from the start. But I admit that it is true that first deciding if proper Linux support is available before bying a device is a good thing (by consulting the HCL, browsing through the Forums, or asking here).

I’m using ndiswrapper to load the W32 bcmwlhigh5 driver (Netgear,11/05/2009, 5.60.180.11) for my WNDA3100v2 wireless USB device (Broadcom BCM4323 chipset) [1][2]. I have not been able to get the WNDA3100v2 to work without ndiswrapper - is there an alternative? I am happy to try other drivers or processes…

This device is in the same category as the BCM4312, but due to the USB connection, no Linux driver exists for it. I actually have one of these myself which I obviously did not use with Linux. Since you have figured out how to load the driver and make it load automatically at startup, you should consider writing up an install guide for this device. Its just one way to help give back to the Linux community if you are interested. Half the battle in doing such a guide is finding a subject you have mastered and it sounds like you have. If you have any questions just ask away if your interested.

Thank You,

On 07/25/2011 05:06 PM, jdmcdaniel3 wrote:
>
>> I’m using ndiswrapper to load the W32 bcmwlhigh5 driver
>> (Netgear,11/05/2009, 5.60.180.11) for my WNDA3100v2 wireless USB device
>> (Broadcom BCM4323 chipset) [1][2]. I have not been able to get the
>> WNDA3100v2 to work without ndiswrapper - is there an alternative? I am
>> happy to try other drivers or processes…
>
> This device is in the same category as the BCM4312, but due to the USB
> connection, no Linux driver exists for it. I actually have one of these
> myself which I obviously did not use with Linux. Since you have figured
> out how to load the driver and make it load automatically at startup,
> you should consider writing up an install guide for this device. Its
> just one way to help give back to the Linux community if you are
> interested. Half the battle in doing such a guide is finding a subject
> you have mastered and it sounds like you have. If you have any
> questions just ask away if your interested.

I didn’t see what encryption you are using, but if WPA/WPA2, you need a
‘scan_ssid=1’ in your wpa_supplicant.conf. Without it, the supplicant will not
trigger a scan. When using NM, the scan is triggered, but not with ifup.

@jdmcdaniel3: Hi James- you bet; I’d be happy to write up the installation instructions for this device. Is there a specific/better spot to do than this thread?

@lwfinger - hmm; interesting…I will give that a try and let you know - thanks!

@jdmcdaniel3: Hi James- you bet; I’d be happy to write up the installation instructions for this device. Is there a specific/better spot to do than this thread?

@lwfinger - hmm; interesting…I will give that a try and let you know - thanks!

This is where you should place your guide:

Unreviewed How To and FAQ

Be as detailed as possible and imagine you are trying to help someone who is not sure what they are doing and even upset that their wireless does not work (be sympathetic). It does not hurt to read some of the other posts there to see what they do. Now I have not checked my device against the exact number you gave as it is in a box somewhere, but I guarantee I will dig it out and give the guide you produce a try. This is how we help each other in the openSUSE forums. Now be aware that not everyone will be as thankful as you might imagine or even wonder why you just did not buy something else. It just goes with the territory. I try to look at it as if I don’t have a very good memory (I really don’t need to pretend all that much lol!) which is why I am writing down the procedure, while I remember all that I did. If anything deserves a script to automate something, I will do that to. But don’t take on something you don’t understand. Just stick with the facts and if its good, others will tell you so and it will be read a lot. When you create it, make sure to mention the exact device numbers as well as brand and model. Try to fill in the message tags as well as this helps it be found by even more people. If you feel your writing needs help, get your spouse or a friend to read it through before posting it online. Its not a race to put it out tonight, but don’t let the mood to help lapse either as I feel its content can be important to other Linux users. Try to have fun with it if possible and look at it as your good deed for Linux.

Thank You,

This is very good advice from @jdmcdaniel3. I wish many peoplee would write documentation according to this pattern :slight_smile: