0bda:b812 rtl88x2bu kernel module

  • After having WIFI performance issues at the back end of my house with Kodi on my Google TV and my RaspberryPi 4 I decided to bust out my Rpi2 with this adapter. This solved all of the performance issues that I was having.

    I can't say for sure what brought on the performance issues. Either my router degraded in some fashion or there is too much radio interference near my house now.

    The Techkey-6B06 is a beast. Get one if you find it on sale like I did.

    I'll try to roll a RPi4 image with the driver and see how that performs too.

  • thanks

    Edited 4 times, last by hongdat1106 (August 16, 2021 at 4:06 AM).

  • I tried following these steps and am having a bit of trouble.

    Unfortunately, I don't have enough free space on my local drive to do this. So I am trying off an external drive, but it fails with an error.

    To start with, when I follow these instructions to the letter, the build works, but fails when it fills the available space. I stayed with it for some 10 minutes, then left it to run overnight and when I came back, the error message was pretty explicit with "drive full", well into the build.

    Now, I am trying off an external HDD connected to USB and it fails after about 1 minute with this:

    stdout and stderr don't show any additional info:

    stdout:

    Code
    # cat build.LibreELEC-RPi2.arm-9.2-devel/.threads/logs/3/stdout
    config/functions: line 1257: /home/louisnichols/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.2-devel/.threads/locks/ccache:host.build: Invalid argument
    FAILURE: scripts/build ccache:host has failed!

    stderr

    Code
    # cat build.LibreELEC-RPi2.arm-9.2-devel/.threads/logs/3/stderr 
    [001/251] [FAIL] build   ccache:host
    
    The following logs for this failure are available:
      stdout: /home/louisnichols/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.2-devel/.threads/logs/3/stdout
      stderr: /home/louisnichols/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.2-devel/.threads/logs/3/stderr

    I tried to trick it by using ln -s from the external drive to ~/LibreELEC.tv/, but the result is the same.

    In fact, these outputs are from such an attempt with ln -s. But, without it, the result was exactly the same.

    After having these failures twice, I checked again that the build works out of a native folder and it does. So it really is something about using the external drive.

    Any suggestions?

  • Nevermind. It occurred to me that it was all very silly and the only difference between "local" folders and the external drive was they way they were mounted. The external drive was mounted through gnome vfs. So I remounted the external drive the old school way with sudo mount and now the build is churning.

    Thank you for these instructions! :)

    Later edit: some 7 or 8 hours later, the build was succesful. It did have a couple of hiccups and I had to restart the build 3 times. The first time I deleted .ccccache, but for the next ones I didn't bother. And it got to the end. It was all quite exciting. And then I realized I compiled for the wrong platform. :))) OK, well, one more try...

    In a ny case, this is probably the most complex build I've made since Compiz first came out. :D

    Edited once, last by louis_nichols (December 20, 2021 at 8:43 AM).

  • Has anyone been able to compile the driver into LibreELEC 10? I'm running into errors on the same development machine that I used for rolling the driver into LibreELEC 9. I'm using Ubuntu 20.04.

  • Never mind guys. I was able to roll the driver into LibreELEC 10.0.2 and compile it for the Raspberry Pi 4 just fine. I'm not sure what went wrong when I tried to compile it a couple months ago. Maybe there was a bug in LibreELEC, the driver, or an Ubuntu 20.04 package on my build machine. I'll see if it works for the RPi 2 when I get a chance.

  • Hi,

    I am trying to use tp-link AC1300 with module 88x2bu. It works with RPi4.

    trying to use your advice with creating LibreELEC 10.0.2, I get:

    PROJECT=RPi ARCH=arm DEVICE=RPi2 make image

    ./scripts/image mkimage

    Traceback (most recent call last):

    File "scripts/genbuildplan.py", line 369, in <module>

    REQUIRED_PKGS = processPackages(args, ALL_PACKAGES)

    File "scripts/genbuildplan.py", line 298, in processPackages

    raise Exception(msg)

    Exception: Invalid package reference: dependency RTL88x2BU in package linux-drivers::PKG_DEPENDS_TARGET is not valid

    Any Idea ?

  • Quote

    Exception: Invalid package reference: dependency RTL88x2BU in package linux-drivers::PKG_DEPENDS_TARGET is not valid

    So the PKG_DEPENDS_TARGET variable in the package.mk that you added is incorrect in some way.

  • package.mk:

    PKG_VERSION="439c7dbd9e43acd91d5704a50b68647716c52505"

    PKG_LICENSE="GPL"

    PKG_SITE="https://github.com/cilynx/rtl88x2bu"

    PKG_URL="https://github.com/cilynx/rtl88x2bu/archive/$PKG_VERSION.tar.gz"

    # https://github.com/cilynx/rtl88x2…35809.20191129_

    PKG_DEPENDS_TARGET="toolchain linux"

    PKG_NEED_UNPACK="$LINUX_DEPENDS"

    PKG_LONGDESC="Realtek RTL88x2BU Linux driver"

    PKG_IS_KERNEL_PKG="yes"

    pre_make_target() {

    unset LDFLAGS

    }

    make_target() {

    make V=1 \

    ARCH=$TARGET_KERNEL_ARCH \

    KSRC=$(kernel_path) \

    CROSS_COMPILE=$TARGET_KERNEL_PREFIX \

    CONFIG_POWER_SAVING=n

    }

  • Code
    git clone https://github.com/LibreELEC/LibreELEC.tv.git
    cd LibreELEC.tv
    git checkout libreelec-10.0
    PROJECT=RPi DEVICE=RPi2 ARCH=arm make image

    ^ If you don't change to the libreelec-10.0 branch you are building against master and the driver will need patches for Linux 5.19.y

    https://chewitt.libreelec.tv/testing/88x2bu.ko <= module built against 5.10.110 kernel (current HEAD of libreelec-10 branch)

  • Coreelec has a file rtl8822bu-aml which works with this adapter. Why does Coreelec have it and Libreelec does not?

    I've been trying to get your 88x2bu.ko working on my Libreelec 10.0.3 install, but have still not been successful.

    I have a TP-Link AC1300 Archer T3U Plus.

    Edited once, last by dootsie5times (November 10, 2022 at 1:36 AM).

  • Coreelec has a file rtl8822bu-aml which works with this adapter. Why does Coreelec have it and Libreelec does not?

    Because CE has a kernel that never changes version (as it's the only one they can use) so they hack the driver to work once, and then never have to touch it again. In LE we bump the kernel constantly, and that means all these shitty out-of-tree Realtek drivers break, constantly. Over time we gave up on them and now simply refuse to add more. Fortunately in recent times Realtek has gotten better at submitting their drivers to the kernel, but they breed new chipsets faster than the process of submitting support to the kernel.