Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I have setup a WPA2-EAP TLS WiFi access point at home and everything works fine usually. Unfortunately, though, many times I'll drop my connection to the access point and won't be able to reconnect. (I'm resurrecting this question because I just installed the latest broadcom-sta-dkms version 6.30.223.248-3 from Ubuntu vivid, I'm currently running Ubuntu 12.04)

Here's output from /var/log/syslog:

Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: CTRL-EVENT-EAP-STARTED EAP authentication started
Jan 15 21:10:53 mightymoose kernel: [80539.376605] wl0: link up (wlan1)
Jan 15 21:10:53 mightymoose kernel: [80539.376732] cfg80211: Calling CRDA for country: US
Jan 15 21:10:53 mightymoose NetworkManager[1671]: <info> (wlan1): supplicant interface state: associating -> associated
Jan 15 21:10:53 mightymoose kernel: [80539.380280] cfg80211: Regulatory domain changed to country: US
Jan 15 21:10:53 mightymoose kernel: [80539.380284] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
Jan 15 21:10:53 mightymoose kernel: [80539.380287] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
Jan 15 21:10:53 mightymoose kernel: [80539.380290] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
Jan 15 21:10:53 mightymoose kernel: [80539.380292] cfg80211:   (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Jan 15 21:10:53 mightymoose kernel: [80539.380294] cfg80211:   (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Jan 15 21:10:53 mightymoose kernel: [80539.380296] cfg80211:   (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
Jan 15 21:10:53 mightymoose kernel: [80539.380299] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=13
Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: OpenSSL: pending error: error:0606F076:digital envelope routines:EVP_PKCS82PKEY:unsupported private key algorithm
Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: OpenSSL: pending error: error:140CB00D:SSL routines:SSL_use_PrivateKey_file:ASN1 lib
Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: OpenSSL: pending error: error:140CB009:SSL routines:SSL_use_PrivateKey_file:PEM lib
Jan 15 21:10:53 mightymoose wpa_supplicant[1915]: CTRL-EVENT-EAP-METHOD EAP vendor 0 method 13 (TLS) selected
Jan 15 21:11:00 mightymoose wpa_supplicant[1915]: CTRL-EVENT-EAP-PEER-CERT depth=1 subject='/C=US/ST=California/L=Teekopolis/O=City of Teekopolis/OU=Internet Security Division/CN=Teekopolis Certificate Authority/emailAddress=rfkrocktk@gmai
l.com'
Jan 15 21:11:00 mightymoose wpa_supplicant[1915]: CTRL-EVENT-EAP-PEER-CERT depth=0 subject='/C=US/ST=California/L=Teekopolis/O=City of Teekopolis/OU=Internet Security Division/CN=Teekopolis WiFi/emailAddress=rfkrocktk@gmail.com'
Jan 15 21:11:48 mightymoose NetworkManager[1671]: <warn> Activation (wlan1/wireless): association took too long.
Jan 15 21:11:48 mightymoose NetworkManager[1671]: <info> (wlan1): device state change: config -> need-auth (reason 'none') [50 60 0]
Jan 15 21:11:48 mightymoose NetworkManager[1671]: <warn> Activation (wlan1/wireless): asking for new secrets
Jan 15 21:11:48 mightymoose wpa_supplicant[1915]: CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0
Jan 15 21:11:48 mightymoose kernel: [80594.418159] cfg80211: Calling CRDA to update world regulatory domain
Jan 15 21:11:48 mightymoose kernel: [80594.420040] wl0: link down (wlan1)

Running modprobe -r wl && modprobe wl doesn't fix the problem. I don't have these problems on other devices such as my Android phones, tablets, and other laptops running the same OS.

Any ideas on where to start to debug this issue?

EDIT: Adding Output from lshw -c network

*-network
   description: Wireless interface
   product: BCM43228 802.11a/b/g/n
   vendor: Broadcom Corporation
   physical id: 0
   bus info: pci@0000:0c:00.0
   logical name: wlan1
   version: 00
   serial: de:ad:be:ef:fe:ed
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
   configuration: broadcast=yes driver=wl0 driverversion=6.30.223.248 (r487574) ip=192.168.100.110 latency=0 multicast=yes wireless=IEEE 802.11abg
   resources: irq:18 memory:f6800000-f6803fff

Here is requested output from wpa_supplicant on PasteBin. Not sure, but there seems to be an OpenSSL issue.

share|improve this question
2  
On the surface this seems like an issue with the NIC + drivers you're using. Can you provide us w/ the model of the NIC? I'm looking for output from this cmd: sudo lshw -c network. This might be a lead, based on the error output you're getting: bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1114281 –  slm Feb 20 '14 at 1:41
1  
Adding that to the question. –  Naftuli Tzvi Kay Feb 20 '14 at 3:02
    
If possible, can you run wpa_supplicant command with verbose mode and paste the output ? –  SHW Feb 26 '14 at 9:33
    
@SHW Can you show me how to do that? Not sure what command to run. –  Naftuli Tzvi Kay Feb 26 '14 at 21:28
    
askubuntu.com/questions/138472/… –  SHW Feb 27 '14 at 8:10

1 Answer 1

You should switch driver from the proprietary one (wl) to the open source one, b43. The ever helpful Arch Linux wiki says, of wl:

Warning: Even though this driver has matured a lot throughout the years and works quite well now, its usage is recommended only when neither of the two open-source drivers support your device.

Your device, BCM43228, is indeed supported by b43, as you can check here.

(As an aside, the NIC name is not useful in these matters: manufacturers often sell, under the same names, NICs based on different chips, sometimes even made by different producers! For instance, check in the table referenced above, BCM4322: it contains one of four different chips, some supported, some not supported by either wl or b43. What you need to uniquely identify the NIC is the Vendor:Product code, which you can obtain by means of

 $ lspci -vnn | grep -i net
 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit Network    [8086:1502] (rev 04)
 04:00.0 Network controller [0280]: Intel Corporation Centrino Advanced-N 6235 [8086:088e] (rev 24)

In this case, the Vendor:Product code is [8086:088E]. You are lucky because BCM43228 has been produced with a single chip, 14e4:4359, thus we can determine that it is indeed supported by b43.)

Remove the wl module,

 sudo modprobe -r brcmsmac bcma
 sudo modprobe -r wl

and load the appropriate driver,

 sudo modprobe b43

It is possible that b43 is balcklisted by wl, you can check by

 cd /etc/modprobe.d
 grep -nrI b43

If there is no output, then there is no problem. Otherwise open the file that mentions b43, and substitute b43 with wl. In this case, you will need to update the initramfs file as well,

 sudo update-initramfs -u

To get rid of wl in a permanent way,

sudo apt-get purge bcmwl-kernel-source

Welcome to the world of Free Open Source Software (FOSS), where products are often vastly superior to proprietary ones.

share|improve this answer
    
I'll try this out. When I first started, if I recall correctly, b43 didn't support my chipset. That, and b43 works terribly on my MacBook, but it's a different device. –  Naftuli Tzvi Kay Jan 19 at 20:29
    
@NaftuliTzviKay I am surprised that b43 was running at all on a Mac. It is developed by Linux Wireless, and I thought it would only run on the Linux kernel... –  MariusMatutiae Jan 19 at 22:01
    
Obviously running Linux on my MacBook. –  Naftuli Tzvi Kay Jan 19 at 22:05
    
Great, but unfortunately b43 doesn't work. I'm stuck on kernel 3.7.5 and it seems to require 3.17+ for my specific card according to the b43 page. I'll try upgrading and test it out. –  Naftuli Tzvi Kay Jan 20 at 18:56
    
And by the way, I thought wl was the open source driver and b43 was the proprietary driver, as b43 uses proprietary firmware. –  Naftuli Tzvi Kay Jan 20 at 18:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.