Kartenleser seit Kernel 5.1 verschwunden

Moin,

auf meinem Intel NUC7PJYH funktioniert der Kartenleser seit Kernel 5.1 (und 5.2) nicht mehr, bis 5.0 lief er einwandfrei.
Gibt zwar schon ein paar ähnliche Topics diesbezüglich, diese sind zT aber schon Jahre alt.
Ausserdem gibts als AUR einen "rts5227-dkms" Treiber, bin aber nicht sicher ob ich damit nicht noch mehr zerschieße.

Hier mal ein paar Infos:

Unter 5.0 stehen unter /dev noch mmcblk0 und mmcblk0p1, unter 5.1 nicht.

Hwinfo zeigt bei beiden Kerneln "Realtek RTS5229 PCI Express Card Reader" unter "unknown".
Lspci zeigt bei beiden "01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)"

Inxi zeigt unter 5.0
"Drives:
Local Storage: total: 234.73 GiB used: 103.69 GiB (44.2%)
ID-1: /dev/mmcblk1 model: SD02G size: 1.84 GiB
ID-2: /dev/sda vendor: SanDisk model: SDSSDH3250G size: 232.89 GiB "

unter 5.1 nur noch
"Drives:
Local Storage: total: 232.89 GiB used: 103.69 GiB (44.5%)
ID-1: /dev/sda vendor: SanDisk model: SDSSDH3250G size: 232.89 GiB"

GParted sieht den reader auch nicht mehr unter 5.1

Evtl hat ja jemand ne Idee was man da machen kann.

Bis denn
Sven

Wird den das Module für den Kartenleser automatisch geladen? Das Modul sollte rtsx_pci heißen. Falls es nicht geladen ist, könntest du auch einfach versuchen es manuell zu laden.

Gibt es im dmesg Meldungen zum Kartenleser?

Das DKMS Paket kann man normalerweise recht gefahrlos testen. Stelle nur sicher das für alle installierten Kernel die Header Pakete installiert sind. Das AUR Paket sollte eine Blacklist Datei anlegen, damit rtsx_pci nicht geladen wird. Das ist sehr wichtig, den interne Kernel Module haben immer Vorrang.
Nach dem Neustart einfach überprüfen, ist das Modul rts5229 geladen? Gibt es im dmesg Meldungen dazu?

1 Like

So,

ich hoffe das ich das richtige raugesucht habe, muss mich nach 20 Jahren MacOS erstmal wieder unter Linux zurechtfinden...

unter 5.0 konnte ich das mit dmesg finden:

[ 2.655337] mmc1: new SD card at address aaaa
...
[ 5.177728] mmcblk1: mmc1:aaaa SD02G 1.84 GiB
[ 5.235443] mmcblk1: p1

unter 5.1 nichts dergleichen

lsmod unter 5.1:

rtsx_pci_ms 24576 0
memstick 20480 1 rtsx_pci_ms
rtsx_pci_sdmmc 32768 0
rtsx_pci 73728 2 rtsx_pci_sdmmc,rtsx_pci_ms
mmc_core 184320 4 rtsx_pci_sdmmc,sdhci,cqhci,sdhci_pci

ebenfalls unter 5.1:

modinfo rtsx_pci
filename: /lib/modules/5.1.15-1-MANJARO/kernel/drivers/misc/cardreader/rtsx_pci.ko.xz
description: Realtek PCI-E Card Reader Driver
author: Wei WANG wei_wang@realsil.com.cn
license: GPL
srcversion: 31C6DCB0816252DF7A46AAC
alias: pci:v000010ECd00005260svsdbcFFsci
...
alias: pci:v000010ECd00005209svsdbcFFsci
depends:
retpoline: Y
intree: Y
name: rtsx_pci
vermagic: 5.1.15-1-MANJARO SMP preempt mod_unload modversions
...

Im Verzeichnis
"/lib/modules/5.1.15-1-MANJARO/kernel/drivers/misc/cardreader"
sind diese Dateien zu finden

alcor_pci.ko.xz
rtsx_pci.ko.xz
rtsx_usb.ko.xz

das gleiche unter den jeweiligen Verzeichnissen für 5.0 und 5.2
Scheint ja eigentlich alles da zu sein oder?

Bis denn,
Sven

Der lsmod unter 5.1 listet rtsx_pci . Der Kernel erkennt also einen Kartenleser. Nur scheinen die Module nicht mehr richtig mit dem Leser zu arbeiten.

Es gibt einen Bugreport, interessanterweise auch von einem Manjaro Benutzer. Nur hat sich noch kein Entwickler dazu geäußert.
https://bugzilla.kernel.org/show_bug.cgi?id=204003

In Bugreports zu anderen Realtek Kartenlesen wird geschrieben das es einen Unterschied macht ob es sich um eine SDHC oder SDXC Karte handelt. Dazu gab es in 5.1 Änderungen, vielleicht hängt es damit zusammen. Aber ich bin kein Entwickler, also alles reine Spekulation.

Ich denke du solltest das Modul aus dem rts5227-dkms Paket versuchen. Vielleicht klappt es damit. Ich kann mir eher nicht vorstellen, dass es eine kurzfristige Lösung direkt im Kernel geben wird.

Tja, schade,

die Befürchtung das es am Kernel selber liegt hatte ich auch schon; und bei dem anderen Treiber kommt bisher nur "Vorgang konnte nicht erfolgreich vorbereit werden", da werde ich mich ggf mal mit befassen.

Werde es mal mit nem externen Leser versuchen.

Danke erstmal

Bis denn
Sven

Bei der Installation oder wenn das Modul verwendet wird um SD Karten zu lesen?

War schon bei der Installation, gab AFAIR auch keinen weiteren Hinweis, nur die Option die Build-Dateien oder so ähnlich anzupassen.
Kann natürlich an den Header-Dateien liegen die du erwähnt hast, ich hatte zwar die vermutlich richtigen installiert, kann aber gut sein das ich was übersehen hab; bin da wie gesagt noch nicht so bewandert.

Habe aber grad mal einen externen Reader (0815-Anker-Dingsi) ausprobiert, der funktionert bisher einwandfrei. Von daher ist das Problem eh nicht mehr so dringend obwohl der interne Reader natürlich schicker wäre.

Danke nochmals

Bis denn
Sven

PS:
witzigerweise hat der neue Reader auch einen Realtek-Chipsatz ...

S: Manufacturer=Realtek
S: Product=USB3.0 Card Reader

Aber nicht über PCI(E) angebunden.

Falls du nochmal versuchen willst das AUR Paket zu bauen würde ich dir den "Arch Weg" empfehlen. Da bekommt man meist bessere Fehlermeldungen. Ich bin kein großer Fan von den GUI Programmen wie Pamac.

sudo pacman -S --needed base-devel git

git clone https://aur.archlinux.org/rts5227-dkms.git

cd rts5227-dkms

makepkg -si

Wenn du Header Pakete installiert hast, wirst du beim Installationsschritt sehen für welche Kernel dkms das Modul baut. Die i Option bei makepkg bewirkt, dass das gebaute Paket im Anschluss automatisch installiert wird.

...
(1/3) Install DKMS modules
==> dkms install rts5227/1.07 -k 4.19.57-1-MANJARO
==> dkms install rts5227/1.07 -k 5.1.16-1-MANJARO
...

Hm, läuft zwar alles durch, wird auch als installiert angezeigt, aber das Ding läuft immer noch nicht.
Scheint wirklich was NUC und 5.1 spezifisches zu sein.

Bis denn,
Sven