I apologize if this seems like a trivial matter, but I have a laptop (a Lenovo Ideapad 3 to be exact) and I can’t get WiFi (or Bluetooth) to work on anything other than Ubuntu 23.04 and its flavors. I tried OpenSUSE Leap and Debian 12, both couldn’t detect the built-in WiFi card. I also tried Ubuntu-based distros such as Linux Mint, KDE Neon, and Zorin OS, same problem. I tried Kubuntu 22.04 LTS and even that couldn’t detect the WiFi card! So for the mean time, I’m stuck with using Ubuntu 23.04. Any ideas to get around this? Can I use Ubuntu to figure the exact WiFi card that’s being used then download its driver? If so, how can I do that exactly? Note that my Laptop doesn’t have a built-in Ethernet port, and I don’t want to buy a USB Ethernet adapter only for it not work out of the box either! Any help would be appreciated!

  • noddy@beehaw.org
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 year ago

    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.

    • josephsh5@lemm.eeOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      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?

      • djsaskdja@endlesstalk.org
        link
        fedilink
        English
        arrow-up
        6
        ·
        edit-2
        1 year ago

        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.

    • 0v0@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      and lshw -C network. On ubuntu 23.04 (where it works) it will show the driver and driver version.

    • axzxc1236@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      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

    • Diplomjodler@feddit.de
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      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?

      • sylana@feddit.de
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 year ago

        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

  • snoodwattle@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    1 year ago

    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

  • ChojinDSL@discuss.tchncs.de
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    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.