Fedora und der Realtek RTS5139 Kartenleser…

Fedora bringt standardmäßig keinen Treiber für den Realtek RTS5139 Kartenleser mit, welcher in vielen Laptops verbaut ist.
Die Installation von kmod-staging löst dieses Problem, aber nur bis ein neuer Kernel veröffentlicht wird. Da es mir zu doof war, ein paar Tage ohne Kartenleser da zu stehen, habe ich einen anderen Weg gesucht. Dies führte dazu, dass ich mir den Kernel selbst kompiliere – MIT Treiber. Im Prinzip ist es auch gar nicht schwierig, die Fedora Docs bieten eine ganz gute Anleitung: https://fedoraproject.org/wiki/Building_a_custom_kernel?rd=Docs/CustomKernel

Da ich keine Lust hatte, die Befehle immer wieder manuell einzugeben sind die folgenden Scripte entstanden (die in oben verlinkter Anleitung genannten Tools müssen noch installiert werden):

1_prepare.sh

#!/bin/sh
cd ~
rpmdev-setuptree
yumdownloader --source kernel
rpm -Uvh kernel-*
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec
cd ~/rpmbuild/BUILD/

2_configure_kernel.sh

#!/bin/sh
#copy to BUILD/kernel-$ver.$subver.$fedver/linux-$ver.$arch/
make oldconfig
make xconfig
cp .config ~/rpmbuild/SOURCES/config-`uname -m`-generic

3_make_kernel.sh

#!/bin/sh
rpmbuild -bb --target=`uname -m` ~/rpmbuild/SPECS/kernel.spec

cleanup.sh

#!/bin/sh
rm -rf BU* S* ~/kernel-*.rpm

Zuerst habe ich in meinem Homeverzeichnis einen Ordner “rpmbuild” erstellt und alle Scripte dort hinein kopiert. Anschließend wird das erste Script ausgeführt. Es lädt den Quellcode des Kernels herunter und entpackt diesen. Danach wir das 2. Script in den Ordner BUILD/kernel-*/linux-*/ kopiert und darin ausgeführt. In dem sich anschließend öffnenden Dialog kann der Kernel konfiguriert werden. Hier sucht man über die Suchfunktion den entsprechenden Treiber, aktiviert das Häkchen und speichert die Konfiguration ab. Dann startet man den Kompiliervorgang mit dem 3. Script. Dies dauert je nach Rechner eine Weile. Ist der Kernel kompiliert finden sich die installierbaren rpms im Ordern RPMS.

Update 18.9.2014: Die neuen Treiber sind jetzt unter rtxs* (siehe https://bbs.archlinux.org/viewtopic.php?pid=1448633) zu finden.

Update 15.12.2014: Wie es scheint sind die Treiber unter Fedora 21 und Kernel 3.17 schon von Haus aus in den Kernel integriert. Zumindest funktionierte der Kartenleser ohne erneute Kompilierung.