BCM43142 Does Not Connect

I am running OpenSuSe 13.2 with the Broadcom-wl-kmp-default kernel version 3.16.7-32. My wireless card is a Broadcom BCM43142 [14e4:4365], one of a few cards that requires the Broadcom-wl driver to work. I have all of the required packages installed (off the packman repository) but still have network connectivity problems. Specifically that it almost always is stuck in the “Configuring Interface” stage of network connectivity. Occasionally it makes it past “Configuring Interface” where it gets stuck at “Setting Network Address.” Every now and then it makes it past both stages but then I can’t actually connect to anything. NetworkManager shows up and down speeds of 0 b/s with the occasional jump to 12 b/s. During this time, while it says I am connected, running ping -c 5 8.8.8.8 shows 100% packet loss. Maybe once a month it actually does connect and I can browse the web, but only for about 2 or 3 minutes when my connection drops out. This is on a wireless network running WPA2-EAP encryption. I have triple checked that I have the correct cert, and all the correct settings plugged into NetworkManager. I attempted to use YaST to see if Wicked gave any improvement, but it was lacking options for me to login with, so it is not an option. I have tried it on a WPA2-PSK protected network, and it does consistently connect, but it has an extremely weak connection. I know it is not the card, because this same laptop dual-boots with Windows and everything works perfectly in all situations. I would much rather use Linux than Windows, so while I don’t need to have it fixed, it would make things much easier (I’m working with primarily UNIX machines). Based on some research I’ve already done it seems that this driver does not work well on other distros, I specifically remember seeing a lot of posts about it in the Arch forums, however they either don’t have a solution, or I was unable to implement it due to distro differences. This was posted from my Desktop, but if you need any information from my laptop I can switch to it and post whatever you need.

Are these new problems following the recent kernel update? Or have there always been problems?

If it is only since the recent kernel update, then I would suggest that you boot to the previous kernel, and see if packman has an update for broadcom-wl.

Unfortunately I’ve had these problems since installing OpenSuSe a little over half a year ago. It wasn’t a big enough deal for me to worry about it since it dual boots, but now Windows 10 is having some problems and frankly I just miss booting into Linux lol.

Are you fully updated? Let’s have a look at the broadcom-wl package versions currently installed.

rpm -qa|grep broadcom

It would be interesting to know whether upgrading to Leap would be helpful here?

As an alternative to dual booting, you could install VirtualBox on your Windows 10 OS, and install openSUSE as a guest. Then at least the Windows host will provide the means to a stable wireless connection. Just a thought.

Prior to posting I did update, also switched off of the desktop version hoping that would fix it. I could try Leap, however as I had this problem on other distros I don’t think it will help :confused: I could do a virtual box, however the issue with Windows is that it doesn’t always boot up properly, so not having to worry about that at all would be preferred (occasionally on log-in it doesn’t let me open the start menu, or launch any applications). I hadn’t actually heard of Leap before you mentioned it, so what exactly is different between it and regular OpenSuSe, I saw it’s based on SLE, but are there any other differences?

It’s based on SLE at it’s core, but runs with newer kernel, X-server, and a lot of updated components maintained by the openSUSE community. Better explained here

https://news.opensuse.org/2015/11/04/opensuse-leap-42-1-becomes-first-hybrid-distribution/
https://en.opensuse.org/Portal:42.1

I could try it, however if I remember correctly Broadcom hasn’t even updated the wl drivers in a long time, so I’m not so sure switching to Leap would necessarily fix the problem. I’ll keep it in mind though if no other options come up.

The pragmatic option would be to purchase a supported USB wireless device and use that instead, but if you don’t mind experimenting a bit, and you have access to internet via wired ethernet connection, you could upgrade your kernel, and build the broadcom wireless driver by hand.

This blog explains it well…

http://fixxxer.mx/blog-en/?p=180

I’ve been considering trying something like that. Maybe it will work better if built that way. Also I do have an Edimax EW77-11, which I bought for the same laptop (running OS X on it as well, that was fun to set up lol) the problem is that it doesn’t work with WPA2-EAP but that’s on OS X. I haven’t actually checked if it works on Linux, I need to see if it even has a driver for Linux actually. I’ll try both of those over the next couple of days as I have time and will update here if I find a solution. Thanks :slight_smile:

Well, it’s not clear to me what the cause of the regressions are, but if kernel-related this approach might help. The problem is the closed-source components mean only Broadcom can fix any issues related to their driver

https://www.broadcom.com/contact

For the Edimax, connect it and note the chipset reported by ‘lsusb’. It’s a good idea to start a new thread if you want to pursue that further, (unless it just works of course).

This long archlinux thread which I guess you were referring to earlier, discusses issues with the driver and mentions various patches and kernel versions. It’s beyond me to assist with the advice given there, but maybe someone else can make sense of it to benefit openSUSE users.

I suspect it’s just Broadcom didn’t bother to update the drivers, seems to be a common theme with proprietary drivers even in Windows. I wonder what it would take to add support for the BCM43142 to the b43 drivers, or if it is something in the works.

I was curious what Broadcom had on their site and found their drivers. The most recent update was actually fairly recent, October of 2015, but found that my card is not on the list of supported cards for Linux in this driver set. This is the Broadcom-STA which should the same thing as the wl driver. If this is the case, that would explain the issues that have been occurring with this card. https://www.broadcom.com/support/802.11 This link shows all the drivers for 802.11 cards for Linux, so unless I missed something that means this card is not even supported by Broadcom, at least for Linux. Hopefully the card get b43 or brcm support eventually.

One of the techniques employed with driver development is reverse-engineering which is not a trivial exercise, so there may be good reasons why this particular chipset is not supprted by the open source driver. Anyway, you might want to enquire about that here

https://wireless.wiki.kernel.org/en/users/support

That makes sense. I’ll try asking over there and see about that, and thanks for all the help. I’ll post back probably tomorrow with the results of those options, and we can go from there if there are any problems.

Driver for that card is in kernel since 3.14:
https://cateee.net/lkddb/web-lkddb/BCMA_HOST_PCI.html

And, a few months ago based on some personal research I think that kernel 3.17 finally includes support for the entire Broadcom family, even the very rarely used.

Since it seems that openSUSE 13.2 has been stuck on some version of 3.16 for the longest time(possibly with little likelihood ever advancing), if you have a problem to consider upgrading to LEAP with its 4.x kernels. Maybe install side by side if you don’t want to risk everything else that works on your existing 13.2.

TSU

That’s good to know.

@Icronos: Removing the broadcom packages entirely will also reinstate any blacklisted modules including ‘bcma’ which supports the chipset (14e4:4365) you have apparently. So, worth a shot IMO.

# modinfo bcma
filename:       /lib/modules/4.1.15-8-default/kernel/drivers/bcma/bcma.ko
license:        GPL
description:    Broadcom's specific AMBA driver
srcversion:     92BF819F08B43A48503324B
alias:          pci:v000014E4d0000A8DCsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000A8DBsv*sd*bc*sc*i*
alias:          pci:v000014E4d00004727sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043B1sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000043A9sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043A0sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004365sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004360sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004359sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004358sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004357sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004353sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004331sv*sd*bc*sc*i*
alias:          pci:v000014E4d0000A8D8sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004313sv*sd*bc*sc*i*
alias:          pci:v000014E4d00000576sv*sd*bc*sc*i*
depends:        
intree:         Y
vermagic:       4.1.15-8-default SMP preempt mod_unload modversions 
signer:         openSUSE Secure Boot Signkey
sig_key:        03:32:FA:9C:BF:0D:88:BF:21:92:4B:0D:E8:2A:09:A5:4D:5D:EF:C8
sig_hashalgo:   sha256

kernel-firmware is needed for bcma.ko

That’s interesting, I’ll try that out. If it works, that means the Linux wifi wiki needs updated. If Leap has a liveUSB I’ll test the connection on there, it should work. I’ll try these ideas out in a few hours, thanks everyone for the suggestions.