Seite 1 von 1

(gelöst) SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 1. Dez 2019, 15:33
von Christina
Hallo,

ich möchte bei SD-Cards Informationen über "cid, csd, Datum, manfid, oemid, serial" auslesen.
So wie hier beschrieben https://buyzero.de/blogs/news/raspberry ... rosd-karte, geht das aber nicht.

Code: Alles auswählen

cd /sys/class/mmc_host/mmc?/mmc?:*
echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"
Es gibt bei openSUSE Leap 15.1 kein Verzeichnis "/sys/class/mmc_host".

Kann mir jemand weiterhelfen, bitte?

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 1. Dez 2019, 20:39
von susejunky
Hallo Christina,
Christina hat geschrieben:
1. Dez 2019, 15:33
... ich möchte bei SD-Cards Informationen über "cid, csd, Datum, manfid, oemid, serial" auslesen.
wie ist das Lesegerät, mit Hilfe dessen Du die SD-Karte zu lesen versuchst, an Deinen Rechner angebunden (PCI, USB, ...)?

Viele Grüße

susejunky

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 1. Dez 2019, 21:17
von Christina
Hallo,
per USB:

Code: Alles auswählen

lsusb
Bus 003 Device 002: ID 05e3:0716 Genesys Logic, Inc. USB 2.0 Multislot Card Reader/Writer

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 1. Dez 2019, 22:05
von susejunky
Hallo Christina,
Christina hat geschrieben:
1. Dez 2019, 21:17
... per USB:

Code: Alles auswählen

lsusb
Bus 003 Device 002: ID 05e3:0716 Genesys Logic, Inc. USB 2.0 Multislot Card Reader/Writer
Das könnte der Grund für Dein Problem sein.
Christina hat geschrieben:
1. Dez 2019, 15:33
... Es gibt bei openSUSE Leap 15.1 kein Verzeichnis "/sys/class/mmc_host".
Bist Du sicher, dass dem tatsächlich so ist?

Verwende ich einen über USB angebundenen, externen Kartenleser, dann existiert das Verzeichnis /sys/class/mmc_host (openSUSE Tumbleweed). Allerdings fehlt das Verzeichnis /sys/class/mmc_host/mmc?/mmc?:* und damit auch die Informationen, die mit echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)" abgefragt werden sollen.

Verwende ich den über PCI eingebundenen, internen Kartenleser, dann existiert das Verzeichnis /sys/class/mmc_host/mmc?/mmc?:* und echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)" liefert die gewünschten Informationen.

Viele Grüße

susejunky

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 1. Dez 2019, 22:32
von josef-wien
Es scheint entweder vom Kernel oder vom USB-Kartenleser abzuhängen. Bei meinem Gerät und dem Langzeit-Kernel 4.14 gibt es das Verzeichnis /sys/class/mmc_host nicht. Christina könnte das Repo http://download.opensuse.org/repositori ... /standard/ einbinden und den Kernel 5.4 installieren, um diesbezüglich zu forschen.

Bei einem USB-Kartenleser werden die gewünschten Informationen aber wohl nicht zu erhalten sein. Der Kernel kommuniziert mit dem USB-Kartenleser (und nicht mit der Karte), und der gibt in der Regel nur das von sich, was zum Lesen und Schreiben gebraucht wird.

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 2. Dez 2019, 17:12
von susejunky
Hallo josef-wien,
josef-wien hat geschrieben:
1. Dez 2019, 22:32
Es scheint entweder vom Kernel oder vom USB-Kartenleser abzuhängen.
Da bin ich mir nicht so sicher.

Ich habe eben den identischen USB-Kartenleser (billig-no-name-Ware) mit der identischen SD-Karte (Lexar 32GB MiniSD) einmal an mein Notebook und einmal an meinen Desktop-PC angeschlossen (immer USB3-Buchse). Auf beiden Geräten läuft die aktuelle Tumbleweed-Version (allerdings ist das nur Kernel 5.3.12 und noch nicht Kernel 5.4).

Auf dem Laptop gibt es das Verzeichnis /sys/class/mmc_host, auf dem Desktop-PC nicht.
josef-wien hat geschrieben:
1. Dez 2019, 22:32
Bei einem USB-Kartenleser werden die gewünschten Informationen aber wohl nicht zu erhalten sein. Der Kernel kommuniziert mit dem USB-Kartenleser (und nicht mit der Karte), und der gibt in der Regel nur das von sich, was zum Lesen und Schreiben gebraucht wird.
Das vermute ich auch. Und smartctl ist bei mir am USB-Kontroller komplett gescheitert.

Viele Grüße

susejunky

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 2. Dez 2019, 17:48
von abgdf
Scheint mir wieder so ein Problem zu sein, daß Hotplugging-Services irgendwas Undurchschaubares auf dem System machen, und irgendwelche Dateien und Verzeichnisse mit kryptischen Namen aufgrund von irgendwelchen "Policies" temporär automatisch erstellen oder eben nicht.
Früher, mit manuell mounten und "/etc/fstab", wäre das nicht passiert.
Früher, da hatte man noch die Kontrolle über das System. Jetzt weniger. Bald noch weniger. Bald noch weniger. Wollte nur mal drauf hinweisen.

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 3. Dez 2019, 14:41
von Christina
susejunky hat geschrieben:
2. Dez 2019, 17:12
Auf dem Laptop gibt es das Verzeichnis /sys/class/mmc_host, auf dem Desktop-PC nicht.
Und der Artikel oben ist vom 1. Juli 2017. Also hat es vermutlich nicht mit der Kernelversion 5.3.12 zu tun.
Mit Linux Kernel 4.19.34 (System Rescue CD 6.0.3) gibt es auch kein Verzeichnis /sys/class/mmc_host/.
Trotzdem Danke!
Noch eine andere Frage: Das Wildcard ? steht für 1 beliebiges Zeichen, * für beliebige/kein Zeichen.
Was bewirkt dann die Kombination: ?:* bei

Code: Alles auswählen

cd /sys/class/mmc_host/mmc?/mmc?:*
?
":" ist doch glaube ich auch ein Wildcard, wenn es ohne Backslash steht "\:".

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 3. Dez 2019, 20:18
von gehrke
Also unter Fedora 31 mit all dem bösen, neumodischen Schnickschnack gibt es bei eingelegter SD-Card genau das:

Code: Alles auswählen

bash-5.0$ cd /sys/class/mmc_host/mmc?/mmc?:*
bash-5.0$ pwd
/sys/class/mmc_host/mmc0/mmc0:aaaa
Wollt's nur gesagt haben...

EDIT:

Code: Alles auswählen

bash-5.0$ uname -r
5.3.12-300.fc31.x86_64

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 3. Dez 2019, 21:32
von Christina
Aha, dann ist der Doppelpunkt hier kein Wildcard, danke.

Aber was wird bei dir angezeigt, wenn du in diesem Verzeichnis bei eingelegter SD-Card eingibst

Code: Alles auswählen

echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"
Ist das auch ein USB-Cardreader?

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 3. Dez 2019, 21:52
von gehrke

Code: Alles auswählen

bash-5.0$ echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"
man:0x000003 oem:0x5344 name:SC32G hwrev:0x8 fwrev:0x0
Christina hat geschrieben:
3. Dez 2019, 21:32
Ist das auch ein USB-Cardreader?
Nein, sorry. Das ist der interne CardReader. Das dürfte der relevante Unterschied sein.

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 3. Dez 2019, 22:00
von susejunky
Hallo Christina,
Christina hat geschrieben:
3. Dez 2019, 14:41
... Das Wildcard ? steht für 1 beliebiges Zeichen, * für beliebige/kein Zeichen.
Was bewirkt dann die Kombination: ?:* ...
ich denke der von Dir angesprochene Fall ist dem Bereich filename expansion zuzuordnen.

Dazu findest Du hier https://www.gnu.org/savannah-checkouts/ ... /bash.html (Kapitel 3.5 bzw. speziell 3.5.8 ) mehr.

Viele Grüße

susejunky

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 4. Dez 2019, 13:17
von robi
Ich hatte das zu einem ähnlichen Problem hier schon mal geschrieben.
Die Seriennummer und Hersteller .... und was sonst noch auf der HW der Karte gespeichert ist, kann man natürlich auch nicht mit einem USB-Cardreader auslesen, bekommt man bestenfalls die Daten vom Cardreader, aber nicht wirklich die der Karte.
Benötigt wird da ein interner Cardreader zB. auf pci-Basis wie er zB in Laptops verbaut sein könnte. (geht aber auch nicht unbedingt jeder Cardreader manche haben dennoch Basis USB, aber die Change denke ich höher als 50%)
robi

Re: SD-Card Informationen (cid, csd, Datum, manfid, oemid, serial) auslesen

Verfasst: 4. Dez 2019, 17:23
von Christina
susejunky hat geschrieben:
3. Dez 2019, 22:00
Dazu findest Du hier https://www.gnu.org/savannah-checkouts/ ... /bash.html (Kapitel 3.5 bzw. speziell 3.5.8 ) mehr.
Das ist richtig gut, Danke!
---
gehrke hat geschrieben:
3. Dez 2019, 21:52

Code: Alles auswählen

bash-5.0$ echo "man:$(cat manfid) oem:$(cat oemid) name:$(cat name) hwrev:$(cat hwrev) fwrev:$(cat fwrev)"
man:0x000003 oem:0x5344 name:SC32G hwrev:0x8 fwrev:0x0
Christina hat geschrieben:
3. Dez 2019, 21:32
Ist das auch ein USB-Cardreader?
Nein, sorry. Das ist der interne CardReader. Das dürfte der relevante Unterschied sein.
Mein Notebook hat auch einen internen Card Reader.

Code: Alles auswählen

lsusb
Bus 002 Device 004: ID 0bda:0138 Realtek Semiconductor Corp. RTS5138 Card Reader Controller
uname -a
Linux sysresccd 4.19.34-1-lts #1 SMP Sat Apr 6 19:41:19 CEST 2019 x86_64 GNU/Linux
Ein Verzeichnis "/sys/class/mmc_host" gibt trotzdem nicht, weil er am USB hängt. (Danke auch an robi.)
Ich habe gerade leihweise einen USB3-SD-Card-Reader da und es geht auch nicht.

Vielen Dank an alle!