Problem Description:
Wifi is marked “Unavailable”, available networks are visible but trying to connect to them yields no results. This has been the case ever since I switched to Ubuntu months ago, I eventually gave up because Ethernet worked without issue. However, now I’m trying out self hosting and this makes things a lot trickier when the machine you want the server on is unable to connect to the local network
I searched for compatible drivers and found nothing for the specific Wifi adapter. I was unsuccessful to find the correct model, it may be a case of it just not existing or being compatible.
Searching for any similar issue (no close results)
What do you mean by that? Isn’t it connected to the LAN using Ethernet?
The package containing the firmware your need (the driver is already in the linux kernel) can be found on the Debian repo. It is called firmware-misc-nonfree (and/or maybe firmware-mediatek).
I’m not 100% sure that it contains the right firmware tho . Some Debian article lists this package as the right one for the RT2790 but I cannot find the right file by looking directly inside the package. You should try and tell us if it solves it.
I downloaded and extracted the package, then I ran into this error while trying to install it:
sudo apt install firmware-misc-nonfree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package firmware-misc-nonfree is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'firmware-misc-nonfree' has no installation candidate
One shouldn’t install packages from Debian, unless as a last resort. It looks as if @pavlos has the right idea. And I really think you should check the “Additional Drivers” tool, because it’s supposed to do all that stuff for you. Only if that doesn’t show any available driver or firmware should one resort to lower level tools.
E: Package 'firmware-misc-nonfree' has no installation candidate
I strongly advise against this, but you need to direct apt to the actual .deb file, otherwise it will try to find a package by that name in the official repositories.
If you want a command line version of “Additional Drivers”:
Yeah, the idea is to download the firmware. The issue is that the package firmware-ralink doesn’t exist for Ubuntu 24.04.
Since the WiFi card is legacy, I doubt that downloading the firmware elsewhere than the Ubuntu repo will cause any issue. The associated driver is integrated to the kernel for years.
Oh, indeed it doesn’t, but I think it must be in linux-firmware* somewhere, because the new structure of firmware packages is only to not have one whopping linux-firmware package everybody downloads even if they only need a tiny fraction of it.
A cursory apt-file search rt2800 | cut -d: -f1 | uniq turns up lots of linux-modules-extra-* packages. That’s precisely why ubuntu-drivers exists; to find the right package to install for the given hardware.
I doubt the firmware is actually missing. I am thinking OP didn’t check the box to do that during the installation process, so might still be missing that step.
@just-some-fern check inside /lib/firmware for rt2860.bin, from what I read, it should be the one containing the firmware for the RT2790 (if it’s here).
I searched the content of linux-firmware and it appears to contain the rt2860.bin.
But the more I’m thinking of this, the more I doubt it’s a driver/firmware issue; linux-firmware is guaranteed to be installed because it’s a dependeny of linux-image-generic. Maybe it’s a radio issue:
I’m not quite sure, but I was reminded lately by someone on this forum that there might also be hardware kill switches.
$ rfkill
ID TYPE DEVICE SOFT HARD
0 wlan phy0 blocked unblocked
My WiFi is soft-blocked by a Fn combo. There is a HARD indicator, but I’m not so sure if it actually can be a relied upon to show if the antenna has power; looks like an opportunity to cut corners, which manufacturers all too often do.
I checked /lib/firmware and indeed found rt2860.bin.zst
Results from rfkill:
rfkill ID TYPE DEVICE SOFT HARD 0 wlan phy0 unblocked unblocked
Results from nmcli:
nmcli
eno1: connected to Profile 1
"Intel I219-V"
ethernet (e1000e), 4A:DB:73:FB:50:1A, hw, mtu 1500
ip4 default
inet4 192.168.1.95/24
route4 192.168.1.0/24 metric 100
route4 default via 192.168.1.254 metric 100
lo: connected (externally) to lo
"lo"
loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536
inet4 127.0.0.1/8
inet6 ::1/128
wlp2s0: disconnected
"Ralink RT2790 1T/2R"
wifi (rt2800pci), 00:22:5F:12:D1:3B, hw, mtu 1500
DNS configuration:
servers: 192.168.1.254
interface: eno1
Use “nmcli device show” to get complete information about known devices and“nmcli connection show” to get an overview on active connection profiles. Consult nmcli(1) and nmcli-examples(7) manual pages for complete usage details.
@just-some-fern, can you check if it’s the same on another OS, right now? It would be an odd coincidence for sure, but let’s be extra sure the hardware actually does work. And if so, see if the live installer shows the same issue, if you still have it handy.
I also seem to remember instances, when one needed to reboot into “other OS” to get some quirky devices out of limbo.
FYI, journalctl -kb (--dmesg --boot) is the more powerful equivalent, because dmesg is limited on buffer size; plus, no sudo. Can even add --priority=err, to only get errors, etc.
I only have Ubuntu on this computer. I don’t easily have access to another OS, but I know before I switched over from Windows that the Wifi definitely worked.