Advice on an actually good wifi adapter that will be supported by LibreELEC

  • Hello,

    i've been enjoying LibreELEC for a while now and while generally everything is ok, i have had constant troubles with the default rpi5 wifi adapter that kept disconnecting me in LibreELEC build sd card (although i don't know why, because it doesn't do this when i use it with my Raspbian image).

    Anyways, i have read around that the default wifi adapter is not very good anyways and that i should buy a dongle, so i went and bougth this one becuase of good reviews and results in onlne connectivity tests https://www.tp-link.com/us/home-networ…ter/archer-t4u/

    However, i very fast found out that it uses Realtek 8812au chipset and LibreELEC doesn't support drivers for this, and after googling around i also found out that it is impossible to install additional drivers on LibreELEC. While i could install kodi app on Raspbian, i would rather stay with LibreELEC because it performs much better on rpi5, so i am going to return it and try to buy anothre one compatible with the os.

    When searching around i saw someone on the forums recommending this older tp-link TL-WN722N https://www.amazon.com/TP-Link-TL-WN7…s/dp/B0141JKZYQ, because its drivers are supposed to be working working out of the box, but it is an older model with lower gains and only 2.4ghz it won't cut it in my situation. My tv configuration/AP router position at home makes it impossible to receive better wifi connection and in order to function properly it would need to be a really good wifi adapter (like the archer t4u) in order to receive stable speeds (like i get with the t4u archer for example).

  • hello!

    thanks for the response. the pastekodi is https://paste.libreelec.tv/excited-opossum.log

    and the output from the lsusb -tv

    i am quite a noob and i have assumed the driver is for 8812au when googling around for "raspberry pi" and the dongle modle name and found this thread https://forums.raspberrypi.com/viewtopic.php?t=239830 before i was about to buy it so i would see if someone had experience installing it with rpi before (didn't know libreelec would have a bit different debian environment than regular raspbian debian)

    then, when i tried apt-get and discovered i didn't realize it's a completely different os i googled around for 881au for libreelec and found this thread how to get RTL8812AU working with Libreelec where you said you won't be adding more realtek drivers, so i assumed i'm out of luck

  • that's weird, i am getting curl: (6) Could not resolve host: paste.libreelec.tv, probably old wifi problems again

    anyways, here's the paste from the journalctl after the update

    External Content pastebin.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • I can see there are wlan0 and wlan1 interfaces now. Disable onboard WiFi by adding "dtoverlay=disable-wifi" to config.txt on the SD card and then see if you can configure a network.

  • no luck :/ when i do that i have no active wifi adapter and see no wifi networks in the config environment

    also, when i have no "dtoverlay=disable-wifi" in the config i see that the device is already using "Driver=rtl88XXau" from the lsusb

    Quote

    Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=rtl88XXau, 480M
    ID 2357:0115 TP-Link Archer T4U ver.3

    however, when i do ifconfig i don't see it in active interfaces, only the default rpi one, loopback, and default ethernet (the wlan1 there is the default adapter, not the archer t4u)

  • Quote

    my apologies for double post but i cannot edit my own posts, i wanted to add:

    also, when i do "ifconfig wlan0" i see

    Quote

    wlan0 Link encap:Ethernet HWaddr 00:E0:4C:AF:17:F8
    BROADCAST MULTICAST MTU:2312 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

    but it's not used. when i do ifconfig wlan0 up i get

    Quote

    ifconfig: ioctl 0x8914 failed: Operation not permitted

    dmesg | grep wlan0 shows nothing about the wlan0 after reboot

  • Code
    echo "rtl88XXau" > /storage/.config/modeprobe.d/blacklist.conf

    I did some more Googling and the v3 might be an RTL8822BU device, so blacklist the vendor driver to stop it loading and see what happens after rebooting. Share the journal log again pls.

  • Maybe buy a cheap wifi router and set it to wireless bridge mode. That way you are using the ethernet on the Pi, which has established drivers. I would wager the reception/speed will be better than any usb wifi adapter.

  • Maybe buy a cheap wifi router and set it to wireless bridge mode

    ^ this is what I do for test/dev simply because it avoids the effort of configuring a WiFi connection. Not that configuring WiFi is such a major effort, but after a decade of test/dev the novelty wears off. I have a bunch of older Apple Airport Express things which are not so fast these days, but compact and (when I got them) cheap.

  • Code
    echo "rtl88XXau" > /storage/.config/modeprobe.d/blacklist.conf

    I did some more Googling and the v3 might be an RTL8822BU device, so blacklist the vendor driver to stop it loading and see what happens after rebooting. Share the journal log again pls.

    `/storage/.config/modeprobe.d/ didn't exist, so i guess it was perhaps `/storage/.config/modprobe.d/blacklist.conf, so i added the blacklist there and rebooted the device.

    however, after that when i run lsusb -tv again i still see it has "rtl88XXau" written next to it

    Quote

    /: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=rtl88XXau, 480M

    how is it still using old driver if it's blacklisted?

    here is the latest journalctl

    External Content pastebin.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • Code
    Apr 07 20:34:00 LibreELEC modprobe[241]: libkmod: kmod_config_parse: /etc/modprobe.d/blacklist.conf line 1: ignoring bad line starting with 'rtl88XXau'

    so..

    Code
    echo "blacklist rtl88XXau" > /storage/.config/modeprobe.d/blacklist.conf
    reboot

    and try again..

  • it didn't work when i added blacklist rtl88XXau, but i ran lsmod that there is no such driver called rtl88XXau, but actually 88XXau! so i added blacklist 88XXau and that worked, so the d

    now lsusb -tv shows

    Code
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
       ID 1d6b:0002 Linux Foundation 2.0 root hub
       |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=rtw_8822bu, 480M
           ID 2357:0115 TP-Link Archer T4U ver.3

    and i see it in active interfaces when i do ifconfig

    what is strange though that lsmod doesn't show that it's using rtw88_8822bu, but actually rtw88_8822b, and that is used by rtw88_8822bu? i am very confused:

    Code
    Module                  Size  Used by
    rtw88_8822bu           49152  0
    rtw88_8822b           245760  1 rtw88_8822bu

    anyways, i have disabled default wifi via dtoverlay=disable-wifi as you mentioned and while it just crashed and rebooted the whole LibreELEC while connecting to the wifi for the first time manually; it started to work after reboot, when it connected automatically on system startup

    so for anyone looking here in the future, Archer T4U uses rtw88_8822bu (or rtw88_8822b, i don't understand that lsmod output)

    how should i behave regarding LibreELEC updates/newer version? if i understand correctly, this is your own custom build with this driver attached to this hardware

  • The custom change in my image wasn't correct and the blacklisting prevents that change from being used anyway, so you should be able to swap to official images without problems. Go test and see.

    NB: The "rtw88" driver supports a family of Realtek chips including PCI/SDIO/USB models and upstream driver code is modular, so rtw88_8822b is loaded when it needs to support USB devices and rtw88_8822bu has further code specific to that chip variant. It's how drivers should be written; with common code reused. The vendor drivers are "project" based; so each Realtek customer releasing a device gets their own code-fork and driver release with minor branding (and USB ID) changes and the world ends up trying to track 50+ iterations of the same driver.

  • The custom change in my image wasn't correct and the blacklisting prevents that change from being used anyway, so you should be able to swap to official images without problems. Go test and see.

    hmm i think not, because while it isn't correct and makes the hardware use rtl88XXau, but it also does include drivers rtw_8822bu which the hardwre used after i blacklisted 88XXau

    i have just tested a fresh LibreELEC install, the dongle is not working and it indeed shows that the device is not using any driver at all. (after i add blacklist 88XXau to the blacklist too, but that isn't doing anything i guess because it says Driver=)

    Code
    Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M
       ID 1d6b:0002 Linux Foundation 2.0 root hub
       |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
           ID 2357:0115 TP-Link Archer T4U ver.3

    so currently, this build that you have provided https://chewitt.libreelec.tv/testing/LibreE…h64-11.95.2.tar is working but the fresh new LibreELEC install LibreELEC (official): 11.0.6 (RPi5.arm) didn't

  • If you update to an LE12 image (11.95.1 or a current nightly) with Linux 6.6 kernel it will work as I described. The Linux 6.1 kernel in LE11 images is older and doesn't support the card. LE12 images will work better on an RPi5 anyways.

  • your build must have had something different, because i have downloaded the freshest rpi5 nightly build nightly-20230930-dd26ba0 (RPi5.aarch64) and i still have no driver attached

    Quote

    /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
    ID 2357:0115 TP-Link Archer T4U ver.3

    edit: nevermind :headslap: i see the newest files are not on top of the build listing like usually, but on bottom instead

    the build LibreELEC (community): nightly-20240406-4b7642d (RPi5.aarch64) works right away and the driverrtw_8822bu is correctly assigned, thanks!

    Quote

    /: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/2p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Vendor Specific Class, Driver=rtw_8822bu, 480M
    ID 2357:0115 TP-Link Archer T4U ver.3


    so, to answer this thread in the end, for anyone looking for a decent connectivity usb dongle, that is also supported by LibreELEC, it can be Archer T4U, but you have to use a nightly build lol (for now)

    Edited 4 times, last by groovyturtles (April 11, 2024 at 12:09 PM).