Bringing up wirelessness (wlp6s0) on the Dell M3800 under Fedora 21

Solution

You need the packages

  • broadcom-wl
  • kmod-wl

Automatically

  • With the correct driver module installed, it “just works” on boot.

Manually

  • modprobe wl

Witness

$ ip addr show wlp6s0
5: wlp6s0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether c4:8e:8f:f4:ec:fd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.64/24 brd 192.168.1.255 scope global dynamic wlp6s0
       valid_lft 3563sec preferred_lft 3563sec
    inet6 fe80::c68e:8fff:fef4:ecfd/64 scope link 
       valid_lft forever preferred_lft forever

Original State

  • Works under the factory-installed Ubunto 14.14
  • Not recognized under stock Fedora 21 (wlan0 does not even show up).

Previously

  • Bringing up Fedora 21 on the Dell M3800 with a 4K2K Display; herein; 2015-07-07.
    tl;dr → partial success in bringup

    • wireless networking → unsolved (solved here)
    • wireline networking → solved (pesky dongle)
    • HiDPI Display → solved (GNOME settings)
    • Bluetooth → partial, you need a blob, the blob survive suspend-resume; status.
    • Suspend/Resume → UNSOLVED remains not working (does not suspend, dangerously overheats, arbitrary hang of the GPU); this makes the machine substantially unuseable beyond the hobbyist/tinkerist use case. status
  • Dell M3800 Mobile Workstation, ships with Linux, herein; 2015-03-31.
    tl;dr → promotional images, references to the promotional history

Dell M3800, ships with LinuxDell Precision M3800 Mobile workstation, ships with Linux

Configured
  • Ubuntu, surely it will work with Fedora
  • 4K2K display (3180×2160)
  • 16GB RAM
  • 1TB mSATA
Standard
  • NVIDIA Quadro K1100M
  • 4th Generation Intel i7 (Haswell)
Issues
  • No RJ45 Ethernet; need a USB-to-Ethernet dongle. :-(

Factoids

  • Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter
  • Fedora 21
  • Kernel 4.0.6 (upgraded from the stock install)

broadcom-wl

This package contains the license, README.txt and configuration files for the Broadcom 802.11 Linux STA Driver for WiFi, a Linux device driver for use with Broadcom\’s BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43142-, BCM43224-, BCM43225-, BCM43227-, BCM43228-, BCM4331-, BCM4360 and -BCM4352- based hardware.

Content of RPM:
/etc/akmods/akmod-wl/api
/etc/dracut.conf.d/20-wl.conf
/usr/lib/modprobe.d/broadcom-wl-blacklist.conf
/usr/share/doc/broadcom-wl
/usr/share/doc/broadcom-wl/LICENSE.txt
/usr/share/doc/broadcom-wl/README_6.30.223.248.txt
/usr/share/doc/broadcom-wl/fedora.readme

Folklore

Based on information, belief & hearsay, as seen written.

  • Broadcom is not “well-supported” in Linux prior to kernel 3.17.x
    Atheros & Intel are “well-supported”
  • Something about the 3.17 kernel not working with kernel 3.17

Experiences

References

  • brcm80211Broadcom brcmsmac(PCIe) and brcmfmac(SDIO/USB) drivers; In Linux Wireless, a wiki.
    tl;dr → does not seem to mention the Broadcom BCM4352
  • Broadcom 802.11 Drivers for Linux; Broadcom
    tl;dr → unhelpful.
  • 1027651Wireless driver for Broadcom BCM4352 802.11 Hybrid Wireless Controller 6.30.223.95; In Red Hat Bugzilla; 2013-11-07 → 2014-03-19.
    tl;dr → mentions brdcm80211 is not in Fedora because <quote ref=”commentariat“> <snip/>is only partially compiled and the majority is a binary blob. That is all the excuse one need to not push it upstream.</quote>  Broadcom gets a FAIL on Open Source (through 2014-03).
    Claimed in <quote ref=”brcm80211“>Completely open source host drivers, no binary object files. </quote>

Actualities

$ ifconfig -a
ifconfig: reminder, is interactive; using ip instead
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s20u3:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 9c:eb:e8:24:3a:98 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.158/24 brd 192.168.0.255 scope global dynamic enp0s20u3
       valid_lft 86101sec preferred_lft 301sec
    inet6 fdd3:34cd:f133:0:9eeb:e8ff:fe24:3a98/64 scope global noprefixroute dynamic 
       valid_lft 86396sec preferred_lft 86396sec
    inet6 fe80::9eeb:e8ff:fe24:3a98/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0:  mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 82:7d:3d:25:6b:f6 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
$ rfkill list
0: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no
1: nfc0: NFC
	Soft blocked: no
	Hard blocked: no
$ lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:04.0 Signal processing controller: Intel Corporation Device 0c03 (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation HM87 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 8 Series Chipset Family Thermal Management Controller (rev 05)
02:00.0 3D controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1)
06:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03)
07:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader (rev 01)
$ lsusb
Bus 004 Device 002: ID 8087:8000 Intel Corp. 
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 8087:8008 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0a5c:216f Broadcom Corp. 
Bus 001 Device 003: ID 04f3:21f9 Elan Microelectronics Corp. 
Bus 001 Device 002: ID 0bda:8153 Realtek Semiconductor Corp. 
Bus 001 Device 005: ID 0bda:573c Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ cat /etc/modprobe.d/openfwwf.conf 
options b43 nohwcrypt=1 qos=0
$ rpm -q -f /etc/modprobe.d/openfwwf.conf
b43-openfwwf-5.2-11.fc21.noarch
$ sudo yum install -y broadcom-wl
Loaded plugins: auto-update-debuginfo, langpacks
collected-by-http                                                                                   | 3.0 kB  00:00:00
rpmfusion-free-updates                                                                              | 2.7 kB  00:00:00
rpmfusion-nonfree-updates                                                                           | 2.7 kB  00:00:00
updates/21/x86_64/metalink                                                                          |  12 kB  00:00:00
updates                                                                                             | 4.9 kB  00:00:00
updates/21/x86_64/primary_db                                                                        | 8.4 MB  00:00:29
(1/4): rpmfusion-nonfree-updates/21/x86_64/primary_db                                               | 146 kB  00:00:01
(2/4): rpmfusion-free-updates/21/x86_64/primary_db                                                  | 355 kB  00:00:01
(3/4): updates/21/x86_64/updateinfo                                                                 | 1.3 MB  00:00:06
(4/4): updates/21/x86_64/pkgtags                                                                    | 1.6 MB  00:00:13
Resolving Dependencies
--> Running transaction check
---> Package broadcom-wl.noarch 0:6.30.223.248-3.fc21 will be installed
--> Processing Dependency: wl-kmod >= 6.30.223.248 for package: broadcom-wl-6.30.223.248-3.fc21.noarch
--> Running transaction check
---> Package kmod-wl.x86_64 0:6.30.223.248-8.fc21.5 will be installed
--> Processing Dependency: kmod-wl-4.0.7-200.fc21.x86_64 >= 6.30.223.248-8.fc21.5 for package: kmod-wl-6.30.223.248-8.fc21.5.x86_64
--> Running transaction check
---> Package kmod-wl-4.0.7-200.fc21.x86_64.x86_64 0:6.30.223.248-8.fc21.5 will be installed
--> Processing Dependency: kernel-uname-r = 4.0.7-200.fc21.x86_64 for package: kmod-wl-4.0.7-200.fc21.x86_64-6.30.223.248-8.fc21.5.x86_64
--> Running transaction check
---> Package kernel-core.x86_64 0:4.0.7-200.fc21 will be installed
--> Finished Dependency Resolution
Dependencies Resolved

===========================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================
Installing:
broadcom-wl noarch 6.30.223.248-3.fc21 rpmfusion-nonfree-updates 24 k
Installing for dependencies:
kernel-core x86_64 4.0.7-200.fc21 updates 19 M
kmod-wl x86_64 6.30.223.248-8.fc21.5 rpmfusion-nonfree-updates 19 k
kmod-wl-4.0.7-200.fc21.x86_64 x86_64 6.30.223.248-8.fc21.5 rpmfusion-nonfree-updates 1.5 M

Transaction Summary
===========================================================================================================================
Install 1 Package (+3 Dependent packages)

Total download size: 21 M
Installed size: 49 M
Downloading packages:
(1/4): broadcom-wl-6.30.223.248-3.fc21.noarch.rpm | 24 kB 00:00:00
(2/4): kmod-wl-6.30.223.248-8.fc21.5.x86_64.rpm | 19 kB 00:00:01
kernel-core-4.0.7-200.fc21.x86 FAILED ] 190 kB/s | 802 kB 00:01:47 ETA
ftp://ftp.uci.edu/mirrors/fedora/linux/updates/21/x86_64/k/kernel-core-4.0.7-200.fc21.x86_64.rpm: [Errno 14] curl#7 - "Failed to connect to ftp.uci.edu port 21: Connection refused"
Trying other mirror.
(3/4): kmod-wl-4.0.7-200.fc21.x86_64-6.30.223.248-8.fc21.5.x86_64.rpm | 1.5 MB 00:00:05
(4/4): kernel-core-4.0.7-200.fc21.x86_64.rpm | 19 MB 00:01:07
---------------------------------------------------------------------------------------------------------------------------
Total 299 kB/s | 21 MB 00:01:10
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : kernel-core-4.0.7-200.fc21.x86_64 1/4
Installing : broadcom-wl-6.30.223.248-3.fc21.noarch 2/4
Installing : kmod-wl-4.0.7-200.fc21.x86_64-6.30.223.248-8.fc21.5.x86_64 3/4
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_scan_done
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_disconnected
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_new_nm
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_width_frame
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_register
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_put_bss
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_roamed
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_width
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_gtk_rekey_notify
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_ibss_joined
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_michael_mic_failure
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_connect_result
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_unregister
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_get_bss
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol __ieee80211_get_channel
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_channel_to_frequency
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_report_wowlan_wakeup
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_frequency_to_channel
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_free
Installing : kmod-wl-6.30.223.248-8.fc21.5.x86_64 4/4
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_scan_done
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_disconnected
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_new_nm
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_width_frame
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_register
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_put_bss
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_roamed
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_inform_bss_width
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_gtk_rekey_notify
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_ibss_joined
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_michael_mic_failure
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_connect_result
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_unregister
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_get_bss
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol __ieee80211_get_channel
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_channel_to_frequency
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol cfg80211_report_wowlan_wakeup
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol ieee80211_frequency_to_channel
depmod: WARNING: /lib/modules/4.0.7-200.fc21.x86_64/extra/wl/wl.ko needs unknown symbol wiphy_free
Verifying : kmod-wl-4.0.7-200.fc21.x86_64-6.30.223.248-8.fc21.5.x86_64 1/4
Verifying : kmod-wl-6.30.223.248-8.fc21.5.x86_64 2/4
Verifying : broadcom-wl-6.30.223.248-3.fc21.noarch 3/4
Verifying : kernel-core-4.0.7-200.fc21.x86_64 4/4

Installed:
broadcom-wl.noarch 0:6.30.223.248-3.fc21

Dependency Installed:
kernel-core.x86_64 0:4.0.7-200.fc21 kmod-wl.x86_64 0:6.30.223.248-8.fc21.5
kmod-wl-4.0.7-200.fc21.x86_64.x86_64 0:6.30.223.248-8.fc21.5

Complee!
$ uname -a
Linux sonsie.example.com 4.0.6-200.fc21.x86_64 #1 SMP Tue Jun 23 13:59:12 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Comments are closed.