The Raspberry Pi model 3 B+ (RPi 3 B+) is the latest available in the Raspberry Pi series, released in mid-March 2018. RPi 3 B+ has some nice features and improvements over the previous RPi 3 B. They include faster 1.4 GHz processor clock speed, Gigabit Ethernet speed, dual-band 2.4GHz and 5GHz wifi support, and Bluetooth 4.2.
Fedora 28 was released soon after the RPi 3 B+. The good news is it supports the RPi 3 B+, as well as the RPi Model B versions 2 and 3. Images are available to download for both ARMv7 (32-bit) and aarch64(64-bit). This article will show you how to get wifi running on the RPi 3 B+.
Writing image to SD card
$ wget https://dl.fedoraproject.org/pub/fedora-secondary/releases/28/Workstation/aarch64/images/Fedora-Workstation-28-1.1.aarch64.raw.xz
Now, find out where the SD card has been mounted on the system by running dmesg:
$ dmesg ... 30046.093242] sd 4:0:0:0: [sdb] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB) ...
Here the card is mounted on /dev/sdb. This may be different on your system. Now, to write the image to the SD card, use the dd command:
$ xzcat Fedora-Workstation-28-1.1.aarch64.raw.xz | sudo dd status=progress bs=4M of=/dev/sdb 10737418240 bytes (11 GB, 10 GiB) copied, 1200.19 s, 8.9 MB/
Now you’ve successfully written the image to the SD card.
Next, in order to have the built-in wifi working you must download some missing firmware files and make them available in the directory /usr/lib/firmware/brcm/.
First, mount the root filesystem and add these files so that they will be available during boot. Use the lsblk command to find out where the root filesystem is available:
$ lsblk ... sdb 8:16 1 29.7G 0 disk ├─sdb1 8:17 1 200M 0 part ├─sdb2 8:18 1 1G 0 part ├─sdb3 8:19 1 1G 0 part ├─sdb4 8:20 1 1K 0 part └─sdb5 8:21 1 7.8G 0 part
In this case the root filesystem is in sdb5, so mount it and add the missing firmware files:
$ sudo mkdir /mnt/foo && sudo mount /dev/sdb5 /mnt/foo/ $ sudo curl https://fedora.roving-it.com/brcmfmac43455-sdio.txt -o /mnt/foo/usr/lib/firmware/brcm/brcmfmac43455-sdio.txt $ sudo curl https://fedora.roving-it.com/brcmfmac43455-sdio.clm_blob -o /mnt/foo/usr/lib/firmware/brcm/brcmfmac43455-sdio.clm_blob $ sudo umount /mnt/foo
It is also possible to add the firmware files after the first boot. That method requires the Raspberry Pi 3 B+ to connect to internet via Ethernet. After you download the firmware files, to load the firmware the Raspberry Pi 3 B+ needs a system reboot.
Booting and initial configuration
Insert the prepared SD card into the Raspberry Pi 3 B+ connected to a monitor. Boot starts as soon as the RPi 3 B+ has a 5-volt, 2.5-amp power supply. The monitor displays the boot process output.
During first boot, the system takes you to the initial UI setup page where you configure user details. It also lists available networks to get connected via wifi. After these steps, you’ll see the regular GNOME Desktop.
Connecting to wifi using CLI
This section is useful in case you boot the Server image where there’s no graphical interface.
$ nmcli device wifi list IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY SSID_2.5_GHz Infra 10 195 Mbit/s 100 ▂▄▆█ WPA2 SSID_5_GHz I nfra 149 405 Mbit/s 72 ▂▄▆_ WPA2 $ nmcli device wifi connect SSID_5_GHz password $PASSWORD $ nmcli device wifi list IN-USE SSID MODE CHAN RATE SIGNAL BARS SECURITY SSID_2.5_GHz Infra 10 195 Mbit/s 100 ▂▄▆█ WPA2 * SSID_5_GHz I nfra 149 405 Mbit/s 72 ▂▄▆_ WPA2
Notice that the Raspberry Pi 3 B+ connects to 5 GHz wifi.
Fedora 28 works perfectly fine on Raspberry Pi 3 B+, but there are some issues to keep in mind.
- The aarch64 Server image doesn’t have the NetworkManager-wifi package pre-installed . Install this package first before trying to connect to the wifi network. Other images already have this package.
- Sometimes having a keyboard and mouse connected to the Raspberry Pi 3 B+ can cause the boot process to get stuck. In that case, remove them and re-insert them after the boot process completes.
Raspberry Pi 3 B+ is one of the coolest and most popular single board computer devices available with Fedora 28 support. Give it a try and use it to run your favorite IoT application!
There is a FAQ available at the Fedora ARM wiki page which may help answer some of your questions. If it doesn’t, reach out for help or suggestions in the following places: