Drivers are usually there in the kernel and usually works out of the box. You shouldn't need to manually install drivers with linux generally (except for proprietary drivers cough nvidia cough). But if your laptop is quite new, you need to have a new enough kernel. That would explain why ubuntu 23.04 works but not not 22.04. The kernel in 22.04 is probably too old to have the drivers for your network interface. Check what kernel version is shipped with ubuntu 23.04 and make sure that whatever distro you try have at least that version. Stable LTS distros often don't work on brand new hardware.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
I understand that. But what's making me scratch my head is that I tried running Linux Mint 21.2 and Debian 12, both of which to my knowledge were released very recently, and yet both failed to detect my WiFi card. Are they running an older linux kernel?
Yeah they’re running an LTS kernel. Debian 12 is on 6.1 when we’re on about 6.48. I’m not sure about Linux Mint, but I know it uses LTS too so it must be 6.1 or older. Not sure if upgrading the kernel would help you, but just throwing that out there.
Mint is based om LTS ubuntu, so same as 22.04.
Try posting output of lspci
command here, gives us more information about your laptop hardware.
and lshw -C network
. On ubuntu 23.04 (where it works) it will show the driver and driver version.
On Ubuntu 22.04 based distro, you can try install HWE (hardware enablement) kernels but you need a phone that can share WIFI/mobile connection through USB cable.
sudo apt update; sudo apt install linux-generic-hwe-22.04
You can try searching (google) for the output of lspci or lsusb: like "1234:5678 firmware". Alternatively, search for your chip in the Linux Wireless data base.
In mint have you tried the latest kernel through update manager ?
Real question: if your WiFi doesn't work and you don't have a wired connection available, what do you do to update the kernel? Can you just download it on another machine and then update with a USB drive?
You can connect it to your phone via USB (which should be available usually) and then activate USB tethering. That way the PC can be connected to internet, with the help of the phone
Yeah, you'll slso need all the dependencies but it'll work.
You could also check the symlinks for the device in the sysfs. The word after "drivers" below for a given network interface (eth0 below) is usually the name of the driver (cpsw below):
$ ls -l /sys/class/net/eth0/device/driver
lrwxrwxrwx 1 root root 0 Aug 9 10:41 /sys/class/net/eth0/device/driver -> ../../../../bus/platform/drivers/cpsw
Or run lsmod
and see if anything jumps out.
Either way, once you find the driver name, run modinfo
to get version and other information about specific drivers.
Edit: formatting
You're probably just missing the corresponding firmware package.
lspci -v should show you which hardware chips your system has. Then just search the packages for any firmware packages that contain that chip's name. E.g. realtek.