this post was submitted on 18 Aug 2024
14 points (93.8% liked)

Linux 101 stuff. Questions are encouraged, noobs are welcome!

1026 readers
1 users here now

Linux introductions, tips and tutorials. Questions are encouraged. Any distro, any platform! Explicitly noob-friendly.

founded 1 year ago
MODERATORS
 

//Solution:

I installed this driver (https://github.com/morrownr/8821au-20210708).

The driver however, did not work until I ran a script called remove-driver.sh from the driver that I used to use (https://github.com/morrownr/8821cu-20210916). Then the wifi adapter started working again :)

Thanks a lot for the help - I am still not really sure what the problem actually was, but I'm very thankful for having my internet connection back :)

//Original post below:

Hey :)

I've been using a wifi adapter for my computer for about a year. A few days ago, it suddenly stopped working. It no longer shows up when I run 'nmcli device' in the terminal. When running 'lsusb' it still shows up as 'Realtek Semiconductor Corp. 802.11ac NIC'.

To my knowledge I hadn't updated anything before it stopped working. After it had stopped working, I used usb-tethering from my phone to do a system update, hoping it would fix the problem. I think one of the updates was a linux firmware update. Anyways, it didn't fix anything.

The adapter didn't work out of the box. It arrived with a driver called 'RTL88x2BU' and a document stating that it was compatible with the following chip drivers for linux: RTL8811AU RTL8811CU RTL8812BU RTL8814AU

I couldn't get the driver it arrived with to work, so instead I downloaded this driver and have been using it until it stopped working. https://github.com/morrownr/8821cu-20210916

this driver only states that it supports some linux kernel version. I'm using '6.8.0-40-generic', which it does not claim to suppport. I download this driver, which should support my kernel, but it didn̈́'t work either. https://github.com/morrownr/8821au-20210708

I've tried running lsmod on my system, and it seems to be, that no wifi driver even starts. The only thing I can remember doing just prior to my internet not working, was running 'systemctl disable jellyfin.service'. I doubt that has anything to do with this, but I'm not sure what else it could be. My only other theory is, maybe the usb wifi adapter hardware just gave up.

Any help is appreciated ^^

top 17 comments
sorted by: hot top controversial new old
[–] [email protected] 6 points 4 weeks ago (1 children)

A few things to start. We need to know more about how things are currently.

lspci -vv

That will give us what modules are being used by what devices along with a bunch of other information.

lsusb -v

That will give us some info about your USB layout, drivers, and so on.

We also need to know what distro you are using, kernel version, and for the distro what exact version, so if Ubuntu is it LTS, current, 23.04, etc.

That should be a good start, after that we can see where we are at and what next steps are.

[–] [email protected] 3 points 4 weeks ago

I'm running Ubuntu 22.04.4 LTS, thanks for helping me :)

lspci -vv gives information about the following results, I don't think the wifi adapter is among them

00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation IvyBridge GT2 [HD Graphics 4000] (rev 09)
00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b4)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation H61 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)

lsusb -v gives

Bus 002 Device 004: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0bda Realtek Semiconductor Corp.
  idProduct          0xc811 
  bcdDevice            2.00
  iManufacturer           1 Realtek
  iProduct                2 802.11ac NIC
  iSerial                 3 123456
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0035
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           5
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 802.11ac NIC
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               3
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
[–] [email protected] 5 points 4 weeks ago (1 children)
[–] [email protected] 3 points 4 weeks ago (1 children)

dmesg gives me 942 lines - is there anything specific I should be looking for or share here ?

[–] [email protected] 2 points 4 weeks ago (1 children)

If it's an usb device, you can remove it and plug it in again and look at the 'new' lines at the end of the dmesg output.

[–] [email protected] 4 points 4 weeks ago (1 children)

Thanks :))

I get, all in green text

[  653.571686] usb 2-1.5: USB disconnect, device number 4
[  655.312262] usb 2-1.5: new high-speed USB device number 5 using ehci-pci
[  655.391050] usb 2-1.5: New USB device found, idVendor=0bda, idProduct=1a2b, bcdDevice= 2.00
[  655.391061] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  655.391064] usb 2-1.5: Product: DISK
[  655.391067] usb 2-1.5: Manufacturer: Realtek
[  655.392897] usb-storage 2-1.5:1.0: USB Mass Storage device detected
[  655.393284] scsi host0: usb-storage 2-1.5:1.0
[  656.219917] usb 2-1.5: USB disconnect, device number 5
[  656.392263] usb 2-1.5: new high-speed USB device number 6 using ehci-pci
[  656.471130] usb 2-1.5: New USB device found, idVendor=0bda, idProduct=c811, bcdDevice= 2.00
[  656.471139] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  656.471143] usb 2-1.5: Product: 802.11ac NIC
[  656.471146] usb 2-1.5: Manufacturer: Realtek
[  656.471149] usb 2-1.5: SerialNumber: 123456
[  778.302397] kauditd_printk_skb: 72 callbacks suppressed
[  778.302402] audit: type=1400 audit(1724013264.553:83): apparmor="DENIED" operation="capable" class="cap" profile="/usr/lib/snapd/snap-confine" pid=2429 comm="snap-confine" capability=12  capname="net_admin"
[  778.397393] audit: type=1400 audit(1724013264.648:84): apparmor="DENIED" operation="open" class="file" profile="snap-update-ns.firefox" name="/usr/local/share/" pid=2460 comm="5" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
[  780.466450] audit: type=1107 audit(1724013266.717:85): pid=768 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call"  bus="system" path="/org/freedesktop/timedate1" interface="org.freedesktop.DBus.Properties" member="GetAll" mask="send" name=":1.126" pid=2429 label="snap.firefox.firefox" peer_pid=2581 peer_label="unconfined"
                exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
[  780.468502] audit: type=1107 audit(1724013266.719:86): pid=768 uid=102 auid=4294967295 ses=4294967295 subj=unconfined msg='apparmor="DENIED" operation="dbus_method_call"  bus="system" path="/org/freedesktop/timedate1" interface="org.freedesktop.DBus.Properties" member="GetAll" mask="send" name=":1.126" pid=2429 label="snap.firefox.firefox" peer_pid=2581 peer_label="unconfined"
                exe="/usr/bin/dbus-daemon" sauid=102 hostname=? addr=? terminal=?'
[  809.734261] usb 2-1.6: new high-speed USB device number 7 using ehci-pci
[  809.818389] usb 2-1.6: New USB device found, idVendor=0fce, idProduct=020c, bcdDevice= 4.14
[  809.818400] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  809.818404] usb 2-1.6: Product: XQ-AU52
[  809.818407] usb 2-1.6: Manufacturer: Sony
[  809.818409] usb 2-1.6: SerialNumber: QV7112J13A
[  815.706827] usb 2-1.6: USB disconnect, device number 7
[  815.878262] usb 2-1.6: new high-speed USB device number 8 using ehci-pci
[  815.959096] usb 2-1.6: New USB device found, idVendor=0fce, idProduct=720c, bcdDevice= 4.14
[  815.959106] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  815.959110] usb 2-1.6: Product: XQ-AU52
[  815.959113] usb 2-1.6: Manufacturer: Sony
[  815.959115] usb 2-1.6: SerialNumber: QV7112J13A
[  815.983152] usbcore: registered new interface driver cdc_ether
[  815.988878] rndis_host 2-1.6:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.6, RNDIS device, 32:5a:e8:f2:1d:46
[  815.988916] usbcore: registered new interface driver rndis_host
[  815.999781] rndis_host 2-1.6:1.0 enx325ae8f21d46: renamed from usb0
[  845.914645] usb 2-1.5: USB disconnect, device number 6
[  847.366261] usb 2-1.5: new high-speed USB device number 9 using ehci-pci
[  847.445009] usb 2-1.5: New USB device found, idVendor=0bda, idProduct=1a2b, bcdDevice= 2.00
[  847.445019] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  847.445023] usb 2-1.5: Product: DISK
[  847.445026] usb 2-1.5: Manufacturer: Realtek
[  847.446985] usb-storage 2-1.5:1.0: USB Mass Storage device detected
[  847.447905] scsi host0: usb-storage 2-1.5:1.0
[  848.218628] usb 2-1.5: USB disconnect, device number 9
[  848.392263] usb 2-1.5: new high-speed USB device number 10 using ehci-pci
[  848.471090] usb 2-1.5: New USB device found, idVendor=0bda, idProduct=c811, bcdDevice= 2.00
[  848.471100] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  848.471104] usb 2-1.5: Product: 802.11ac NIC
[  848.471107] usb 2-1.5: Manufacturer: Realtek
[  848.471110] usb 2-1.5: SerialNumber: 123456
[–] [email protected] 1 points 4 weeks ago* (last edited 4 weeks ago)

So, dmesg doesn't show any errors. Thus the device seems not to be physically damaged. But I also don't see that any driver is loaded.

[–] [email protected] 3 points 4 weeks ago (1 children)

I know the issue has be fixed but this is something you (or others) might want to consider.

If you have a desktop computer you can get a "wireless access point" which you can connect to your desktop using an ethernet cable then connect the AP to your WiFi network.

This negates the need to find an adapter that supports Linux and having to install drivers to make an adapter work.

With an AP the computer only sees an ethernet connection and as the AP is separate to your computer you can position it where it gets the best reception (there are even access points from the likes of TP-Link and others that can use POE (power over ethernet) so you can run just one cable).

[–] [email protected] 1 points 3 weeks ago (1 children)

that's a good idea - it certainly would have saved me from a lot of work :)

[–] [email protected] 2 points 3 weeks ago

Wireless access points are really versatile and can be used is a number of ways.

I recently upgraded from an all in one WiFi router to a wired only router (I have fibre) which is then connected to my desktop using ethernet and I have a UFO style access point on the ceiling connected using ethernet and powered by POE.

If I need to upgrade the WiFi at a later date I don't have to redo my entire network setup.

[–] [email protected] 1 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Are the networking service and network manager up and running?
systemctl status networking
systemctl status network-manager
What does rfkill list wifi show?

[–] [email protected] 2 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

'systemctl status networking' gives

Unit networking.service could not be found.

'systemctl status network-manager' gives

Unit network-manager.service could not be found.

'rfkill list wifi' gives nothing

//edit:

'systemctl status NetworkManager' gives

● NetworkManager.service - Network Manager
     Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; v>
     Active: active (running) since Mon 2024-08-19 08:12:34 CEST; 1h 54min >
       Docs: man:NetworkManager(8)
   Main PID: 770 (NetworkManager)
      Tasks: 3 (limit: 9251)
     Memory: 11.1M
        CPU: 5.564s
     CGroup: /system.slice/NetworkManager.service
             └─770 /usr/sbin/NetworkManager --no-daemon

I can't find any alternative names for 'networking'.

[–] [email protected] 2 points 4 weeks ago (1 children)

ip link show should list all available interfaces. If the wifi card isn't there, then it's not initialised after all.

[–] [email protected] 3 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

it does not show up from ip link show.

what does it mean, that it is not initialised ?

//EDIT:

I ran a script called remove-driver.sh from the driver that I used to use (https://github.com/morrownr/8821cu-20210916) and now the wifi adapter is up and running again :)

Thanks a lot for the help - I'm not really sure, what was wrong, but I'm very thankful for the help :)

Was the problem, that I had a bad driver installed ?

[–] [email protected] 2 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Great!

what does it mean, that it is not initialised ?

Initialisation procedure of a new device how I've understood it yet (I'm no expert, if someone knows better, you're welcome to correct or enhance):
Once the device is attached, the system notices that there is device type xxxx:yyyy on usbx-y and loads the respective kernel module/driver which then creates a file (Unix philosophy: everything is a file) somewhere in /dev e.g. wlan0 (usually you can see this in the dmesg output. In your output there was 'nothing', i.e. this didn't happen) which is used for I/O of data and tells the networking service that there is a new interface. Then, the networking service makes the interface usable for internet connection.

Was the problem, that I had a bad driver installed?

Probably some important script was accidentally deleted. As far as I remember, you driver is managed by DKMS which takes care of compiling the module after each kernel update, so maybe some information got lost there.

[–] [email protected] 2 points 4 weeks ago (1 children)

thanks for the answer :)

I just tried to remove and insert the wifi adapter, and now the dmesg has a message about loading a driver :)

[  503.972087] usb 1-1.1: new high-speed USB device number 6 using ehci-pci
[  504.050778] usb 1-1.1: New USB device found, idVendor=0bda, idProduct=1a2b, bcdDevice= 2.00
[  504.050785] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  504.050786] usb 1-1.1: Product: DISK
[  504.050788] usb 1-1.1: Manufacturer: Realtek
[  504.051140] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[  504.051798] scsi host0: usb-storage 1-1.1:1.0
[  504.824569] usb 1-1.1: USB disconnect, device number 6
[  504.996877] usb 1-1.1: new high-speed USB device number 7 using ehci-pci
[  505.075654] usb 1-1.1: New USB device found, idVendor=0bda, idProduct=c811, bcdDevice= 2.00
[  505.075666] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  505.075670] usb 1-1.1: Product: 802.11ac NIC
[  505.075672] usb 1-1.1: Manufacturer: Realtek
[  505.075675] usb 1-1.1: SerialNumber: 123456
[  505.078252] rtw_8821cu 1-1.1:1.0: Firmware version 24.8.0, H2C version 12
[  505.474619] rtw_8821cu 1-1.1:1.0 wlxa0d7683022a3: renamed from wlan0

for some reason, it loads the old driver still. rtw_8821cu instead of rtw_8821au. I'm a tad confused, but I'm happy it's working :)

thanks a lot for the help :)

[–] [email protected] 1 points 4 weeks ago

I don't know what kernel version you use, but from 6.2 the Linux kernel has this driver built-in. So maybe it doesn't use the 'newer' 3rd party 8821au-driver, as the native driver has higher priority. https://linux-hardware.org/?id=usb:0bda-c811