Fresh 13.2 install with Broadcom 43228 fails to scan for networks

Dell Latitude E6420
Broadcom “BCM43228”
OpenSUSE 13.2 GNOME (64 bit)
Packages installed: broadcom-wl, broadcom-wl-kpm-desktop,

Hello everyone,

I’ve installed a fresh install of OpenSUSE 13.2 through the GNOME live CD and updated/patched the machine. I was using a wired connection for the updates/patches, but I am currently trying to get my onboard Broadcom “BCM43228” to work. I installed two packages, broadcom-wl, and broadcom-wl-kpm-desktop, which enabled OpenSUSE to recognize my device, but did not enable the device to scan. I am using the NetworkManager applet through GNOME to configure my network settings and have not messed with any YaST settings. The only thing interesting about this problem is that I had the Wifi fully working on the exact hardware, just on another HDD (which I had to replace). Another notable thing is that on some cold boots, the card will be able to scan, and after one restart it will stop working. So its possible for the scanning to work, its just not consistent at all. May be 1/10 boots it works. (Also, my hardware switch for Wifi is NOT off)

So essentially, Opensuse recognizes my onboard Wifi but fails to scan for networks.

Now lets get some terminal outputs going

nick@linux:~> uname -a
Linux 3.16.7-21-desktop #1 SMP PREEMPT Tue Apr 14 07:11:37 UTC 2015 (93c1539) x86_64 x86_64 x86_64 GNU/Linux

nick@linux:~> sudo ifconfig
eno1      Link encap:Ethernet  HWaddr 5C:26:0A:7C:32:32  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::5e26:aff:fe7c:3232/64 Scope:Link
          inet6 addr: 2605:e000:8a98:2900:5e26:aff:fe7c:3232/64 Scope:Global
          RX packets:220435 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96536 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:277686903 (264.8 Mb)  TX bytes:10694648 (10.1 Mb)
          Interrupt:20 Memory:e2e00000-e2e20000 

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:69 errors:0 dropped:0 overruns:0 frame:0
          TX packets:69 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:7150 (6.9 Kb)  TX bytes:7150 (6.9 Kb)

wlp2s0    Link encap:Ethernet  HWaddr E4:D5:3D:63:13:84  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:10
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

nick@linux:~> sudo iwconfig
wlp2s0    IEEE 802.11abg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=200 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
eno1      no wireless extensions.

lo        no wireless extensions.

nick@linux:~> sudo lspci -knn...

02:00.0 Network controller [0280]: Broadcom Corporation BCM43228 802.11a/b/g/n [14e4:4359]    Subsystem: Dell Wireless 1530 Half-size Mini PCIe Card [1028:0011]
    Kernel driver in use: wl
    Kernel modules: bcma, wl

nick@linux:~> /usr/sbin/rfkill list
0: dell-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

nick@linux:~> sudo iwlist scan 
wlp2s0    No scan results

eno1      Interface doesn't support scanning.

lo        Interface doesn't support scanning.

Any help will be appreciated and I am prepared to provide anymore information if necessary. Thank you.

[HR][/HR]So a new development with this problem!

It’s not an OS level issue at all as far as I can tell, it may be a hardware one. I noticed that my Wifi continued to stay on even though I had shut the machine off. So I unplugged the AC and that turned it off, which led to the discovery that my Wifi will only work when I disconnect the power cord and plug it back in.

Is there a setting in the BIOS or kernel level that will fix this?

Worth checking the BIOS I suppose. The driver power management is reported as off, so I’m surprised to read of the behaviour reported. Any interesting kernel messages?

Maybe check

cat /var/log/messages |grep wl

Another thought - the free b43 driver supports the 14e4:4359 chipset from kernel 3.17+, so if you’re prepared to upgrade to a newer kernel you might want to try using that instead.

I may have to take back my wording on my last post as I do believe the problem may lie at the OS/kernel level. I got my dual boot of Windows 8.1 running and it seems to be able to power off the Wifi card after shutdown successfully. So I would assume that would mean something isn’t happening when Linux OS’s power off.

So far I have conclusive results from Fedora 22, Opensuse 13.2, and Ubuntu GNOME 14.04.2 (which I am currently typing this on)

Since I am going to clean install OpenSUSE in 13.2 tomorrow morning, would you recommend any particular method of installing or anything I should try out before installing the Broadcom drivers?

EDIT: The only thing keeping me thinking it’s a hardware problem is that when I initially installed Fedora 22, my Wifi worked after simply installing broadcom-wl and I never had problems with it. Now going back to it after having trouble on OpenSUSE, it seems to replicate the same error.

I have heard of some users anecdotally reporting that the windows driver can leave certain wireless hardware disabled at shutdown, then causing problems for linux with accessing the hardware. I would normally expect ‘rfkill’ to reflect this though.

Since I am going to clean install OpenSUSE in 13.2 tomorrow morning, would you recommend any particular method of installing or anything I should try out before installing the Broadcom drivers?

There’s no need to clean install openSUSE 13.2. You could just upgrade the kernel by subscribing to the kernel repo, and upgrading with YaST or zypper.

Again, I’m basing this on information given here, which suggests that the b43 driver supports the 4359 chipset for 3.17+ kernels. It will need firmware installed as well. It is usually easier for users to connect via wired ethernet to make wireless installation easier.

16.3 Older Broadcom Chipset

If you have an older Broadcom chip supported by the, free, reverse-engineered b43 driver, i.e.: bcm4303, bcm4306, bcm4309, bcm4311, bcm4318, you only need to install the firmware. This is automated by simply running this command and rebooting afterwards (make sure the package b43-fwcutter is installed and that you are online while running the command): install_bcm43xx_firmware