Not sure if this is a duplicate of Broadcom STA driver doesn't work well with BCM4313 or not. It's the same series I think but I've seen no explicit reference to 4352 or 43xx (implying it's applicable for all 43xx series).
Canonical claims support for this card over here and when I booted into the live install CD it worked after enabling the driver in software-properties
. Admittingly I didn't use it enough to see if the connection was flaky. Instead I booted into a server install USB and I'm now attempting to configure it post install.
My current procedure is to run this script, which is built from snippets I've been reading about at various locations.
CONFFILE=/etc/wpa_supplicant.conf
CONF=$(cat <<CONFEND
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wireless
update_config=1
ENDCONF
)
echo "$CONF" | sudo tee $CONFFILE > /dev/null
wpa_passphrase "" "" | sudo tee -a $CONFFILE > /dev/null
sudo kill-all wpa_supplicant
sudo wpa_supplicant -B -Dwext -ieth0 -c$CONFFILE
sudo dhclient eth0
Now sometimes this runs in about 15 seconds, emits two errors (ioctl[SIOCSIWENCODEEXT]: Invalid argument
), but works fine. Can't tell if the connection is flaky or I have selected a poor mirror in apt
. However other times it takes > 5 minutes to run and emits no useful information before I kill it. I try to run the wpa_supplicant
and dhclient
lines by themselves and each take ages and report no useful errors. The end result in these cases is that iwconfig
shows the interface as associated but ifconfig
shows no ipv4 address and dhclient
refuses to fetch one.
Here's some debugging info:
Kernel log is full of these:
Feb 16 20:59:49 ALPHA kernel: [ 3680.237755] ------------[ cut here ]-----------
-
Feb 16 20:59:49 ALPHA kernel: [ 3680.237805] WARNING: CPU: 1 PID: 476 at /build/
buildd/linux-3.11.0/net/wireless/sme.c:795 cfg80211_roamed+0x89/0x90 [cfg80211](
)
Feb 16 20:59:49 ALPHA kernel: [ 3680.237808] Modules linked in: michael_mic arc4
snd_hda_codec_hdmi lib80211_crypt_tkip x86_pkg_temp_thermal coretemp wl(POF) kv
m crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw g
f128mul glue_helper ablk_helper cryptd i915 snd_hda_codec_realtek joydev eeepc_w
mi snd_hda_intel drm_kms_helper lib80211 asus_wmi snd_hda_codec sparse_keymap sn
d_hwdep drm snd_pcm hid_generic snd_page_alloc snd_seq_midi snd_seq_midi_event c
fg80211 snd_rawmidi i2c_algo_bit psmouse snd_seq snd_seq_device usbhid mei_me sn
d_timer microcode mei hid serio_raw snd e1000e soundcore video ptp lpc_ich wmi p
ps_core mac_hid lp parport ahci libahci
Feb 16 20:59:49 ALPHA kernel: [ 3680.237888] CPU: 1 PID: 476 Comm: wl_event_handle Tainted: PF W O 3.11.0-15-generic #25-Ubuntu
Feb 16 20:59:49 ALPHA kernel: [ 3680.237891] Hardware name: ASUS All Series/Z87I-DELUXE, BIOS 0702 08/30/2013
Feb 16 20:59:49 ALPHA kernel: [ 3680.237895] 0000000000000009 ffff880210463d88 ffffffff816e7375 0000000000000000
Feb 16 20:59:49 ALPHA kernel: [ 3680.237903] ffff880210463dc0 ffffffff81061dcd ffff88021436a000 ffff88020f4ad000
Feb 16 20:59:49 ALPHA kernel: [ 3680.237909] 00000000000000a3 ffff880213223f00 0000000000000001 ffff880210463dd0
Feb 16 20:59:49 ALPHA kernel: [ 3680.237916] Call Trace:
Feb 16 20:59:49 ALPHA kernel: [ 3680.237930] [<ffffffff816e7375>] dump_stack+0x45/0x56
Feb 16 20:59:49 ALPHA kernel: [ 3680.237942] [<ffffffff81061dcd>] warn_slowpath_common+0x7d/0xa0
Feb 16 20:59:49 ALPHA kernel: [ 3680.237949] [<ffffffff81061eaa>] warn_slowpath_null+0x1a/0x20
Feb 16 20:59:49 ALPHA kernel: [ 3680.237975] [<ffffffffa01c4409>] cfg80211_roamed+0x89/0x90 [cfg80211]
Feb 16 20:59:49 ALPHA kernel: [ 3680.238056] [<ffffffffa0862ea5>] wl_bss_connect_done.isra.21+0x105/0x1b0 [wl]
Feb 16 20:59:49 ALPHA kernel: [ 3680.238124] [<ffffffffa086314c>] wl_notify_connect_status+0x1fc/0x410 [wl]
Feb 16 20:59:49 ALPHA kernel: [ 3680.238189] [<ffffffffa0862445>] wl_event_handler+0x55/0x1f0 [wl]
Feb 16 20:59:49 ALPHA kernel: [ 3680.238253] [<ffffffffa08623f0>] ? wl_cfg80211_scan+0x350/0x350 [wl]
ifconfig (when the script works)
eth0 Link encap:Ethernet HWaddr 24:0a:64:31:13:1b
inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::260a:64ff:fe31:131b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:652 errors:0 dropped:1 overruns:0 frame:259012
TX packets:493 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:83037 (83.0 KB) TX bytes:69997 (69.9 KB)
Interrupt:19
iwconfig (again, when it works)
eth0 IEEE 802.11abg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: 58:6D:8F:7E:7A:77
Bit Rate=130 Mb/s Tx-Power=200 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=58/70 Signal level=-52 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
lshw
*-network
description: Wireless interface
product: BCM4352 802.11ac Wireless Network Adapter
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0
version: 03
serial: 24:0a:64:31:13:1b
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.141 (r415941) ip=192.168.1.105 latency=0 multicast=yes wireless=IEEE 802.11abg
resources: irq:19 memory:f7a00000-f7a07fff memory:f7800000-f79fffff
wpa_supplicant -h (supported drivers)
drivers:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
wired = Wired Ethernet driver
none = no driver (RADIUS server/WPS ER)
lspci -nn -d 14e4:
03:00.0 Network controller [0280]: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)
sudo cat /etc/network/interfaces | grep -Ev '^#'
auto lo
iface lo inet loopback
auto em1
iface em1 inet dhcp
auto eth0
iface eth0 inet dhcp
Edit: added extra diagnostic info
I suggest the far simpler arrangement for /etc/network/interfaces. I also suggest, so that you can ssh and ftp into the server, that you use a static IP address. If 'em1' is your ethernet under the new naming scheme, you are asking both ethernet and wireless to start automatically. I'd change /etc/network/interfaces to:
Of course, pick an address outside the DHCP pool in the router and substitute your details. Get the system to read and use the changes:
It may take a reboot.
If your cfg80211 warning persists, I suggest we troubleshoot after we get the wireless to connect smoothly.