WiFi on Raspberry Pi 3 for Fedora 26 Alpha

So I managed to land just about everything needed for the WiFi on the Raspberry Pi 3 for Fedora 26 Alpha (around 4.11 rc3). There’s one thing missing, because we can’t currently redistribute it, but it’s straight forward for the end user to do themselves once they’ve done the initial setup:

sudo curl https://raw.githubusercontent.com/RPi-Distro/firmware-nonfree/master/brcm80211/brcm/brcmfmac43430-sdio.txt -o /lib/firmware/brcm/brcmfmac43430-sdio.txt

Or you can also do it when you’re flashing the image if you mount the root filesystem but the above is likely easier. It’s been surprisingly stable in my testing.

Before you all ask, at the moment I don’t plan on pushing this to earlier Fedora releases, as the upgrade path is not trivial. I will also soon publish more details of some of the other new features coming for the Raspberry Pi to Fedora 26 but I thought you’d all like the WiFi details now. The wiki has also been updated to reflect the status of the WiFi.

PS: No this is not an April Fool’s joke (it’s well past midday in UK).

Connect to a wireless network using command line nmcli

I use a lot of minimal installs on various ARM devices. They’re good because they’re quick to download and you can test most of the functionality of the device to ensure it’s working or to quickly test specific functionality but of course it doesn’t have a GUI to use the nice graphical tools which are useful to quickly connect to a wifi network or other things.

This where nmcli comes in handy to quickly do anything you can do with the GUI. To connect to a wireless network I do:

Check you can see the wireless NIC and that the radio is enabled (basically “Airplane” mode):

# nmcli radio
enabled  enabled  enabled  enabled 
# nmcli device
wlan0   wifi      disconnected  --         
eth0    ethernet  unavailable   --         
lo      loopback  unmanaged     --         

Then to actually connect to a wireless AP:

# nmcli device wifi rescan
# nmcli device wifi list
# nmcli device wifi connect SSID-Name --ask

And that should be enough to get you connected. You can list the connection with nmcli connection and various other options. It’s pretty straight forward.

When creating updates remember to build for rawhide and Fedora 25 (devel)

When ever we branch for a new release of Fedora I, and others, end up spending a non trivial amount of time ensuring that there’s a clean upgrade path for packages. From the moment we branch you need to build new versions and bug fixes of packages for rawhide (currently what will become Fedora 26), for the current stabilising release (what will become Fedora 25) as well as what ever stable releases you need to push the fix for. For rawhide you don’t need to submit it as an update but for the current release that’s stabilising you do need to submit it as an update as it won’t just automagically get tagged into the release.

As a packager you should know this, it’s been like it for a VERY LONG TIME! Yet each cycle from the moment of branching right through to when a new release goes GA I still end up having to fix packages that “get downgraded” when people upgrade between releases!!

So far this cycle I’ve fixed about 20 odd with the latest being bash-completion (built but not submitted as an update for F-25) and certmonger (numerous fixes missing from F-25 and master branch).

The other silly packaging bug I end up having to fix quite a bit is NVR downgrades where even though it’s a newer package the way the NVR is handled makes rpm/dnf/yum think the newer package is a lesser version than the current version and hence you’re new shiny fix won’t actually make it to end users. I see this a lot where people push a beta/RC package to a devel (F-25/rawhide) release. Just something to be aware of, there’s lots of good docs around the way rpm/dnf/yum handles eNVR upgrades.

Flock 2014 Prague

So I’m at Flock in Prague. So far I’ve been to a bunch of interesting talks about Release Engineering, Secondary Architectures, Fedora Workstation, Docker and Infrastructure.

Of course then there’s the hallway track of which I always actively participate and it’s been always fabulous to meet a bunch of people in real life that I’ve been dealing with online on a regular basis, in some cases for years!

I’ll be around for the entire conference and if you’re interested in chatting about secondary architectures (not just ARM), Sugar, Cloud or just about anything else or just to say hi please come and find me!

Verne in beta…

I have a number of devices that run Fedora and they all get upgraded at various times through out the release process. The eeePC 901 gets upgraded, reinstalled and uses the upcoming release regularly and constantly. My build test VM runs the release from shortly after beta of the previous release. My “stable” devices upgrade times vary depending on the release. These are devices I need to live my life and include my work laptop, my NAS box, my media centre box, my firewall, and two servers. So what releases are they all running 🙂

Work laptop: this was upgraded this week to Verne. It didn’t get upgraded to F-15 for a couple of months after the release. Most of the time it gets upgraded around the beta. I have some issues with it, most are thankfully not major road blocks. I’ll cover this one in a separate post.

NAS: Running F-16. Its solely CIFS/NFSv4 and some other services like Squeeze Centre Server. No major problems as yet.

Build VM: Its a VMWare VM. Has been fine, but for some reason of late its suspending or locking up of late. This is somewhat concerning.

Media Centre: I need to upgrade it, i’ve just not had the time. I’m looking forward to trying out Media Explorer once I’ve finished the package review 🙂

Firewall: Sometime very soon. I wish NetworkManager would add support for native IPv6 on PPPoE connections

Servers: My primary hosted server is still running Fedora 14. It runs a number of websites, mail servers and VMs. I want to upgrade this but it needs a proper backup process first 😐 My other server is running F-15 and I’ll likely push it to F-16 once I’ve worked out why the buildbox VM is suspending/crashing, it is after all my primary mail server.

Overall I’m looking forward to Verne. Its looking to be a very solid release with some great new features and the stabilisation of two of the major changes in F-15 in systemd and gnome-3 with a lot of thanks going to Adam Williamson and the QA team and their tireless work to keep the rest of us in check and on schedule. I believe Adam barely slept in the four days leading up to Verne beta being declared good to go so we didn’t slip another week. Thank you all! I’m looking forward to a great release 🙂