Installing drivers with a read-only file system

I'm trying to install a driver for my wifi dongle, but when using the method I saw online I'm getting a read-only file system error. I understand why the system is read-only, but is there a way I could modify this command to get the driver working within the limitation of a read-only file system? The command is question is: sudo make dkms_install and here's where I'm getting the tips on how to install the driver (I'm obviously swapping all instances of apt with rpm-ostree) https://community.tp-link.com/en/home/forum/topic/184118
Archer T2U Plus driver for Linux Ubuntu/Rasbian - Home Network Comm...
Hi,   I just got a TpLink Archer T2U Plus, the one with the big antenna. Works well on windows without any installataion, however I couldn't get it working on my Linux Ubuntu 19.10. with Kernel 5.3.0-24-generic system. Is there any official
20 Replies
dnkmmr
dnkmmr8mo ago
try just use-broadcom-wl
llakala
llakala8mo ago
resulted in a gray screen on boot
EyeCantCU
EyeCantCU8mo ago
Please don't enable Broadcom WL as this isn't even a Broadcom device whatsoever. You have a Realtek 8812au. To get it working someone would have to put together a kmod for it
llakala
llakala8mo ago
I found a kmod on GitHub, what's the proper commands to compile it into an rpm file? when I tried I got some vague error messages
dnkmmr
dnkmmr8mo ago
thank ostree for giving us rollbacks
EyeCantCU
EyeCantCU8mo ago
Can you link me to the repo? I wasn't able to find anything packaged for Fedora specifically yesterday
llakala
llakala8mo ago
GitHub
GitHub - RussianFedora/rtl8812au-kmod: Realtek 8812AU/8821AU USB Wi...
Realtek 8812AU/8821AU USB WiFi driver kmod/akmod package - GitHub - RussianFedora/rtl8812au-kmod: Realtek 8812AU/8821AU USB WiFi driver kmod/akmod package
llakala
llakala8mo ago
readme was in Russian and a few years old but seems to say fedora
EyeCantCU
EyeCantCU8mo ago
Oh wow. From over 6 years ago. Almost guarantee its incompatible with the current kernel
llakala
llakala8mo ago
damn gotcha
llakala
llakala8mo ago
https://github.com/aircrack-ng/rtl8812au there's this one, but it's not as a kmod
GitHub
GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver...
RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection - GitHub - aircrack-ng/rtl8812au: RTL8812AU/21AU and RTL8814AU driver with monitor mode and frame injection
llakala
llakala8mo ago
OpenWrt Wiki
package: kmod-rtl8812au-ct
package: kmod-rtl8812au-ct
llakala
llakala8mo ago
but might not be for Fedora
zerochill
zerochill6mo ago
Is it ok to continue this conversation? I am having the same issue. I built an RPM and installed it with rpm-ostree successfully, but It didn't autoload for the device. I'm guessing I'm missing a udev rule or installing it to the wrong location. Manually inserting the kernel module (from the rpm installed location) does get the wifi adapter going. I am using an rtl8814au, but there is a similar repo for the rtl8812au that I think could be packaged in the same way. It isn't the cleanest rpm spec file, I've got some hard-coded versions in the %files for example that would need updated if it were to become part of a build process.
Name: rtl8814au-morrownr-git
Version: 5.8.5.1
Release: 1
Epoch: 1
Summary: Realtek RTL8814AU Driver
License: GPLv2
BuildArch: x86_64
URL: https://github.com/morrownr/8814au.git
BuildRequires: git kernel-modules-core kernel-devel make
Provides: kmod(8814au.ko) = %{epoch}:%{version}-%{release}

%description
Realtek RTL8814AU Driver

%define srcdir %{name}-%{version}

%prep
rm -rf %{srcdir}
git clone https://github.com/morrownr/8814au.git %{srcdir}

%build
cd %{srcdir}
make clean
make

%install
cd %{srcdir}
mkdir -p "%{buildroot}/lib/modules/$(uname -r)/kernel/drivers/net/wireless/"
install -D -p -m644 8814au.ko "%{buildroot}/lib/modules/$(uname -r)/kernel/drivers/net/wireless/"

%files
/lib/modules/6.6.9-200.fc39.x86_64/kernel/drivers/net/wireless/8814au.ko

%changelog
* Sun Jan 14 2024 Sean <seanbreaksthings@tuta.io>
- initial build
Name: rtl8814au-morrownr-git
Version: 5.8.5.1
Release: 1
Epoch: 1
Summary: Realtek RTL8814AU Driver
License: GPLv2
BuildArch: x86_64
URL: https://github.com/morrownr/8814au.git
BuildRequires: git kernel-modules-core kernel-devel make
Provides: kmod(8814au.ko) = %{epoch}:%{version}-%{release}

%description
Realtek RTL8814AU Driver

%define srcdir %{name}-%{version}

%prep
rm -rf %{srcdir}
git clone https://github.com/morrownr/8814au.git %{srcdir}

%build
cd %{srcdir}
make clean
make

%install
cd %{srcdir}
mkdir -p "%{buildroot}/lib/modules/$(uname -r)/kernel/drivers/net/wireless/"
install -D -p -m644 8814au.ko "%{buildroot}/lib/modules/$(uname -r)/kernel/drivers/net/wireless/"

%files
/lib/modules/6.6.9-200.fc39.x86_64/kernel/drivers/net/wireless/8814au.ko

%changelog
* Sun Jan 14 2024 Sean <seanbreaksthings@tuta.io>
- initial build
1/4 Life
1/4 Life6mo ago
If you can PR it to ublue-os/akmods it can easily be included
tulip
tulip6mo ago
That would be pretty awesome! Please consider doing that @zerochill
zerochill
zerochill5mo ago
I'm up for this. I took a look at the akmods repo in github, but couldn't follow how the source code for each repo is actually getting pulled down. I know the way I was doing it by cloning during the prep step isn't used frequently. I followed the ublue-os/akmods repo over to the copr repo and looked for the assets for build-kmod-wl.sh, but didn't see where those rpms would be coming from, so I looked at the gasket kmod in the copr build and found that is is built from https://github.com/KyleGospo/gasket-dkms.git, but I still don't understand what pulls that in? I'm not that familiar with copr or packaging for fedora, so sorry about my ignorance here.
1/4 Life
1/4 Life5mo ago
That one is built in my repo, in your case maybe PR your spec to ublue-os/packages I'll build it in our akmods copr repo and then you can use it in a PR to ublue-os/akmods
zerochill
zerochill5mo ago
Ok great, I'll do that and put in a PR on both of those repos. Thanks! I finally got some time to work on this again. I got an akmods packages building in a personal copr and was able to install it into a container using the akmods command. I have to step away again, but I'll figure out installing it to my host system and make sure it works and then get a PR up for the repos. I'll package up the RTL8812 drivers after I make sure the RTL8814au is working, since I can't test the RTL8812 myself.
zerochill
zerochill5mo ago
Ok, I'm pretty sure that this is working so I made a PR, but I'm pretty new to akmods, so definitely give me a shout if something looks off. https://github.com/ublue-os/packages/pull/9
GitHub
feat: add rtl8814au wifi driver by sradigan · Pull Request #9 · ubl...
This PR adds two spec files to build akmods packages for the rtl8814au driver. I've been testing it with a 0846:9054 NetGear, Inc. Nighthawk A7000 802.11ac Wireless Adapter AC1900 [Realtek 8814...