8

I have a raspberry pi 3 (which has internal WiFi), running raspbian.

I decided to run it as "testing", by changing the apt list.

Now, I can't use WiFi.

Whenever I use wpa_supplicant, it complains that there's no wlan0 device (which there isn't in /dev)

What can I do to setup the wlan device and get wpa_supplicant back up?

uname -r is 4.4.13-v7+

lsmod shows:

AppleTalk
psnap
llc
axc25
bncp
hci_uart
btbcm
Bluetooth
joydcv
evdev
hid_microsoft
brcmfmac
brcmutil
cfg80211
rfkill
snd_bcm2835
snd_pcm
snd_timer
snd
spi_bcm8235
bcm8235_gpiomen
bcm8235_wdt
uio_pdrv_genirq
uio
ipv6
  • it complains that there's no wlan0 device (which there isn't in /dev) -> There never is (see here for an explanation); the definitive way to find out what is available is via ip link, but it presumably won't be there either. Edit in the output from uname -r and check sudo lsmod; the latter should print a list of a dozen or so things. If it says nothing, indicate this because it would be very significant. – goldilocks Aug 7 '16 at 20:12
  • @goldilocks updated – Wert Aug 7 '16 at 20:31
  • 1
    Hmm, well brcmfmac is the driver and you are using the current kernel. Does ip link show anything besides lo and eth0? I have a card with "stretch" (Raspbian testing) on it but haven't used or updated it in a while (or tried it in my Pi 3). They may have switched over to using "predictable interface naming", which can seem a bit counter-intuitive and may result in the interface having a different name. It will still probably start with w though. – goldilocks Aug 7 '16 at 20:49
  • Anyway, also edit in the output from sudo ip link (you can highlight and use the { } button to get the formatting right); it's important to determine whether it has mysteriously loaded the driver yet created no interface, or is just using a new name for it (which would screw up your existing configuration). – goldilocks Aug 7 '16 at 20:49
  • @goldilocks just lo and enxb827eb.... link/ether – Wert Aug 7 '16 at 21:11
7

The package that provides the Wi-Fi firmware is called firmware-brcm80211. To downgrade this package to a version that works:

sudo apt-get install firmware-brcm80211=0.43+rpi5

To prevent this package from being upgraded (either before an upgrade to stretch, or after downgrading the firmware):

sudo apt-mark hold firmware-brcm80211
3

Same problem here. Upgraded raspbian jessie to raspbian stretch and lost wifi (due to the upgrading of firmware-brcm80211 package). Just copied the contents of /lib/firmware/brcm from raspbian jessie (from another pi) and rebooted. Now wifi works on raspbian stretch.

2

I found a solution to this problem by the Raspberry Pi forum users iulius_felix and wdmjun (link to original answer):

  1. Get brcmfmac43430-sdio.bin and brcmfmac43430-sdio.txt from this repo or from the /lib/firmware/brcm folder of a working Raspberry Pi.
  2. Copy the above mentioned files to /lib/firmware/brcm on the problematic Raspberry Pi.
  3. Reboot the Raspberry Pi.
  • 1
    Unfortunately replacing the firmware files does not seem to work (anymore). – yglodt Apr 26 '17 at 18:25
0

This Blogpost suggests, that you can use the kernel commandline to disable the wifi-device name changes introduced in stretch. Adding net.ifnames=0 to cmdline.txt on the boot partition should do the trick.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.