Wireless works until reboot

Older Sony VAIO laptop with eth0, Dynex Wireless G (bcm4318):
lspci -vnn | grep 14e4
02:00.0 Network controller [0280]: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller [14e4:4318] (rev 02)

usr/bin/install_bcm43xx_firmware has been run successfully.

Following commands enable card, connection can be successfully configured afterward through Network Manager:

modprobe -rv b43
rmmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/pcmcia/pcmcia.ko

modprobe -v b43
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/input/input-polldev.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/leds/led-class.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/net/mac80211/mac80211.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/pcmcia/pcmcia.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/net/rfkill/rfkill.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/ssb/ssb.ko
insmod /lib/modules/2.6.27.29-0.1-pae/kernel/drivers/net/wireless/b43/b43.ko

<<Wireless PCMCIA card lights turn on at this point.>>

iwlist scan
lo Interface doesn’t support scanning.

eth0 Interface doesn’t support scanning.

wmaster0 Interface doesn’t support scanning.

wlan0 Scan completed :

      Cell 02 - Address: 00:19:E4:21:B2:11
                ESSID:"2WIRE250"
                Mode:Master
                Channel:6
                Frequency:2.437 GHz (Channel 6)
                Quality=71/100  Signal level:-42 dBm  Noise level=-63 dBm
                Encryption key:on
                Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
                          11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
                          48 Mb/s; 54 Mb/s
                Extra:tsf=000001dd492a4200
                Extra: Last beacon: 312ms ag

<<Connection to 2WIRE250 can be made through Network Manager.>>

Everything works at this point, configuration is lost on reboot, nothing listed in Network Manager until modprobe process is repeated.Have searched quite a bit through the forums and stickies but haven’t been able to determine what I need to do retain configuration through reboot, shutdown, etc.

Hi
In YaST go to the /etc/sysconfig editor and search for
modules_loaded_on_boot and add b43 here or manually edit
the /etc/sysconfig/kernel file.


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.29-0.1-default
up 4 days 19:46, 2 users, load average: 1.04, 0.76, 0.36
GPU GeForce 8600 GTS Silent - Driver Version: 190.18

Malcolm:

Thanks much for the quick response. That did the trick.

Malcolm wrote:
> In YaST go to the /etc/sysconfig editor and search for
> modules_loaded_on_boot and add b43 here or manually edit
> the /etc/sysconfig/kernel file.

The loading of ssb and b43 is controlled by the PCI ID and it should
be loaded without the need to add it to modules_loaded_on_boot. Your
solution above will likely fix the problem, but I would like to know
why it happens.

Have you done any alterations to be able to use ndiswrapper or the
Broadcom wl package? In particular, is ssb or b43 blacklisted?

WARNING: My knowledge of Linux is limited, ‘That that I do not know is much more than that I know’.
That being said and everyone being duty warned I would like to reply to this thread in hopes it may be of use to someone.
Credit must go to the broadcom help (linux-wlan-client-list@broadcom.com) section. Which was very knowledgeable and helpful. This post is my interpretation of the broadcom readme.
The hardware I am using is a laptop, HP Pavilion dv2000, and the wireless card is BCM4312 802.11a/b/g, of course the OS is openSUSE 11.1.
The numbering (1., 1.1, 1.2) was added by me to be able to grep one step at a time, thereby not having to keep the file open, (OK I’m lazy.)

BUILD AND INSTALLATION INSTRUCTIONS for the broadcom sta driver.

  1. Setup the directory by untarring the proper tarball:
    download from here Broadcom.com - 802.11 Linux STA driver
    NOTE: Match the tarball to the OS not the hardware.
    For 32 bit: hybrid-portsrc.tar.gz
    For 64 bit: hybrid-portsrc-x86_64.tar.gz
    1.1 mkdir hybrid_wl
    1.2 cd hybrid_wl
    1.3 tar xzf <path>/hybrid-portsrc.tar or <path>/hybrid-portsrc-x86_64.tar.gz

NOTE: To use make the Linux source has to be installed.
When the build completes, it will produce a wl.ko file in the directory the make is ran in.
2. Build the driver as a Linux loadable kernel module (LKM):
2.1 make clean (optional)
2.2 make

NOTE: “The Broadcom driver and the b43 are mutually exclusive. *If you want to use the Broadcom driver you need to completely remove any b43 drivers.” (Quoted from linux-wlan-client-list@broadcom.com.) I would think this would have to be done as well if one is using SUSEs rpm of the driver, unless the rpm does it for you.
3. Remove any other drivers for the Broadcom wireless.
3.1 lsmod | grep “b43|ssb|wl”
3.2 If any of these are installed, remove them:
3.3 # rmmod b43
3.4 # rmmod ssb
3.5 # rmmod wl

3.6 To blacklist these drivers and prevent them from loading in the future:
3.7 # echo “blacklist ssb” >> /etc/modprobe.d/blacklist ## suse does not use an extension .conf
3.8 # echo “blacklist b43” >> /etc/modprobe.d/blacklist ## suse does not use an extension .conf

  1. Insmod the driver.
    NOTE: Be careful here we are talking about two different paths to follow, 1 running a previous version of wl, 2 driver not previously installed, (choose wisely grasshopper).
    4.1 If you were already running a previous version of wl, you’ll want to provide a clean transition from the older driver. (The path to previous driver is usually /lib/modules/<kernel-version>/kernel/net/wireless)
    4.2 rmmod wl
    4.3 mv <path-to-prev-driver>/wl.ko <path-to-prev-driver>/wl.ko.orig
    4.4 cp wl.ko /lib/modules/uname -r/kernel/net/wireless/wl.ko # for SUSE
    4.5 depmod
    4.6 modprobe wl

4.7 Otherwise, if you have not previously installed a wl driver do this:
4.4 cp wl.ko /lib/modules/uname -r/kernel/net/wireless/wl.ko
4.8 modprobe lib80211 #this one did not work for me
4.8 modprobe ieee80211_crypt_tkip #used this for openSUSE 11.1, it worked fine
4.9 insmod wl.ko
4.10 wl.ko is now operational. It may take several seconds for the Network Manager to notice a new network driver has been installed and show the surrounding wireless networks.

B)Making it load on boot
NOTE: iwlist will show for sure if ever thing is loaded and ready, then all that is left to do is to make it load when the system boot.
Here is the link where the following came from. This is for a fedora distros but it works for SUSE as well. SUSE may have a cleaner way to do it but I was unable or to impatient to find it.
Installing Broadcom 802.11 Linux STA driver « Lost in Cyberspace
B)Making it load on boot
1)cp wl.ko /lib/modules/uname-r/kernel/net/wireless/
2)depmod -a
3)rmmod wl
4)modprobe wl
5)Add following Lines to /etc/rc.local (in openSuse /etc/rc/rc.d/boot.local)
modprobe wl
NOTE: If You Have Problems See README on the package page or post in troubleshooting page