35

I have installed Ubuntu 17.10 on my notebook. However, I cannot connect to wi-fi because there is a "No Wi-Fi Adapter Found" message.

I don't have any idea what to do next.

  • My notebook : Asus X555LN-XX507H
  • Network Adapter : Broadcom 802.11n BCM43142 (14e4:4365)

(This is a follow-on from my earlier post, https://unix.stackexchange.com/questions/415639/kali-linux-no-wifi-adapter-found, where I was advised to try an easier system than Kali.)

6
  • 1
    Which version of Ubuntu are you using? What is the output from lspci or lsusb that defines the network adapter? (Both of these need to be added to your question.) Commented Jan 10, 2018 at 19:15
  • Im using Ubuntu 17.10 I will add output from lspci and lsusb when I will have time Commented Jan 10, 2018 at 19:49
  • Welcome to U&L , please update with the output of lspci -knn | grep Net -A3 Commented Jan 11, 2018 at 10:30
  • 1
    Does it output different line than BCM43142 (14e4:4365) ? Commented Jan 11, 2018 at 19:23
  • Press Fn and F2(which F key is wifi button). It worked for me. Commented Mar 8, 2021 at 9:31

12 Answers 12

48

Just connect using usb cable to do usb tethering, open terminal by Ctrl+Alt+T and type:

sudo apt-get install --reinstall bcmwl-kernel-source 

Then, reboot.

5
  • 3
    This didn't work for me in my ubuntu 17.10. I also tried to disable the secure boot in my bios but didn't have luck. As of now only ethernet cable works for me but when I try to use wifi connection I can't Commented Aug 26, 2018 at 14:53
  • 1
    On a fresh install you might need to run sudo apt update before trying to install anything. Commented Nov 14, 2018 at 8:46
  • A simple solution is here: unix.stackexchange.com/a/507631/189124 Commented Mar 21, 2019 at 8:20
  • I joined just to upvote, as this solved my issue, but I´d appreciate if you could give a bit more of insight on why that solved the issue Commented Dec 14, 2019 at 22:05
  • this worked for me in Lenovo G550 Commented Apr 17, 2020 at 15:19
14

So, the issue for me was because of secure-boot, uefi and the restriction on third party libraries which would be usually required for the network devices to work.

Following Rajat's comment proved useful for me on Ubuntu 18.04

sudo apt-get install --reinstall bcmwl-kernel-source 

Reboot your OS and then follow instructions about Enrolling MUC. Once that is done, third party libraries should be able to interact with your devices and everything should work.

3
  • 1
    hi, I have been stuck on this issue for 2 days. please share how do you Enrolling MUC. thanks~! Commented Sep 16, 2019 at 13:00
  • hi this doesnt work for ubuntu 18.04 Commented Apr 2, 2020 at 10:49
  • hi this worked for me on ubuntu 18.04.3 Commented Oct 5, 2020 at 19:31
8

A problem with Broadcom BCM43142 (14e4:4365). the problem has been known for a long time. You need to download and install the package bcmwl-kernel-source

Source: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx

1
7

This is not a Ubuntu issue.
This is not any driver issue.
This is caused by me (and possibly you).

While watching some video... I tried to increase volume with:
Fn + F10 key combination ... But I mistakenly pressed
Fn + F12 which was Wifi button with 'Radio' symbol on it, which disabled my wifi connection.

Running below command in Terminal, you can see the issue:

> rfkill list all 0: Toshiba Bluetooth: Bluetooth Soft blocked: no Hard blocked: no 1: phy0: Wireless LAN Soft blocked: no Hard blocked: yes <------ that's because I press Wifi button (above) mistakenly

Solution: Press again the Fn + F12 (or, some other key where you have Radio symbol)

Now run again the same command:

> rfkill list all 0: Toshiba Bluetooth: Bluetooth Soft blocked: no Hard blocked: no 1: phy0: Wireless LAN Soft blocked: no Hard blocked: no <------ no means solved.

Now, go to:

(Windows button, if you have on the keyboard) > Settings > Wifi > move to On > select your Wiki connection to enter credentials

Done, your internet is back on.

0
5

First, you'll need to find the exact model of the Broadcom network adapter chip your notebook has. "802.11n" is just the name of the Wi-Fi standard it supports: Broadcom has several wireless chips supporting that standard.

lspci -nn would be a good command to list all PCI(e) devices on your laptop and their PCI ID numbers: those numbers would allow a more accurate identification. lsusb will do the same for USB devices.

The lspci -nn listing line might look something like this:

12:00.0 Network controller [0280]: Broadcom Limited BCM43228 802.11a/b/g/n [14e4:4359] 

Here, the numbers [14e4:4359] are the Device ID. The first part specifies the vendor (Broadcom = 14e4) and the second part identifies the device model.

The lsusb listing is a bit different, but the Device ID number is similar: 4 hexadecimal digits for the vendor id, a colon, and then 4 hexadecimal digits for the product ID.

You can check here for the Linux support status of various Broadcom chip models: https://wireless.wiki.kernel.org/en/users/drivers/brcm80211

Note that the supported Broadcom chips will need firmware: it is probably available pre-packaged in Ubuntu. If Ubuntu uses the same naming scheme as Debian, the firmware package name should be firmware-brcm80211.

With a bit of luck, installing this firmware package and rebooting might be enough to get your Wi-Fi functional if the necessary driver is already in kernel.

1
  • BCM43142 14e4:4365 but there is nothing like that on the site. Commented Jan 10, 2018 at 23:48
3

Installed Ubuntu 18.04 on an old Dell computer and got the same message (no wifi adapter found) when trying to connect to the internet. Tried some of the solutions proposed here and in other postings, none of which worked. Decided to re-install. During the installation there is a radial button "Install third party software for graphics and wi-fi hardware and additional media formats". The default is that this is not checked and so this option is not included in the default install. On the re-install, I checked this button, and after all the dust settled had no trouble connecting to the internet.

1
  • This worked for me -- circa 2008 macbook installing Ubuntu 18.04 !! Select "Install third party software for graphics and wi-fi hardware and additional media formats" during install. Nice - thanks! Commented Jan 3, 2019 at 4:18
3

This may be covered in other answers, still: Post UBUNTU installation and ethernet connected; 2 steps:

  1. run (sudo apt-get install firmware-b43-installer) -- reboot
  2. run (sudo apt-get install --reinstall bcmwl-kernel-source) -- reboot

Context: The drivers are proprietary components of BroadComm. Ubuntu (a non proprietary) will not be able to install the packages due to authentication failure even though they are downloaded. Hence the separate steps are to be followed to get wifi enabled. This does not get you bluetooth though. It may need another set of steps.

LINKS : https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx and previous answers.

If ethernet is not connected, download package from other machines, copy to UBUNTU machine and run.

Thanks to perror, Rajat, GAD3R and Alex.

1

If the bcmwl-kernel-source solution did not work for you and you want to keep secure boot enabled, then try the following:

Create a set of keys for signing:

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=Descriptive common name/" 

Import the key. You'll be prompted for a password here, which you'll need to remember. Your BIOS should prompt you for the password after the reboot.

sudo mokutil --import MOK.der 

Restart:

reboot 

You should have been prompted by your BIOS for the password. Assuming that worked, then you'll want to test that your MOK was successfully enrolled.

mokutil --test-key MOK.der 

Now that your MOK has been enrolled. You will need to install the drivers for you wifi.

git clone https://github.com/lwfinger/rtlwifi_new.git cd rtlwifi_new git checkout extended sudo make install 

Your drivers are available for adding to your kernel, but you need to sign them first before adding them because you have secure boot enabled. So use the keys you generated earlier to sign your drivers.

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtlwifi) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl_pci) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n btcoexist) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723-common) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n phydm_mod) sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n rtl8723de) 

Finally, add the rtl8723de drivers to the kernel in this order

sudo modprobe -r rtlwifi sudo modprobe rtlwifi sudo modprobe -r rtl_pci sudo modprobe rtl_pci sudo modprobe -r btcoexist sudo modprobe btcoexist sudo modprobe -r rtl8723-common sudo modprobe rtl8723-common sudo modprobe -r phydm_mod sudo modprobe phydm_mod sudo modprobe -r rtl8723de sudo modprobe rtl8723de 

On a side note: for the final step you might be able to get away with just writing:

sudo modprobe -r rtl8723de sudo modprobe rtl8723de 

modprobe knows which drivers rtl8723de depends on and should therefore be able to add everything that rtl8723de depends on along with rtl8723de. However, I didn't add my drivers this way and thus, can't guarantee this option will work.


Sources: 1, 2, 3

0

You could try the Realtek RTL8723DE module for Linux kernel version >= 4.15.

To install it, run:

git clone https://github.com/smlinux/rtl8723de.git -b 4.15-up dkms add ./rtl8723de dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414 depmod -a reboot 
1
  • Welcome, it is a Broadcom BCM43142 not a Realtek wifi card. Commented Apr 9, 2019 at 15:31
0

this approach works on current kernels

uname -m && uname -r && cat /etc/*release # kernel 5.4 or newer including 5.8 x86_64 5.4.0-57-generic 

first confirm you are using broadcom

lspci | grep -i network 

output should appear similar to

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

or

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)

sudo apt-get purge bcmwl-kernel-source # buggy package circa year 2020 

example bug https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/1878045

sudo apt-get install broadcom-sta-source broadcom-sta-dkms broadcom-sta-common 

then reboot and you should be OK

below is a crash file while still using ubuntu package bcmwl-kernel-source

 cat /var/crash/bcmwl-kernel-source.0.crash ProblemType: Package DKMSBuildLog: DKMS make.log for bcmwl-6.30.223.271+bdcom for kernel 5.8.0-32-generic (x86_64) Thu 03 Dec 2020 08:50:14 PM EST make: Entering directory '/usr/src/linux-headers-5.8.0-32-generic' CFG80211 API is prefered for this kernel version Using CFG80211 API AR /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/built-in.a CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_iw.o CC [M] /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.o /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c: In function ‘osl_reg_map’: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:949:10: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration] 949 | return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); | ^~~~~~~~~~~~~~~ | ioremap_cache /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:949:10: warning: returning ‘int’ from a function with return type ‘void *’ makes pointer from integer without a cast [-Wint-conversion] 949 | return (ioremap_nocache((unsigned long)pa, (unsigned long)size)); | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_attach’: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:593:20: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration] 593 | if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { | ^~~~~~~~~~~~~~~ | ioremap_cache /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:593:18: warning: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 593 | if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) { | ^ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:780:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 780 | if ((val & 0x0000ff00) != 0) | ^~ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:782:3: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 782 | bar1_size = pci_resource_len(pdev, 2); | ^~~~~~~~~ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:783:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 783 | bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), | ^ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c: In function ‘wl_reg_proc_entry’: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:3376:58: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types] 3376 | if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_fops, wl)) == NULL) { | ^~~~~~~~ | | | const struct file_operations * In file included from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.c:38: ./include/linux/proc_fs.h:102:31: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’ 102 | extern struct proc_dir_entry *proc_create_data(const char *, umode_t, | ^~~~~~~~~~~~~~~~ In file included from /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:40: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.h:52:5: warning: this statement may fall through [-Wimplicit-fallthrough=] 52 | if (wl_dbg_level & WL_DBG_DBG) { \ | ^ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:816:3: note: in expansion of macro ‘WL_DBG’ 816 | WL_DBG(("network eap\n")); | ^~~~~~ /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_cfg80211_hybrid.c:817:2: note: here 817 | default: | ^~~~~~~ cc1: some warnings being treated as errors make[1]: *** [scripts/Makefile.build:288: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.o] Error 1 make[1]: *** Waiting for unfinished jobs.... cc1: some warnings being treated as errors make[1]: *** [scripts/Makefile.build:288: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/wl/sys/wl_linux.o] Error 1 make: *** [Makefile:1780: /var/lib/dkms/bcmwl/6.30.223.271+bdcom/build] Error 2 make: Leaving directory '/usr/src/linux-headers-5.8.0-32-generic' DKMSKernelVersion: 5.8.0-32-generic Date: Thu Dec 3 20:50:17 2020 DuplicateSignature: dkms:bcmwl-kernel-source:6.30.223.271+bdcom-0ubuntu5:/var/lib/dkms/bcmwl/6.30.223.271+bdcom/build/src/shared/linux_osl.c:949:10: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration] Package: bcmwl-kernel-source 6.30.223.271+bdcom-0ubuntu5 PackageVersion: 6.30.223.271+bdcom-0ubuntu5 SourcePackage: bcmwl Title: bcmwl-kernel-source 6.30.223.271+bdcom-0ubuntu5: bcmwl kernel module failed to build 
1
  • Worked for me; wifi check box was not showing up with Kubuntu 20.04, kernel version 5.8.0-34 & 36, installing the broadcom packages fixed it. Commented Jan 9, 2021 at 7:54
0

This happened on a couple of machines of mine running Ubuntu 20.04, both of them were inactive during several months, so here's my advice; before trying the sudo apt-get install --reinstall bcmwl-kernel-source do:

Manually update your machines date-time, then reboot.

You don't need internet access for this trick, obviously.

0

Since I reached the question when my existing Wifi connection went out after hard restart of my Ubuntu/PopOS and when checking it was showing No Wifi Adapater found, and since this is bit common now for me here are the steps I follow

  1. Restart Networking Service

sudo service network-manager start

2.If the above does not work and you are not seeing the wifi setting in GUI still

sudo nohup nm-applet &

Now Networking GUI will pop up in a corner and Enable Wifi and Enable Networking will be seen. First enable Networking and then enable Wifi and it should work

  1. I guess you can do this via the commandline also

nmcli networking on

nmcli radio wifi on

https://askubuntu.com/a/962059/423906

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.