Debian / raspi3-image-spec

contains the files to build the https://wiki.debian.org/RaspberryPi3 image
127 stars 32 forks source link

Wi-Fi Interface disappeared after sudden reboot #41

Closed LorenzoAncora closed 5 years ago

LorenzoAncora commented 5 years ago

Problem

After entering the DTB files in the firmware directory, everything was fine and the wireless interfaces worked perfectly. Yesterday evening the electric power went out for ~2 hours and, when the board restarted, wlan0 disappeared. After several reboots the situation is unchanged, even though the driver brcmfmac is in memory and is in use.

Details

Related to: #37

LorenzoAncora commented 5 years ago

Cause

The Raspberry Pi 3 B was loading the bcm2837 DTB instead of the correct device tree.

Solution

I've discovered that after removing it the device would not boot (stuck on the rainbow test screen) and I've edited config.txt with an SD card reader, discovering that a script replaced the name of the correct device tree with device_tree=bcm2837-rpi-3-b.dtb. Replacing device_tree=bcm2837-rpi-3-b.dtb with device_tree=bcm2710-rpi-3-b.dtb in config.txt and replacing bcm2710-rpi-3-b.dtb with a previous version of itself solved the problem.

Conclusion

jlu5 commented 5 years ago

If you're using custom .dtb's, it may help to purge the raspi3-firmware package so that it can't overwrite things (I stumbled into this problem setting up my RPi too)

LorenzoAncora commented 5 years ago

@jlu5 TY for you suggestion.

If you're using custom .dtb's

No, I am only using older versions of the official ones. Without doing that the kernel does not recognize the wireless interface and I cannot use Internet.

purge the raspi3-firmware package so that it can't overwrite things

This package contains all the proprietary files necessary to boot a Raspberry Pi® 3 board. Purging this package will remove those (proprietary) files:

/etc/kernel/postinst.d/raspi3-firmware
/usr/lib/raspi3-firmware/bootcode.bin
/usr/lib/raspi3-firmware/fixup.dat
/usr/lib/raspi3-firmware/fixup_cd.dat
/usr/lib/raspi3-firmware/fixup_db.dat
/usr/lib/raspi3-firmware/fixup_x.dat
/usr/lib/raspi3-firmware/start.elf
/usr/lib/raspi3-firmware/start_cd.elf
/usr/lib/raspi3-firmware/start_db.elf
/usr/lib/raspi3-firmware/start_x.elf

On paper it's not a bad idea but what are the secondary effects?