LiveCD WiFi woes

Hey, I’ve just installed NixOS on a new computer, and the process was rather painful. I’d like to share my experience, as I feel that installation problems might be underreported due to survivorship bias.

I was installing using graphical live CD. Upon successfully booting from a live cd, I’ve noticed that I don’t have WiFI. This could have been a deal breaker, as I don’t have an ethernet cable, and hauling desktop to my router is not fun.

Luckely, I had a laptop with NixOS, so I was able to google this issue:

The TL;DR is that my broadcom WiFI card needs some proprietary stuff to work, which is not packaged by default. Luckely, I was able to build a custom live-cd with this packaged, which got me my WiFi.

Except that it wasn’t able to see my 5ghz network. I quickly googled out a handful of iwconfig, iwlist and iw commands to diagnose potential issues, but wirelesstools and iw are not packaged with a live CD by default. I think this one is an easy thing to fix.

I kinda gave up and just switch my router to use 2.4ghz band, but still.

(
after installation, I diagnosed the problem to probably be related to regulatory domain stuff (cfg80211: failed to load regulatory.db), I wasn’t able to fix it, but I worked around it well-enough by picking a different 5ghz channel on my router
)

Hope this is helpful feedback!

2 Likes

I’m trying to think of a time that this wasn’t ever the norm with any gnu/linux distro ever :laughing:

Your cellphone, a usb cable, and the “tethering” option are always your best friends when installing any distro.

1 Like

I don’t know, for me, this is the first time when this happens. To be clear, the variable here is WiFi adapter, rather than distro, but still, the norm for me is either:

  • I boot and can fumble my way through wifi config (using graphical installer with NetworkManager, or Arch’s wifi-menu)
  • I boot and I need to read on wpa_supplicant and what not, but, in principle, I can setup wifi (Arch before wifi-menu, NixOS minimal CD)

One big issue here is that the drivers are not free. We would probably have to make a separate “unfree” version, or improve the documentation so it’s easier for people to create their own.

(I have no idea what I am talking about)

The broadcom_sta thing I needed is unfreeRedistributable, so it should be fine to include, license wise?

Hydra still considers it unfree, so it will fail to build

$ nix eval -f default.nix lib.licenses.unfreeRedistributable
{ free = false; fullName = "Unfree redistributable"; shortName = "unfreeRedistributable"; }

It would likely be legal to distribute an iso with it, but it would have to be done outside of hydra. Or altering hydra to include packages with unfree licenses.

This is something that could be fixed easily.

I think it would be ok to change the criterion to “redistributable” only. What we don’t want is to redistribute software through the cache illegally.

2 Likes