O2 Micro, Inc. SD/MMC Card Reader [1217:8520] auch bei ultra high speed (SDXC) nutzen

  • Sollte jemand ein Notenbuch mit integriertem SD/MMC-Kartenleser nutzen und dieser vom
    oben genannten Typ sein, so wird der Versuch SDXC-Karten zu lesen vermutlich fehlschlagen (gilt für openSUSE Leap 42.2).
    SDHC-Karten bis Speed-Class 10 werden ohne Probleme vom genannten Reader gelesen und geschrieben.
    Infos zu den Spezifikationen siehe hier
    Wie oft bei GNU/Linux ist es dennoch mit wenig Aufwand möglich, diesem Problem beizukommen hier


    Als Erstes solltet ihr prüfen, welcher Wert für die Option debug_quirks2 des Kerneltreibers sdhci_pci eingestellt ist (vermutlich 0x04). In einer root-konsole einfach

    Code
    modprobe --show-depends sdhci sdhci_pci sdhci_acpi

    eingeben und die gewünschte Auskunft wird erteilt ^^ .
    Um diesen Wert zu ändern, müssen die folgende Kernelmodule entladen werden und anschließend die Option debug_quirks2
    auf einen höheren Wert gesetzt werden. Jetzt das Kernelmodul erneut laden und prüfen, ob sich das gewünschte Ergebnis eingestellt hat.
    Hier die Abfolge noch einmal zum besseren nachvollziehen:

    Code
    modprobe -rf sdhci_acpi 
    modprobe -rf sdhci_pci
    modprobe -rf sdhci
    modprobe sdhci debug_quirks2="0x1000"
    modprobe sdhci_pci

    Der Parameter f (force) ist bei mir notwendig gewesen - ist laut man-pages aber mit Vorsicht zu verwenden.
    Sobald ihr eine funktionierende Einstellung gefunden habt, ist es sinnvoll, dass von Beginn, also bei Start des Rechners
    dieser Wert für debug_quirks2 geladen wird.
    Hierzu einfach eine Datei unter

    Code
    /etc/modprobe.d/

    erstellen, z.B. mit dem Namen "99-o2micro.conf".
    Der Dateiinhalt muss mindestens folgende Zeile enthalten:

    Code
    options sdhci debug_quirks2=0x1000

    be tolerant - not ignorant
    Alle Hunde sind schwarz.
    Es gibt einen Hund der nicht weiß ist.

    Für den Inhalt des Beitrages 104931 haftet ausdrücklich der jeweilige Autor: Boreas