# BCM4352 Broadcom WiFi not working

## spike32

Hello everyone! I have this BCM4352 Broadcom WiFi card and I can not make it work. I tried to follow this guide:

https://wiki.gentoo.org/wiki/Dell_XPS_13_9343

because this Dell XPS has the same WiFi card, maybe I have done something wrong but mine isn't working, it isn't even recognized by the system.

This is the ifconfig -a output:

```

enp4s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 88:d7:f6:1f:2a:04  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 1040  bytes 79472 (77.6 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1040  bytes 79472 (77.6 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.104  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::761:9aea:463:bd92  prefixlen 64  scopeid 0x20<link>

        ether 10:62:eb:94:af:5c  txqueuelen 1000  (Ethernet)

        RX packets 1717  bytes 1685276 (1.6 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1034  bytes 177421 (173.2 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

The wlp0s20f0u1 is a USB dongle WiFi that I'm using as a temporarily solution, alongside wpa supplicant.

Instead this is the lspci output:

```

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)

00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)

00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 05)

00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)

00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)

00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)

00:15.1 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 (rev 31)

00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)

00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)

00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)

00:1c.2 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 (rev f1)

00:1c.3 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 (rev f1)

00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)

00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)

00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)

00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 950M] (rev a2)

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)

04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader (rev 01)

04:00.1 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 12)

```

Moreover, this should be my current kernel configuration: http://dpaste.com/2MSV2E2

Kernel version is 5.4.28-gentoo-x86_64

Thank you for your help!Last edited by spike32 on Sat Apr 04, 2020 2:52 pm; edited 1 time in total

----------

## axl

 *Quote:*   

> It may be impossible to fetch the distfiles needed by the net-wireless/broadcom-sta package or sys-kernel/linux-firmware (for the Intel Wireless variant) while the wireless is offline. It is recommended that you emerge the broadcom-sta or linux-firmware package during Gentoo's installation, after compiling the kernel, but before rebooting.

 

did you follow this step? do a "dmesg | grep -- -2" please.

----------

## spike32

 *axl wrote:*   

>  *Quote:*   It may be impossible to fetch the distfiles needed by the net-wireless/broadcom-sta package or sys-kernel/linux-firmware (for the Intel Wireless variant) while the wireless is offline. It is recommended that you emerge the broadcom-sta or linux-firmware package during Gentoo's installation, after compiling the kernel, but before rebooting. 
> 
> did you follow this step? do a "dmesg | grep -- -2" please.

 

Here it is!

```

[    0.529707] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

[    1.566592] sched_clock: Marking stable (1565928384, 658031)->(1569514567, -2928152)

[    2.477822] Copyright (c) 1999-2008 LSI Corporation

[    4.934966] bcma-pci-bridge 0000:03:00.0: bus0: Using fallback SPROM failed (err -2)

[    5.166361] Adding 4695036k swap on /dev/sda7.  Priority:-2 extents:1 across:4695036k SSFS

[    6.306250] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21fb.hcd failed with error -2

[    6.306251] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21fb.hcd not found

[ 1072.289194] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21fb.hcd failed with error -2

[ 1072.289199] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21fb.hcd not found

[ 1745.565194] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21fb.hcd failed with error -2

[ 1745.565198] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21fb.hcd not found

[ 5246.713730] bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21fb.hcd failed with error -2

[ 5246.713736] Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21fb.hcd not found

```

What about my kernel configuration?

----------

## axl

You skipped a step, because it was colored. It is as I expected. You are lacking the firmware packages. Don't know if you need both, but definitely need the broadcom one.

----------

## axl

If you don't have a network at this point, and cannot go back to install mode, you could try to manually copy the missing files (those that appear in dmesg with -2 error) to /lib/firmware. Be sure to respect the paths. In your case /lib/firmware/brcm/.

----------

## spike32

 *axl wrote:*   

> You skipped a step, because it was colored. It is as I expected. You are lacking the firmware packages. Don't know if you need both, but definitely need the broadcom one.

 

How should I proceed now?

----------

## spike32

 *axl wrote:*   

> If you don't have a network at this point, and cannot go back to install mode, you could try to manually copy the missing files (those that appear in dmesg with -2 error) to /lib/firmware. Be sure to respect the paths. In your case /lib/firmware/brcm/.

 

I do have internet connection, I prefer to not re-install Gentoo.

----------

## axl

 *spike32 wrote:*   

>  *axl wrote:*   If you don't have a network at this point, and cannot go back to install mode, you could try to manually copy the missing files (those that appear in dmesg with -2 error) to /lib/firmware. Be sure to respect the paths. In your case /lib/firmware/brcm/. 
> 
> I do have internet connection, I prefer to not re-install Gentoo.

 

You don't have to reinstall. just "emerge net-wireless/broadcom-sta sys-kernel/linux-firmware" and that should be all.

----------

## spike32

 *axl wrote:*   

>  *spike32 wrote:*    *axl wrote:*   If you don't have a network at this point, and cannot go back to install mode, you could try to manually copy the missing files (those that appear in dmesg with -2 error) to /lib/firmware. Be sure to respect the paths. In your case /lib/firmware/brcm/. 
> 
> I do have internet connection, I prefer to not re-install Gentoo. 
> 
> You don't have to reinstall. just "emerge net-wireless/broadcom-sta sys-kernel/linux-firmware" and that should be all.

 

I have re-emerged them and rebooted but nothing changed

----------

## axl

 *spike32 wrote:*   

> I have re-emerged them and rebooted but nothing changed

 

dmesg still shows those files missing?

----------

## axl

If you use an initrd file you might want to redo that again.

I notice in your previous post of dmesg, it shows 3 different times the kernel tried to load the firmware. One at the point of boot. That might be during initrd time. It should still work though.

----------

## Jaglover

The driver is built into kernel but the firmware is not.

----------

## axl

then add those files to CONFIG_EXTRA_FIRMWARE separated by spaces, or make it a module.

----------

## spike32

I have manually added /lib/firmware/brcm/BCM20702A1-0a5c-21fb.hcd downloaded from here https://github.com/winterheart/broadcom-bt-firmware/blob/master/brcm/BCM20702A1-0a5c-21fb.hcd

Now dmesg | grep -- -2 shows this:

```

[    0.529071] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>

[    2.458661] Copyright (c) 1999-2008 LSI Corporation

[    4.921855] bcma-pci-bridge 0000:03:00.0: bus0: Using fallback SPROM failed (err -2)

[    6.686897] Adding 4695036k swap on /dev/sda7.  Priority:-2 extents:1 across:4695036k SSFS

```

----------

## NeddySeagoon

spike32,

Is that from your Gentoo?

```
wlp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.104  netmask 255.255.255.0  broadcast 192.168.1.255 
```

It works well enough to have an IP address, so what doesn't work?

Your missing firmware looks to be for Bluetooth but it might well be shared.

The 2.4GHz band is used by both Wifi and Bluetooth. Indeed, some chipsets share the radio components.

Your dmesg output when you boot your own kernel would be good.

Its big so has to go to a pasetbin site.

If you need to, you can do 

```
dmesg > /dmesg.txt
```

then post dmesg.txt after you reboot to get networking.

Your kernel BCM43_ is built into the kernel but its firmware is not listed in CONFIG_EXTRA_FIRMWARE=""

The kernel wireless page indicates that your Wifi may not be supported by in kernel drivers.

The output of 

```
lspci -nnk
```

would be good, so we can see the pci vendor and device IDs for your 

```
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
```

There are other drivers but we need to know which chip you actually have.  BCM4352 is a bit vague.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Is that from your Gentoo?
> 
> ```
> ...

 

As I said, wlp0s20f0u1 is NOT my wifi card, but it is a wifi usb dongle that I'm using as a temporarily solution.

 *Quote:*   

> 
> 
> Your dmesg output when you boot your own kernel would be good.
> 
> Its big so has to go to a pasetbin site.
> ...

 

lspci -nnk output:

```

00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5910] (rev 05)

00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 05)

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 630 [8086:591b] (rev 04)

00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 05)

00:14.0 USB controller [0c03]: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller [8086:a12f] (rev 31)

00:14.2 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem [8086:a131] (rev 31)

00:15.0 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 [8086:a160] (rev 31)

00:15.1 Signal processing controller [1180]: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 [8086:a161] (rev 31)

00:16.0 Communication controller [0780]: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 [8086:a13a] (rev 31)

00:17.0 SATA controller [0106]: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] [8086:a103] (rev 31)

00:1c.0 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 [8086:a110] (rev f1)

00:1c.2 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 [8086:a112] (rev f1)

00:1c.3 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #4 [8086:a113] (rev f1)

00:1f.0 ISA bridge [0601]: Intel Corporation HM175 Chipset LPC/eSPI Controller [8086:a152] (rev 31)

00:1f.2 Memory controller [0580]: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller [8086:a121] (rev 31)

00:1f.3 Audio device [0403]: Intel Corporation CM238 HD Audio Controller [8086:a171] (rev 31)

00:1f.4 SMBus [0c05]: Intel Corporation 100 Series/C230 Series Chipset Family SMBus [8086:a123] (rev 31)

01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 950M] [10de:139a] (rev a2)

03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)

04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTL8411B PCI Express Card Reader [10ec:5287] (rev 01)

04:00.1 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 12)

```

----------

## NeddySeagoon

spike32,

You need net-wireless/broadcom-sta as mentioned above and its firmware.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> You need net-wireless/broadcom-sta as mentioned above and its firmware.

 

I have done two times

 *Quote:*   

> sudo emerge --ask net-wireless/broadcom-sta

 

and 

 *Quote:*   

> sudo emerge --ask sys-kernel/linux-firmware

 

----------

## spike32

Do I have to install sys-firmware/b43-firmware too?

----------

## axl

OK. Describe the problem you are having now. We were waiting for updates from you. We can't diagnose a problem if we don't know anything about it.

----------

## spike32

 *axl wrote:*   

> OK. Describe the problem you are having now. We were waiting for updates from you. We can't diagnose a problem if we don't know anything about it.

 

The problem is that my wifi card is not even recognised

```

eth0: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether 88:d7:f6:1f:2a:04  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 448  bytes 33752 (32.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 448  bytes 33752 (32.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.104  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::761:9aea:463:bd92  prefixlen 64  scopeid 0x20<link>

        ether 10:62:eb:94:af:5c  txqueuelen 1000  (Ethernet)

        RX packets 284803  bytes 386420702 (368.5 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 87147  bytes 11391357 (10.8 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

I repeat, wlp0s20f0u1 is NOT my wifi card, it is just a wifi usb dongle.

----------

## NeddySeagoon

spike32,

I don't think that your firmware is is the linux-firmware package.

Please put all of dmesg onto a pastebin site.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> I don't think that your firmware is is the linux-firmware package.
> 
> Please put all of dmesg onto a pastebin site.

 

Here it is https://pastebin.com/k9d9SqmG

----------

## axl

 *Quote:*   

> 
> 
> [    5.126358] wl: loading out-of-tree module taints kernel.
> 
> [    5.126360] wl: module license 'MIXED/Proprietary' taints kernel.
> ...

 

I think this might be the relevant bit. Although I have no idea what to do next. Seems to me to be a conflict between a less then ideal driver in the kernel, and a better driver outside of kernel which compete for the same resources. Sort of like nouveau & nvidia.

I don't exactly know where this wl module came from, but based on a cursory google reading, seems you have to disable the kernel modules, if you plan to use the broadcom proprietary drivers. so blacklist or disable brcmsmac, bcma and b43.

Now, I wouldn't suggest to actually do that if you have no backup, because I think your removable usb wifi thingy might need 1 or 2 of those. I seen your computer has an ethernet port, so maybe use that instead of your wifi adaptor, and then you can continue to disable those and go with wl alone. Not sure how to proceed at this point.

----------

## NeddySeagoon

spike32,

Lets rewind a little.

You can try wl or broadcom-sta but only one may be loaded at a time.

If you manage to load both, look in

```
lsmod
```

they will fight over the hardware and neither can win.

----------

## spike32

 *axl wrote:*   

>  *Quote:*   
> 
> [    5.126358] wl: loading out-of-tree module taints kernel.
> 
> [    5.126360] wl: module license 'MIXED/Proprietary' taints kernel.
> ...

 

Ok I tried to add this to /etc/modprobe.d/blacklist.conf:

```

blacklist ssb

blacklist brcmsmac

blacklist bcma

blacklist b43

```

Now ifconfig -a shows me another device:

```

enp4s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 88:d7:f6:1f:2a:04  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 300  bytes 22284 (21.7 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 300  bytes 22284 (21.7 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.104  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::1262:ebff:fe94:af5c  prefixlen 64  scopeid 0x20<link>

        inet6 fe80::761:9aea:463:bd92  prefixlen 64  scopeid 0x20<link>

        ether 10:62:eb:94:af:5c  txqueuelen 1000  (Ethernet)

        RX packets 2649  bytes 3392347 (3.2 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 1075  bytes 256593 (250.5 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 169.254.219.99  netmask 255.255.0.0  broadcast 169.254.255.255

        inet6 fe80::9dc9:31e4:4719:6b12  prefixlen 64  scopeid 0x20<link>

        ether 28:c2:dd:e6:06:dd  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

        device interrupt 18

```

I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work.Last edited by spike32 on Sun Apr 05, 2020 9:52 am; edited 1 time in total

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Lets rewind a little.
> 
> You can try wl or broadcom-sta but only one may be loaded at a time.
> ...

 

This is the lsmod output:

```

Module                  Size  Used by

ccm                    20480  3

8021q                  36864  0

garp                   16384  1 8021q

mrp                    20480  1 8021q

stp                    16384  1 garp

llc                    16384  2 stp,garp

vfat                   20480  1

btusb                  57344  0

uvcvideo              114688  0

btrtl                  24576  1 btusb

rtl8xxxu              139264  0

videobuf2_vmalloc      20480  1 uvcvideo

btbcm                  16384  1 btusb

videobuf2_memops       20480  1 videobuf2_vmalloc

btintel                28672  1 btusb

videobuf2_v4l2         28672  1 uvcvideo

videobuf2_common       57344  2 videobuf2_v4l2,uvcvideo

bluetooth             626688  5 btrtl,btintel,btbcm,btusb

videodev              253952  3 videobuf2_v4l2,uvcvideo,videobuf2_common

mac80211              970752  1 rtl8xxxu

mc                     61440  4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common

ecdh_generic           16384  1 bluetooth

ecc                    32768  1 ecdh_generic

libarc4                16384  1 mac80211

x86_pkg_temp_thermal    20480  0

intel_powerclamp       20480  0

snd_hda_codec_hdmi     73728  1

coretemp               20480  0

kvm_intel             241664  0

kvm                   786432  1 kvm_intel

irqbypass              16384  1 kvm

rtsx_pci_sdmmc         32768  0

rtsx_pci_ms            24576  0

iTCO_wdt               16384  0

crct10dif_pclmul       16384  1

memstick               20480  1 rtsx_pci_ms

mmc_core              180224  1 rtsx_pci_sdmmc

iTCO_vendor_support    16384  1 iTCO_wdt

crc32_pclmul           16384  0

mei_hdcp               24576  0

crc32c_intel           24576  0

i2c_designware_platform    16384  0

snd_hda_codec_realtek   126976  1

i2c_designware_core    28672  1 i2c_designware_platform

asus_nb_wmi            28672  0

intel_rapl_msr         20480  0

snd_hda_codec_generic    94208  1 snd_hda_codec_realtek

asus_wmi               36864  1 asus_nb_wmi

sparse_keymap          16384  1 asus_wmi

wmi_bmof               16384  0

mxm_wmi                16384  0

ghash_clmulni_intel    16384  0

ledtrig_audio          16384  2 snd_hda_codec_generic,snd_hda_codec_realtek

aesni_intel           372736  2

crypto_simd            16384  1 aesni_intel

snd_hda_intel          49152  3

snd_intel_nhlt         20480  1 snd_hda_intel

cryptd                 24576  2 crypto_simd,ghash_clmulni_intel

glue_helper            16384  1 aesni_intel

intel_cstate           20480  0

snd_hda_codec         155648  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek

snd_hda_core           98304  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek

wl                   6418432  0

intel_uncore          147456  0

snd_hwdep              16384  1 snd_hda_codec

snd_pcm               118784  4 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core

efi_pstore             16384  0

i915                 2375680  42

intel_rapl_perf        20480  0

r8169                  98304  0

joydev                 28672  0

snd_timer              40960  1 snd_pcm

i2c_algo_bit           16384  1 i915

realtek                24576  1

pcspkr                 16384  0

cfg80211              835584  2 wl,mac80211

snd                    98304  14 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm

drm_kms_helper        217088  1 i915

serio_raw              20480  0

efivars                20480  1 efi_pstore

soundcore              16384  1 snd

i2c_i801               32768  0

libphy                 98304  2 r8169,realtek

rtsx_pci               81920  2 rtsx_pci_sdmmc,rtsx_pci_ms

rfkill                 28672  6 asus_wmi,bluetooth,cfg80211

sr_mod                 28672  0

drm                   552960  11 drm_kms_helper,i915

cdrom                  73728  1 sr_mod

intel_lpss_pci         20480  0

processor_thermal_device    20480  0

mei_me                 45056  1

intel_lpss             16384  1 intel_lpss_pci

xhci_pci               20480  0

idma64                 20480  0

mei                   118784  3 mei_hdcp,mei_me

intel_rapl_common      28672  2 intel_rapl_msr,processor_thermal_device

xhci_hcd              299008  1 xhci_pci

i2c_core               94208  8 i2c_designware_platform,videodev,i2c_designware_core,drm_kms_helper,i2c_algo_bit,i2c_i801,i915,drm

mfd_core               16384  2 rtsx_pci,intel_lpss

intel_pch_thermal      16384  0

intel_soc_dts_iosf     20480  1 processor_thermal_device

int3403_thermal        16384  0

int340x_thermal_zone    16384  2 int3403_thermal,processor_thermal_device

video                  53248  2 asus_wmi,i915

wmi                    36864  3 asus_wmi,wmi_bmof,mxm_wmi

backlight              20480  3 video,asus_wmi,i915

int3400_thermal        20480  0

acpi_thermal_rel       16384  1 int3400_thermal

asus_wireless          20480  0

acpi_pad              184320  0

mac_hid                16384  0

efivarfs               16384  1

msdos                  20480  0

fat                    86016  2 msdos,vfat

cramfs                 57344  0

overlay               135168  0

squashfs               65536  0

loop                   40960  0

fuse                  139264  1

f2fs                  614400  0

xfs                  1654784  0

nfs                   352256  0

lockd                 122880  1 nfs

grace                  16384  1 lockd

sunrpc                466944  2 lockd,nfs

fscache               393216  1 nfs

jfs                   217088  0

reiserfs              290816  0

btrfs                1482752  0

xor                    24576  1 btrfs

raid6_pq              122880  1 btrfs

libcrc32c              16384  2 btrfs,xfs

ext4                  774144  1

mbcache                16384  1 ext4

jbd2                  131072  1 ext4

sd_mod                 57344  4

mpt3sas               299008  0

raid_class             16384  1 mpt3sas

scsi_transport_sas     45056  1 mpt3sas

megaraid               49152  0

megaraid_sas          176128  0

mptspi                 28672  0

mptscsih               45056  1 mptspi

mptbase                98304  2 mptspi,mptscsih

scsi_transport_spi     40960  1 mptspi

pdc_adma               16384  0

sata_inic162x          16384  0

sata_mv                40960  0

sata_qstor             16384  0

sata_vsc               16384  0

sata_uli               16384  0

sata_sis               16384  0

pata_sis               20480  1 sata_sis

sata_sx4               20480  0

sata_nv                32768  0

sata_via               24576  0

sata_svw               16384  0

sata_sil24             24576  0

sata_sil               16384  0

sata_promise           20480  0

ata_piix               36864  0

ahci                   40960  3

libahci                40960  1 ahci

nvme_fc                45056  0

nvme_loop              20480  0

nvmet                 102400  1 nvme_loop

nvme_rdma              40960  0

rdma_cm                73728  1 nvme_rdma

iw_cm                  57344  1 rdma_cm

ib_cm                  61440  1 rdma_cm

ib_core               360448  4 rdma_cm,nvme_rdma,iw_cm,ib_cm

configfs               53248  3 rdma_cm,nvmet

ipv6                  581632  80 rdma_cm,ib_core

crc_ccitt              16384  1 ipv6

nf_defrag_ipv6         24576  1 ipv6

nvme_fabrics           28672  3 nvme_fc,nvme_rdma,nvme_loop

nvme                   53248  0

nvme_core             106496  5 nvme,nvme_fc,nvme_rdma,nvme_loop,nvme_fabrics

```

----------

## axl

 *spike32 wrote:*   

> I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work.

 

Cool. We're one step close. 

Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs?

----------

## spike32

 *axl wrote:*   

>  *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs?

 

I tried to use the interface alongside wpa supplicant. When I try to scan through wpa_cli it says that it fails.

----------

## axl

 *spike32 wrote:*   

> I tried to use the interface alongside wpa supplicant. When I try to scan through wpa_cli it says that it fails.

 

Does dmesg offer any relevant info? Perhaps syslog or journalctl based on what type of setup you have?

We are looking for pieces of logs relevant to the wl module.

----------

## gddman

 *spike32 wrote:*   

>  *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

Make sure you enable the 

```
broadcom-sta
```

 USE flag on wpa_supplicant. Or else you won't be able to scan correctly. Basically, this use flag makes you disable the 'fils', 'mesh', and 'mbo' USE flags as well, which are features in wpa_supplicant that are incompatible with wl/broadcom-sta and interfere with its ability to scan.

----------

## NeddySeagoon

spike32,

```
wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 169.254.219.99  netmask 255.255.0.0  broadcast 169.254.255.255 
```

That's your on board wifi. So step 1 is complete, getting the kernel to see it.

```
inet 169.254.219.99
```

is a self assigned link local IP address. That lells that it tried to reach a dhcp server and failed.

dmesg will tell more.

----------

## spike32

 *gddman wrote:*   

>  *spike32 wrote:*    *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

I'm sorry, I don't understand which USE flag I have to add

----------

## gddman

 *spike32 wrote:*   

>  *gddman wrote:*    *spike32 wrote:*    *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

It's the 'broadcom-sta' USE flag on the 'wpa_supplicant' package. Then re-emerge wpa_supplicant. I use the broadcom-sta driver as well, and this is what I had to do in order for it to scan correctly.

----------

## spike32

This is the dmesg output https://pastebin.com/wieQqcNc

----------

## spike32

 *gddman wrote:*   

>  *spike32 wrote:*    *gddman wrote:*    *spike32 wrote:*    *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

I tried to re-emerge wpa_supplicant but I have this error:

```

sudo emerge --ask net-wireless/wpa_supplicant

/usr/lib64/python3.6/site-packages/portage/package/ebuild/_config/KeywordsManager.py:70: UserWarning: /etc/portage/package.keywords is deprecated, use /etc/portage/package.accept_keywords instead

  UserWarning)

These are the packages that would be merged, in order:

Calculating dependencies /

!!! Problem resolving dependencies for net-wireless/wpa_supplicant

... done!

!!! The ebuild selected to satisfy "net-wireless/wpa_supplicant" has unmet requirements.

- net-wireless/wpa_supplicant-2.9-r2::gentoo USE="broadcom-sta dbus fils hs2-0 mbo mesh qt5 readline -ap -bindist -eap-sim -eapol-test -fasteap -libressl -macsec -p2p -privsep (-ps3) (-selinux) -smartcard -tdls -uncommon-eap-types (-wimax) -wps" ABI_X86="(64)"

  The following REQUIRED_USE flag constraints are unsatisfied:

    broadcom-sta? ( !fils !mesh !mbo )

  The above constraints are a subset of the following complete expression:

    macsec? ( !privsep ) privsep? ( !macsec ) broadcom-sta? ( !fils !mesh !mbo )

```

What I have done before this is:

```
sudo echo "net-wireless/wpa_supplicant broadcom-sta" >> /etc/portage/package.use/wpa_supplicant
```

----------

## gddman

 *spike32 wrote:*   

>  *gddman wrote:*    *spike32 wrote:*    *gddman wrote:*    *spike32 wrote:*    *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

Okay, great. You're on the right track. What that's saying is that you also have to disable the fils, mesh, and mbo USE flags (as those conflict with the broadcom-sta use flag)

This should do it

```
sudo echo "net-wireless/wpa_supplicant broadcom-sta -fils -mesh -mbo" >> /etc/portage/package.use/wpa_supplicant
```

----------

## spike32

 *gddman wrote:*   

>  *spike32 wrote:*    *gddman wrote:*    *spike32 wrote:*    *gddman wrote:*    *spike32 wrote:*    *axl wrote:*    *spike32 wrote:*   I guess wlp3s0 should be my wifi card. I tried to make it work with wpa supplicant but it doesn't work. 
> 
> Cool. We're one step close. 
> 
> Now... what does "it doesn't work" mean? What did you try? What were you expecting and what actually happened? Any error message? Any logs? 
> ...

 

It's working! Thank you so much!

----------

## spike32

 *spike32 wrote:*   

> 
> 
> ```
> 
> blacklist ssb
> ...

 

Should I uninstall these blacklisted packages?

----------

## NeddySeagoon

spike32,

Those are kernel modules. You need take no action now but you can remove them next time you build your kernel.

Meanwhile, the blacklist allows them to be built but not installed.

----------

## spike32

What about bluetooth instead? It's built on the same card.

----------

## NeddySeagoon

spike32,

Does it work?

What does dmesg say about it?

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Does it work?
> 
> What does dmesg say about it?

 

Nope, it doesn't work.

This is the dmesg output https://pastebin.com/jGp2qAJN

I have already set up kernel options reported in this guide https://wiki.gentoo.org/wiki/Dell_XPS_13_9343

----------

## NeddySeagoon

spike32,

Trimming all the non bluetooth stuff

```
[    5.700035] Bluetooth: Core ver 2.22

[    5.700046] Bluetooth: HCI device and connection manager initialized

[    5.700048] Bluetooth: HCI socket layer initialized

[    5.700049] Bluetooth: L2CAP socket layer initialized

[    5.700051] Bluetooth: SCO socket layer initialized

[    5.746822] usbcore: registered new interface driver btusb

[    5.858245] Bluetooth: hci0: BCM: chip id 63

[    5.859217] Bluetooth: hci0: BCM: features 0x07

[    5.875220] Bluetooth: hci0: BCM20702A

[    5.876215] Bluetooth: hci0: BCM20702A1 (001.002.014) build 0000

[    6.788321] Bluetooth: hci0: BCM20702A1 (001.002.014) build 1766

[    6.804275] Bluetooth: hci0: DW1550 Bluetooth 4.0 LE
```

Your kernel looks good. That's the hard bit.

What does rfkill say about bluetooth? 

What USE flags is net-wireless/bluez built with?

```
eix bluez
```

 or 

```
emerge -pv bluez
```

 will tell.

What bluetooth functionality are you trying to use?

What happens when you try. Verbatim error message would be good here.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Trimming all the non bluetooth stuff
> 
> ```
> ...

 

```
sudo emerge -pv bluez

/usr/lib64/python3.6/site-packages/portage/package/ebuild/_config/KeywordsManager.py:70: UserWarning: /etc/portage/package.keywords is deprecated, use /etc/portage/package.accept_keywords instead

  UserWarning)

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R    ] net-wireless/bluez-5.54:0/3::gentoo  USE="cups mesh obex readline udev -btpclient -debug -deprecated -doc -experimental -extra-tools -midi (-selinux) -systemd -test -test-programs -user-session" ABI_X86="(64) -32 (-x32)" PYTHON_SINGLE_TARGET="python3_6 -python3_7 (-python3_8)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

```

Just the bluetooth option in KDE settings says No Bluetooth adapters have been found.

----------

## axl

Did you start the bluetooth service? either /etc/init.d/bluetooth start or systemctl start bluetooth?

----------

## spike32

 *axl wrote:*   

> Did you start the bluetooth service? either /etc/init.d/bluetooth start or systemctl start bluetooth?

 

Sorry, I'm dumb XD Yes it works!

----------

## axl

That's ok. I am glad you got it working. Anything else that still needs to be fixed?

----------

## NeddySeagoon

spike32,

Depending on what you want to do you may need net-wireless/bluez built with the deprecated and/or extra-tools USE flags.

While it works, that's fine. :)

----------

## spike32

I don't know what happened, I have run 

```
emerge @module-rebuild
```

 following this guide https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers

and now my broadcom wifi card doesn't work anymore. It doesn't show up in ifconfig too.

----------

## NeddySeagoon

spike32,

I suspoct that 

```
emerge @module-rebuild
```

didn't rebuild broadcom-sta for you.

That might be a bug. 

The @module-rebuild set is supposed to track these things unless you used --one-shot when you installed broadcom-sta.

Try 

```
emerge broadcom-sta
```

then report back.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> I suspoct that 
> 
> ```
> ...

 

Tried it but nothing changed

----------

## NeddySeagoon

spike32,

What does 

```
uname -a
```

show?

What does 

```
readlink /usr/src/linux
```

 show?

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> What does 
> 
> ```
> ...

 

uname -a: 

```
Linux mauro 5.4.28-gentoo-x86_64 #1 SMP Sat Apr 4 10:05:55 CEST 2020 x86_64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz GenuineIntel GNU/Linux

```

readlink /usr/src/linux:

```
linux-5.4.28-gentoo
```

----------

## spike32

What could have happened?

----------

## spike32

 *axl wrote:*   

> That's ok. I am glad you got it working. Anything else that still needs to be fixed?

 

Hey! I need your help!   :Very Happy: 

----------

## spike32

Guys I really need your help, I'm going crazy with this wifi card

----------

## NeddySeagoon

spike32,

Please pastebin your dmesg after wifi fails to start.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Please pastebin your dmesg after wifi fails to start.

 

Here it is https://pastebin.com/imgR0aBH

----------

## NeddySeagoon

spike32,

```
[   83.213739] usb 1-1: RTL8192EU rev B (SMIC) 2T2R, TX queues 3, WiFi=1, BT=0, GPS=0, HI PA=0

[   83.213742] usb 1-1: RTL8192EU MAC: 10:62:eb:94:af:5c

[   83.213745] usb 1-1: rtl8xxxu: Loading firmware rtlwifi/rtl8192eu_nic.bin

[   83.213813] usb 1-1: Firmware revision 19.0 (signature 0x92e1)[   84.069683] rtl8xxxu 1-1:1.0 wlp0s20f0u1: renamed from wlan0

[   85.326608] wlp0s20f0u1: authenticate with e8:de:27:4d:da:46

[   85.334159] wlp0s20f0u1: send auth to e8:de:27:4d:da:46 (try 1/3)

[   85.335977] wlp0s20f0u1: authenticated

[   85.339428] wlp0s20f0u1: associate with e8:de:27:4d:da:46 (try 1/3)

[   85.343181] wlp0s20f0u1: RX AssocResp from e8:de:27:4d:da:46 (capab=0x431 status=0 aid=5)

[   85.343938] usb 1-1: rtl8xxxu_bss_info_changed: HT supported

[   85.344460] wlp0s20f0u1: associated
```

That says it worked. At least, the radio link is working but there is no sign that wlp0s20f0u1 ever did any more.

It should be in 

```
ifconfig -a
```

bun not in ifconfig (without the -a) as the interface is not up.

```
dhcpcd wlp0s20f0u1
```

should do the ethernet setup, just once, so it will work until the lease expires.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> ```
> [   83.213739] usb 1-1: RTL8192EU rev B (SMIC) 2T2R, TX queues 3, WiFi=1, BT=0, GPS=0, HI PA=0
> 
> ...

 

wlp0s20f0u1 is NOT my wifi card, it is just a usb wifi dongle.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> ```
> [   83.213739] usb 1-1: RTL8192EU rev B (SMIC) 2T2R, TX queues 3, WiFi=1, BT=0, GPS=0, HI PA=0
> 
> ...

 

Anyway, ifconfig -a doesn't show my wifi card

```
enp4s0f1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether 88:d7:f6:1f:2a:04  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 166  bytes 12188 (11.9 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 166  bytes 12188 (11.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.109  netmask 255.255.255.0  broadcast 192.168.1.255

        inet6 fe80::a505:39f5:8866:f9b4  prefixlen 64  scopeid 0x20<link>

        ether 10:62:eb:94:af:5c  txqueuelen 1000  (Ethernet)

        RX packets 183360  bytes 239665912 (228.5 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 105580  bytes 14740772 (14.0 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

wlp0s20f0u1 is NOT my wifi card.

----------

## NeddySeagoon

spike32,

Lets go back to 4th April.

What happens when you build broadcom-sta. 

What kernel does it build against?

Is it the kernel you expect it to build against?

----------

## spike32

I am currently running the same kernel version of 4th April

----------

## spike32

Any idea?

----------

## NeddySeagoon

spike32,

 *Quote:*   

> I am currently running the same kernel version of 4th April

 

Is it that very kernel or have you rebuilt it for some reason?

What does 

```
uname -a
```

 show?

My other two questions remain unanswered.

 *Quote:*   

> What happens when you build broadcom-sta.
> 
> What kernel does it build against?

 

----------

## axl

My guess based on the information available is that you didn't recompile broadcom-sta against the new kernel. Each time you update and/or recompile the old kernel, you also have to reinstall all the external modules. Things like broadcom-sta, nvidia, virtualbox modules, vmware modules. All have to be reinstalled. While new kernels simply do not have those modules at all, even old kernels that are reinstalled have to go through the same step again, because when you install modules (make modules_installed) the old ones are deleted. Completely. That includes external modules. And that's why you have to reinstall those too. Received the PM, sorry it took so long to reply.

----------

## spike32

 *NeddySeagoon wrote:*   

> What does 
> 
> ```
> uname -a
> ```
> ...

 

```
Linux mauro 5.4.28-gentoo-x86_64 #1 SMP Tue Apr 14 01:21:35 CEST 2020 x86_64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz GenuineIntel GNU/Linux
```

 *Quote:*   

> What happens when you build broadcom-sta.

 

It compiles and it is being installed, the only "anomaly" that I get is this message:

```
SSB: If you insist on building this, you must blacklist it!
```

that was appearing also before all of this, although it is blacklisted in /etc/modprobe.d/blacklist.conf

```
blacklist ssb

blacklist brcmsmac

blacklist bcma

blacklist b43

blacklist mac80211
```

 *Quote:*   

> What kernel does it build against?

 

What do you mean?

----------

## axl

Don't blacklist mac80211. That is generic wifi networking support. I think you still need that one.

----------

## spike32

 *axl wrote:*   

> Don't blacklist mac80211. That is generic wifi networking support. I think you still need that one.

 

So I need to activate it in kernel too?

----------

## axl

 *spike32 wrote:*   

>  *axl wrote:*   Don't blacklist mac80211. That is generic wifi networking support. I think you still need that one. 
> 
> So I need to activate it in kernel too?

 

I don't understand. Why would you blacklist something that is completely missing from the kernel. We're talking about 2 different things. Wifi networking support, AND wifi drivers. I think mac80211 is part of networking support. You just needed to blacklist the drivers in kernel, not wifi as networking stack. And further more, I don't know how broadcom would work without that. But then again maybe I'm wrong. Not sure. There are conflicting information out there and not having the device myself, I cannot test.

----------

## spike32

 *axl wrote:*   

>  *spike32 wrote:*    *axl wrote:*   Don't blacklist mac80211. That is generic wifi networking support. I think you still need that one. 
> 
> So I need to activate it in kernel too? 
> 
> I don't understand. Why would you blacklist something that is completely missing from the kernel. We're talking about 2 different things. Wifi networking support, AND wifi drivers. I think mac80211 is part of networking support. You just needed to blacklist the drivers in kernel, not wifi as networking stack. And further more, I don't know how broadcom would work without that. But then again maybe I'm wrong. Not sure. There are conflicting information out there and not having the device myself, I cannot test.

 

Yeah I know, in fact I am grateful to you for all your help. Anyway, https://wiki.gentoo.org/wiki/Dell_XPS_13_9343 here Generic IEEE 802.11 Networking Stack (mac80211) it's not activated. But I can give it a try.

----------

## NeddySeagoon

spike32,

That kernel was built on

```
Tue Apr 14 01:21:35 CEST 2020
```

so it is not the same kerenel as you were running on April 4.

Even if its built with the same config file, its not the same kernel.

Reading the broadcom-sta-6.30.223.271-r5.ebuild file it contains

```
pkg_setup() {

        # bug #300570

        # NOTE<lxnay>: module builds correctly anyway with b43 and SSB enabled

        # make checks non-fatal. The correct fix is blackisting ssb and, perhaps

        # b43 via udev rules. Moreover, previous fix broke binpkgs support.

        CONFIG_CHECK="~!B43 ~!BCMA ~!SSB ~!X86_INTEL_LPSS"

        CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"

        ERROR_B43="B43: If you insist on building this, you must blacklist it!"

        ERROR_BCMA="BCMA: If you insist on building this, you must blacklist it!"

        ERROR_SSB="SSB: If you insist on building this, you must blacklist it!"

        ERROR_LIB80211="LIB80211: Please enable it. If you can't find it: enabling the driver for \"Intel PRO/Wireless 2100\" or \"Intel PRO/Wireless 2200BG\" (IPW2100 or IPW2200) should suffice."

        ERROR_MAC80211="MAC80211: If you insist on building this, you must blacklist it!"

        ERROR_PREEMPT_RCU="PREEMPT_RCU: Please do not set the Preemption Model to \"Preemptible Kernel\"; choose something else."

        ERROR_LIB80211_CRYPT_TKIP="LIB80211_CRYPT_TKIP: You will need this for WPA."

        ERROR_X86_INTEL_LPSS="X86_INTEL_LPSS: Please disable it. The module does not work with it enabled."

        if kernel_is ge 3 8 8; then

                CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211 ~!PREEMPT_RCU ~!PREEMPT"

        elif kernel_is ge 2 6 32; then

                CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} CFG80211"

        elif kernel_is ge 2 6 31; then

                CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT ~!MAC80211"

        elif kernel_is ge 2 6 29; then

                CONFIG_CHECK="${CONFIG_CHECK} ${CONFIG_CHECK2} WIRELESS_EXT COMPAT_NET_DEV_OPS"

        else

                CONFIG_CHECK="${CONFIG_CHECK} IEEE80211 IEEE80211_CRYPT_TKIP"

        fi

        linux-mod_pkg_setup

        BUILD_PARAMS="-C ${KV_DIR} M=${S}"

        BUILD_TARGETS="wl.ko"

}
```

The important bits there are 

```
        CONFIG_CHECK="~!B43 ~!BCMA ~!SSB ~!X86_INTEL_LPSS"

        CONFIG_CHECK2="LIB80211 ~!MAC80211 ~LIB80211_CRYPT_TKIP"
```

and the following messages.

MAC80211 is not required but LIB80211 is.

This package builds a kernel module called wl.ko. It cannot be built in, so will appear in lsmod as wl once its loaded.

Your dmesg of 14 Apr shows no sign of a kernel taint, so the module did not load.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> That kernel was built on
> 
> ```
> ...

 

LIB80211 activated and SSB disabled, nothing changed

----------

## fturco

I suggest enabling the CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC kernel options and verifying broadcom-sta ebuild's requirements directly from  /proc/config.gz.

----------

## NeddySeagoon

spike32,

Your problem reports are a bit on the terse side.

What does 

```
uname -a
```

 show? 

The date and time will be sometime during April 16, or you are not running your new kernel?

Did you do 

```
emerge @module-rebuild 
```

after the new kernel was installed?

Does dmesg show that your kernel is tainted? 

If not the module failed to load.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> Your problem reports are a bit on the terse side.
> 
> What does 
> ...

 

uname -a 

```
Linux mauro 5.4.28-gentoo-x86_64 #1 SMP Tue Apr 14 01:21:35 CEST 2020 x86_64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz GenuineIntel GNU/Linux
```

dmesg https://pastebin.com/mx10UFaU

----------

## spike32

 *fturco wrote:*   

> I suggest verifying broadcom-sta ebuild's requirements directly from  /proc/config.gz.

 

What do you mean with this?

----------

## NeddySeagoon

spike32,

You have messed up the kernel install or not rebooted into your new kernel.

```
Tue Apr 14 01:21:35 CEST
```

is Tuesdays kernel. I was expecting todays date.

----------

## spike32

 *NeddySeagoon wrote:*   

> spike32,
> 
> You have messed up the kernel install or not rebooted into your new kernel.
> 
> ```
> ...

 

Could you please just clarify one thing? When I apply changes to the kernel what I do is:

 - cd /usr/src/linux 

 - make menuconfig 

 - save and exit

 - make oldconfig 

 - make -j5

 - reboot 

Is this process right?

----------

## axl

Well, these steps are lacking the install part. I never used make install. So not sure how that works. 

But i do make modules_install. And I do manually copy arch/x86/boot/bzImage /boot/${kernel}. This last part being the most important one. Again, not sure what make install does... but in your case you're not booting the new kernel.

----------

## Hu

Those steps are correct, but incomplete.  They leave you with a compiled kernel that is not active, because you never installed it or updated your bootloader to use it.

----------

## spike32

 *Hu wrote:*   

> Those steps are correct, but incomplete.  They leave you with a compiled kernel that is not active, because you never installed it or updated your bootloader to use it.

 

So which is the missing step?

----------

## fturco

- cd /usr/src/linux

- make menuconfig

- save and exit

- make oldconfig

- make -j5

- make install

- make modules_install

- update boot loader configuration

- reboot

----------

## spike32

 *fturco wrote:*   

> 
> 
> - update boot loader configuration

 

This one with 

```
grub-mkconfig -o /boot/grub/grub.cfg
```

 am I right?

----------

## fturco

 *spike32 wrote:*   

>  *fturco wrote:*   I suggest verifying broadcom-sta ebuild's requirements directly from  /proc/config.gz. 
> 
> What do you mean with this?

 

Basically, if you enable those options you will be able to get the currently running kernel configuration from the /proc/config.gz file.

I suggested that in order to detect possible user mistakes when building/installing a new kernel, since in those cases it may happen that /usr/src/linux/.config and /proc/config.gz differ.

----------

## fturco

 *spike32 wrote:*   

>  *fturco wrote:*   
> 
> - update boot loader configuration 
> 
> This one with 
> ...

 

If you use GRUB 2, then yes, it's right.

----------

## fturco

I'm sorry, I forgot one important step:

- cd /usr/src/linux

- make menuconfig

- save and exit

- make oldconfig

- make -j5

- make install

- make modules_install

- emerge @module-rebuild

- update boot loader configuration

- reboot

----------

## Jaglover

Only one is needed, make menuconfig or make oldconfig, not both.

----------

## spike32

 *fturco wrote:*   

> I'm sorry, I forgot one important step:
> 
> - cd /usr/src/linux
> 
> - make menuconfig
> ...

 

I have done all these steps but now it stucks  at boot

```
>> Determining root devices (trying UUID=1c3516c6-4431-49d3-91d3-955f1a7b4884) ........

!! Block device UUID=1c3516c6-4431-49d3-91d3-955f1a7b4884 is not a valid root device ...

!! Could not find the root block device in UUID=1c3516c6-4431-49d3-91d3-955f1a7b4884.

!! Please specify another value or:

!! - press Enter for the same

!! - type “shell” for a shell

!! - type “q” to skip ...

root block device(UUID=1c3516c6-4431-49d3-91d3-955f1a7b4884) ::
```

----------

## fturco

Please paste the output of the following commands (from a live CD/USB):

```
grep GRUB_CMDLINE_LINUX /etc/default/grub

lsblk -f

blkid
```

----------

## Jaglover

You need initramfs for mounting root by UUID during boot.

----------

## spike32

 *fturco wrote:*   

> grep GRUB_CMDLINE_LINUX /etc/default/grub

 

```
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash”

GRUB_CMDLINE_LINUX=“”
```

 *Quote:*   

> lsblk -f

 

```
sda1 vfat         EFI          67E3-17ED

sda2 

sda3 ntfs                                01D56AEE8KECAAF0

sda4 vfat                 DATA

sda5 ntfs

sda6 swap                              337f5f42-e2da-485e-a87c-08c5288b5530

sda7 ext4                               1c3516c6-4431-49d3-955f1a7b4884
```

 *Quote:*   

> blkid

 

```
/dev/sda1: LABEL_FATBOOT=“EFI” LABEL=“EFI” UUID=“67E3-17ED” TYPE=“vfat” PARTLABEL=“EFI System Partition” PARTUUID=“43d688b8-4b17-41e5-9fe2-29b82d2bf68f”
```

Do you need the other partitions too? Quite hard to write everything on an iPad ahaha

----------

## fturco

Is /dev/sda7 your root partition? I noticed /dev/sda7's UUID does not match the UUID in the boot error message, but it may depend on the fact that you're using a tablet...

Do you use UUIDs in /etc/fstab?

----------

## Jaglover

I see we are getting lost here.

The easiest way to boot it right now is to edit the kernel command line and replace the UUID with proper sdaX device. I'm not a Grub user myself, but I believe you can edit the commandline after you hit 'e' at Grub menu screen.

fstab is irrelevant, it resides in root filesystem which is not accessible at this stage of boot.

Once booted you need to use PARTUUID instead of UUID and reconfigure your Grub.

----------

## fturco

I'm a GRUB user and I confirm one can hit the "e" key at the menu for editing kernel parameters. I suggest to add the root=/dev/sda7 parameter.

----------

## spike32

 *fturco wrote:*   

> Is /dev/sda7 your root partition? I noticed /dev/sda7's UUID does not match the UUID in the boot error message, but it may depend on the fact that you're using a tablet...
> 
> Do you use UUIDs in /etc/fstab?

 

Yes it is, and yes I do

----------

## spike32

 *fturco wrote:*   

> I'm a GRUB user and I confirm one can hit the "e" key at the menu for editing kernel parameters. I suggest to add the root=/dev/sda7 parameter.

 

If I add this it doesn’t change anything

----------

## spike32

 *spike32 wrote:*   

>  *fturco wrote:*   I'm a GRUB user and I confirm one can hit the "e" key at the menu for editing kernel parameters. I suggest to add the root=/dev/sda7 parameter. 
> 
> If I add this it doesn’t change anything

 

```
Could not find the root block device in /dev/sda7
```

Is it strange, isn’t it?

----------

## fturco

Make sure you enabled support for the following kernel options:

CONFIG_BLK_DEV_SD=y

CONFIG_ATA=y

CONFIG_EXT4_FS=y

CONFIG_MSDOS_PARTITION=y (if you use MSDOS partition tables)

CONFIG_EFI_PARTITION=y (if you use GPT partition tables)

----------

## spike32

 *fturco wrote:*   

> Make sure you enabled support for the following kernel options:
> 
> CONFIG_BLK_DEV_SD=y
> 
> CONFIG_ATA=y
> ...

 

How do I check kernel options if the system doesn't start?

----------

## fturco

You first need to boot a live CD or a live USB, mount the root partition, remount the /dev, /proc, and /sys locations, and chroot into the mounted root partition.

See this Gentoo wiki article for details.

----------

