Wireless unavailable after fresh install F35

Hi,
I just installed fedora workstation 35 on an ASUS laptop F555D intell i5 and
Problem:
the available wireless networks don’t show automatically.
I checked that the BIOS settings for the wireless network are on.
when running the nmcli d show command shows
the following:
GENERAL.DEVICE: lo
GENERAL.TYPE: loopback
GENERAL.STATE: 10 (unmamaged)

IP4.address[1]: 127.0.0.1

The broadcom driver is visible but not in use for some reason (can’t remember the command showing this though)
Any idea what may be causing this and how to fix it?

Please post the output of inxi -Nxx as well as lspci -nn

Here they go:

inxi -Nxx
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK driver: r8169 v: kernel port: e000 bus-ID: 02:00.0
    chip-ID: 10ec:8168
  Device-2: Broadcom BCM43142 802.11b/g/n vendor: Lite-On driver: N/A
    bus-ID: 03:00.0 chip-ID: 14e4:4365

and:

 lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 0b)
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a16] (rev 0b)
00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 0b)
00:04.0 Signal processing controller [1180]: Intel Corporation Haswell-ULT Thermal Subsystem [8086:0a03] (rev 0b)
00:14.0 USB controller [0c03]: Intel Corporation 8 Series USB xHCI HC [8086:9c31] (rev 04)
00:16.0 Communication controller [0780]: Intel Corporation 8 Series HECI #0 [8086:9c3a] (rev 04)
00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04)
00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series PCI Express Root Port 1 [8086:9c10] (rev e4)
00:1c.2 PCI bridge [0604]: Intel Corporation 8 Series PCI Express Root Port 3 [8086:9c14] (rev e4)
00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series PCI Express Root Port 4 [8086:9c16] (rev e4)
00:1c.4 PCI bridge [0604]: Intel Corporation 8 Series PCI Express Root Port 5 [8086:9c18] (rev e4)
00:1d.0 USB controller [0c03]: Intel Corporation 8 Series USB EHCI #1 [8086:9c26] (rev 04)
00:1f.0 ISA bridge [0601]: Intel Corporation 8 Series LPC Controller [8086:9c43] (rev 04)
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04)
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series SMBus Controller [8086:9c22] (rev 04)
00:1f.6 Signal processing controller [1180]: Intel Corporation 8 Series Thermal [8086:9c24] (rev 04)
02:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)
04:00.0 3D controller [0302]: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] [10de:1140] (rev a1)

That is the actual chipset on that adapter. It seems you do not have the driver loaded, and this is one of the sites that came up with a search for the driver with fedora.
https://www.cyberciti.biz/faq/fedora-linux-install-broadcom-wl-sta-wireless-driver-for-bcm43228/
Don’t know if it is the right one since I have no broadcom card to test it with, but you can search for other possibilities if that does not help.

If you have not already done so you should do a full upgrade sudo dnf upgrade then reboot and try again before you download anything that may be out-of-tree.

2 Likes

Thanks @computersavvy I did sudo dnf upgrade, but thgis didn’t make wireless active
I looked into the provided link but the some of the commands they use there don’t seem to be available in my version of Fedora (workstation 35) and I don’t even know if they are useful here. So not sure how to proceed. I guess I should look for the right controller/driver in the ASUS repository

you can also file a ticket @ bugzilla.redhat.com.

1 Like

Hi, also would you like to post the result file /lib/modules/$(uname -r)/build from the terminal? At least for me, most of the time it because the installed kernel-devel version mismatch with current installed kernel version (kernel currently uses).

1 Like

Hi @oprizal , thanks for asking. Here is the result:

lib/modules/5.16.5-200.fc35.x86_64/build: broken symbolic link to /usr/src/kernels/5.16.5-200.fc35.x86_64

There seems to be a broken link there, but I am not sure how that affects the wireless function.

However I’m not sure I totally understand what you said about the kernels. I should have installed a kernel and not a kernel -devel (at least that is what I thought Fedora Workstation 35 was) but I am a total beginner (or almost) with linux and Fedora, so I guess there must be much more to this that I do not know about.

For custom wireless driver like broadcom (I have one in my 2013 Samsung laptop), we need same kernel-devel version with our current kernel to build the driver. You can install the specifik kernel-devel version with sudo dnf install kernel-devel-5.16.5-200.fc35.

If you already follow the tutorial shared by @computersavvy, at least until succesfully install:

# Install rpm fusion repos
sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# Install driver
sudo dnf install kmod-wl

You can then reboot after installing the correct kernel-devel version. During the boot it will build the driver for your system.

To check if your driver module already installed (after reboot):

lsmod | grep wl

It shoul give output on the terminal mentioning wl and some other older driver.

If after succesfuly get wl module from lsmod | grep wl and you still have a problem, please let us know.

ok, after the install & reboot
lsmod | grep wl
produces an empty output

Would you like to try sudo modprobe wl? If it not give error message from terminal, please post the result of lsmod | grep wl, may be we need to blacklist other modules listed there.

This is the output of modprobe:

modprobe: ERROR: could not insert 'wl': Key was rejected by service

Look like you need to disable your BIOS secure boot first.

Just so you are aware.
The kernel-devel version should always match the latest installed kernel version and it usually is not necessary to specify the version when doing the install since dnf will automatically install the matching versions of all the kernel packages. What I do to make certain everything is in sync with the kernel packages is this. sudo dnf reinstall kernel*.

Also, while it seems weird, you may see that the kernel-headers package version does not always match the installed kernel version. That is because when there are no changes in that package it is not rebuilt for every kernel release.

Just for note: couple days ago I install Fedora Workstation on 2013 Samsung laptop without performing upgrade and directly install kernel-devel and the weird things the dnf give me the newest kernel-devel instead of matching version with my fresh install Fedora Workstation kernel version (if I remember correctly 5.14.x). That’s is why I ask the check the symlink of build file above. May be the safest way is to performing dnf upgrade before installing kernel-devel and custom driver.

So I am a bit confused now.
According to @oprizal I should disable the Bios secure boot first
According to @computersavvy it may be useful to do sudo dnf reinstall kernel*
In the latest post it is said “May be the safest way is to performing dnf upgrade before installing kernel-devel and custom driver.”
So what do you guys think is the correct path to action now?
Should all of these steps be completed and if yes, what is the correct sequence?
If not which ones surely must be?

sudo dnf upgrade
sudo dnf list installed kernel*

This will first upgrade everything to the latest versions in the repos, then show all kernel packages currently installed. If all the kernel packages have matching versions then things are usually good.
Note here that for every kernel version I have installed each package has a matching version (except for the kernel-headers package, which is not required for the kernel itself). This is from my F34 system, though my F35 system is the same.

# dnf list installed kernel*
Installed Packages
kernel.x86_64                                                        5.15.16-100.fc34                                       @updates
kernel.x86_64                                                        5.15.18-100.fc34                                       @updates
kernel.x86_64                                                        5.16.5-100.fc34                                        @updates
kernel-core.x86_64                                                   5.15.16-100.fc34                                       @updates
kernel-core.x86_64                                                   5.15.18-100.fc34                                       @updates
kernel-core.x86_64                                                   5.16.5-100.fc34                                        @updates
kernel-devel.x86_64                                                  5.15.16-100.fc34                                       @updates
kernel-devel.x86_64                                                  5.15.18-100.fc34                                       @updates
kernel-devel.x86_64                                                  5.16.5-100.fc34                                        @updates
kernel-headers.x86_64                                                5.16.5-100.fc34                                        @updates
kernel-modules.x86_64                                                5.15.16-100.fc34                                       @updates
kernel-modules.x86_64                                                5.15.18-100.fc34                                       @updates
kernel-modules.x86_64                                                5.16.5-100.fc34                                        @updates
kernel-modules-extra.x86_64                                          5.15.16-100.fc34                                       @updates
kernel-modules-extra.x86_64                                          5.15.18-100.fc34                                       @updates
kernel-modules-extra.x86_64                                          5.16.5-100.fc34                                        @updates
kernel-modules-internal.x86_64                                       5.15.16-100.fc34                                       @updates
kernel-modules-internal.x86_64                                       5.15.18-100.fc34                                       @updates
kernel-modules-internal.x86_64                                       5.16.5-100.fc34                                        @updates

The reinstall I suggested was just in case something had gotten corrupted, and would fix those issues. It is harmless if nothing is corrupted.

The bios secure boot usually prevents the kernel from loading unsigned modules and could be the issue with that module, so disabling that is an easy troubleshooting step. You may be able to review the output of dmesg and see if secure boot is enabled or disabled (at the very beginning) and also if loading the driver is blocked by secure boot.

What I found is this:

kernel.x86_64                                                   5.14.10-300.fc35                                      @anaconda
kernel.x86_64                                                   5.16.5-200.fc35                                       @updates 
kernel-core.x86_64                                              5.14.10-300.fc35                                      @anaconda
kernel-core.x86_64                                              5.16.5-200.fc35                                       @updates 
kernel-devel.x86_64                                             5.16.5-200.fc35                                       @updates 
kernel-headers.x86_64                                           5.16.5-200.fc35                                       @updates 
kernel-modules.x86_64                                           5.14.10-300.fc35                                      @anaconda
kernel-modules.x86_64                                           5.16.5-200.fc35                                       @updates 
kernel-modules-extra.x86_64                                     5.14.10-300.fc35                                      @anaconda
kernel-modules-extra.x86_64                                     5.16.5-200.fc35                                       @updates 
kernel-srpm-macros.noarch                                       1.0-6.fc35                                            @fedora 

So it looks like there is something missing right?
The ```
kernel-devel.x86_64 5.14.10-300.fc35

doesn't seem to have a matching  

5.14.10-300.fc35

oK, problem solved now, apparently!
I disabled the secure boot and upon restarting I saw the WI-FI up and running!
By the way, I run again the sudo dnf list installed kernel*command and the output is again the same as above, that is there is just one kernel-devel.x86_64 item.
is this normal?

It is very normal. The kernel-devel package is not installed by default. You seem to have upgraded to the 5.16.5 kernel before you installed the kernel-devel package so it would not be there for the version where you did not deliberately install it.

With future updates that package will be updated with each kernel update.