I recently built a new computer with GIGABYTE’s motherboard, B550I AORUS PRO AX. The motherboard is equipped with AMD RZ608 for Bluetooth and WiFi.
Even windows does not come with the drivers for Bluetooth and WiFi by default. NixOS doesn’t support them either. How can I install them manually?
Do I need to connect to internet to ethernet temporaily and change some configuraton?
Or, can I build a live USB that comes with those missing drivers?
It looks like you need the kernel module MT7921E (CONFIG_MT7921E).
On NixOS you can’t install the driver manually. You need to use configuration.nix to install it. For example, to “install” the module, try: boot.kernelModules = [ "mt7921e" ]
Then, to set up WiFi you can either enable Network Manager: networking.networkmanager.enable = true
Note that “wlo1” is the name of the wireless interface in this example.
I find it easier to set up Wifi while connected with via Ethernet, so that Nix is able to download dependencies. But you can indeed create an ISO with the driver. It’s just that it’s a bit more advanced: NixOS - NixOS 22.05 manual
I would add services.pipewire.enable = true; to your configuration.nix. This will add pipewire’s udev work (which identifies devices) and bluetooth fixes, and should give you pretty excellent support for most bluetooth devices.
Thanks. I already have installed windows so I decided to build a CD image with the driver on WSL2. Later I found that the only configuration I need was updatig kernel version to the most recent released version (5.17). 5.10 does not have mt7921e module to work. 5.15 has the module file, but doesn’t support RZ608, at least without manual udev configuration. Only 5.17 supports the device out of the box: https://www.reddit.com/r/Amd/comments/n90uv3/anandtech_amds_wifi_6e_module_the_rz608/hme51wh/