From 0a251a68f581a8f015aa0f513158a499c5ece85d Mon Sep 17 00:00:00 2001 From: Tamas Hudak Date: Thu, 19 Feb 2026 12:35:03 +0100 Subject: [PATCH 1/3] Update README: add OSMC kernel to tested list, fix firmware typo --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index db6b6b1..7dbd068 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,8 @@ $ sudo make install ``` $ sudo make uninstall ``` -Note: Firmware for MT7621 will not be uninstalled. +Note: Firmware for MT7921 will not be uninstalled. # Tested kernels 1. Kernel 5.15.0-56-generic (Linux Mint 20.3 Una) 2. Kernel 5.16.17-sun50iw6 (Orange Pi 3.0.8 Orangepi3-lts Ubuntu 22.04) +3. Kernel 5.15.92-1-osmc (OSMC on Raspberry Pi 4, aarch64 kernel / armhf userland) From 02fe83a6b2a483840dd061ac96d88c811c2aa7ea Mon Sep 17 00:00:00 2001 From: Tamas Hudak Date: Thu, 19 Feb 2026 12:46:32 +0100 Subject: [PATCH 2/3] Add OSMC Raspberry Pi 4 cross-compilation setup guide --- OSMC-RPi4-GUIDE.md | 222 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 223 insertions(+), 1 deletion(-) create mode 100644 OSMC-RPi4-GUIDE.md diff --git a/OSMC-RPi4-GUIDE.md b/OSMC-RPi4-GUIDE.md new file mode 100644 index 0000000..52be2a4 --- /dev/null +++ b/OSMC-RPi4-GUIDE.md @@ -0,0 +1,222 @@ +# Fenvi FU-AX1800 (MT7921au) on OSMC — Setup Guide + +## Environment + +- **Device**: Raspberry Pi 4 running OSMC +- **Kernel**: 5.15.92-1-osmc (aarch64 kernel, armhf userland) +- **USB Adapter**: Fenvi FU-AX1800 (MediaTek MT7921au, USB ID `0e8d:7961`) +- **Problem**: The `mt7921u` driver was added in kernel 5.18, so it must be compiled as an out-of-tree module for kernel 5.15. + +--- + +## Step 1: Install build dependencies + +```bash +sudo apt update +sudo apt install -y build-essential git libssl-dev bc file +``` + +If `libssl-dev` fails with a 404, download manually: + +```bash +wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.1_1.1.1w-0+deb11u4_armhf.deb -O /tmp/libssl1.1.deb +wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl-dev_1.1.1w-0+deb11u4_armhf.deb -O /tmp/libssl-dev.deb +sudo dpkg -i /tmp/libssl1.1.deb /tmp/libssl-dev.deb +``` + +## Step 2: Install kernel headers and source + +```bash +sudo apt install -y rbp464-headers-sanitised-5.15.92-1-osmc rbp464-source-5.15.92-1-osmc +``` + +> **Note**: Use `apt-cache search rbp464` if the exact version has changed. + +## Step 3: Create the kernel build symlink + +```bash +sudo ln -sf /usr/src/rbp464-source-5.15.92-1-osmc /lib/modules/5.15.92-1-osmc/build +``` + +## Step 4: Install the cross-compiler + +The kernel is arm64 but userland is armhf, so a cross-compiler is needed: + +```bash +sudo apt install -y aarch64-toolchain-osmc +``` + +This installs a chroot-based toolchain at `/opt/osmc-tc/aarch64-toolchain-osmc/`. + +## Step 5: Set up cross-compiler wrapper scripts + +The toolchain binaries are aarch64 ELF executables inside a chroot. They can run on the aarch64 kernel but need the correct dynamic linker and library paths. Create wrapper scripts for every tool: + +```bash +# Create the dynamic linker symlink +sudo ln -sf /opt/osmc-tc/aarch64-toolchain-osmc/lib/ld-linux-aarch64.so.1 /lib/ld-linux-aarch64.so.1 + +# Create wrapper scripts +sudo mkdir -p /usr/local/aarch64-cross +for tool in $(ls /opt/osmc-tc/aarch64-toolchain-osmc/usr/bin/aarch64-linux-gnu-* | xargs -n1 basename); do + sudo tee /usr/local/aarch64-cross/$tool > /dev/null <