Individuazione degli attributi della scheda SD montata


10

La mia scheda SD è montata automaticamente come / dev / sdb:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  1024M  0 rom  
sda      8:0    0    80G  0 disk 
├─sda1   8:1    0    78G  0 part /
├─sda2   8:2    0     1K  0 part 
└─sda5   8:5    0     2G  0 part [SWAP]
sr1     11:1    1  1024M  0 rom  
sdb      8:16   1   7.4G  0 disk 
├─sdb1   8:17   1    56M  0 part /media/boot
└─sdb2   8:18   1   2.7G  0 part /media/af599925-1134-4b6e-8883-fb6a99cd58f1

In dmesg:

[ 1206.970596] sd 3:0:0:0: [sdb] Attached SCSI removable disk

Vorrei conoscere alcuni attributi: numero di serie, ID produttore, ecc. In cui pensavo di trovarmi /sys/class. Ho cercato /sys/class/scsi_disk/3:0:0:0/senza fortuna.

Dove troverei queste informazioni? Sto usando l'ultima versione di Arch-Linux.

Risposte:


12

Il modo corretto per farlo, in Arch Linux ma ormai in tutti i sistemi che usano udev , è il comando:

  sudo udevadm info -a -n /dev/sdb

nel tuo caso.

Modificare:

Una risposta al tuo commento: credo che ti sbagli. La classe è una vista di un dispositivo che è indipendente dai dettagli di implementazione di basso livello. L'esempio classico è un disco. Ovviamente potresti avere un disco SCSI o un disco ATA, ma, a livello di classe , sono la stessa cosa. L'idea della classe è di consentire agli utenti di creare un codice di spazio utente indipendente da come sono connessi alla rete, da come funzionano, da quale driver di dispositivo usano e così via. In un certo senso, la classe è il più alto livello di astrazione disponibile come modello per i dispositivi.

Quindi ti sbagli nella ricerca di dettagli come il tuo fornitore di schede SD (che, a proposito, dovrebbe essere in / sys / class / mmc_host , se non altro) all'interno di / sys / class .


1
Ok, questo fornisce tutte queste informazioni. Ma - avrei /sys/classdovuto essere un modo per navigare /devsenza tutto il udevhieracrchy specifico del dispositivo (impostato da )? Sbaglio a riguardo?
Charles Pehlivanian,

@CharlesPehlianian Vedi la modifica alla mia risposta
MariusMatutiae

Ok - allora avevo l'impressione sbagliata. Grazie!
Charles Pehlivanian,

@CharlesPehlivanian: è possibile ottenere tali informazioni dettagliate tramite /sys/class; vedi la risposta di Robert. Potrebbe non essere il modo migliore. Tuttavia, su alcuni sistemi (ad esempio Android), udevadmnon è disponibile.
LarsH,

6

Il layout esatto dipende dal driver, ma prova a cercare /sysalcune parole chiave specifiche MMC (SD). Di seguito è riportato un sistema incorporato basato su ARM:

$ find /sys -name "oemid"
/sys/class/mmc_host/mmc0/mmc0:aaaa/oemid
$ find /sys -name "cid"
/sys/class/mmc_host/mmc0/mmc0:aaaa/cid
$ find /sys -name "csd"
/sys/class/mmc_host/mmc0/mmc0:aaaa/csd

Il post sul blog di Bunnie su shenanigans della scheda SD è un buon posto per iniziare a rintracciare il significato di quei numeri ID.


Grande. Nel mio caso, con questa risposta, sono riuscito a trovare la maggior parte degli attributi dei dispositivi SD e MMC. cid, csd, scr, date, fwrev, hwrev, manfid, name, oemid, serial ...
agfe2

2

Non uso Arch Linux, ma "dispositivi USB" elenca i dettagli di tutti i dispositivi USB di cui il sistema è a conoscenza e include quanto segue per una chiave USB che ho inserito:

T:  Bus=03 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0781 ProdID=5567 Rev=01.26
S:  Manufacturer=SanDisk
S:  Product=Cruzer Blade
S:  SerialNumber=4C532000060624123092
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

1
Grazie, questo mi dà quello che stavo chiedendo, ma mi piacerebbe capire /sys/classun po 'meglio, quindi vorrei una risposta basata su quello.
Charles Pehlivanian,

1

Guardando / sys / class / scsi_disk ho scoperto che (sul mio sistema) questi sono symkink su dischi reali. In effetti quando faccio un "ls -la / sys / class / scsi_disk / mostra un collegamento simbolico per 8: 0: 0: 0 a ../../devices/pci0000:00/0000:00:1c.4/0000 : 09: 00.0 / usb3 / 3-2 / 3-2,3 / 3-2,3: 1.0 / host8 / target8: 0: 0/8: 0: 0: 0 / scsi_disk / 8: 0: 0: 0

Se poi passo a: / sys / devices / pci0000: 00/0000: 00: 1c.4 / 0000: 09: 00.0 / usb3 / 3-2 / 3-2.3 / 3-2.3: 1.0 / host8 / target8: 0: 0/8: 0: 0: 0 Ha un numero di file che sospetto siano di tuo interesse tra cui -

model = model of the drive
vendor = the drive vendor

Anche di interesse potrebbe essere l'analisi / proc / scsi -

/proc/scsi/scsi          contains the description of each device and associated host
                         as scsi8 which lets me derive the "8" in the next bit.

/proc/scsi/usb-storage/8 contains the Vendor, Product and serial number

Quando fai lssulla tua /sys/devices/...directory, come indichi, ottengo un link simbolico a /sys/class/scsi_disk/8:0:0:0, che è dove è iniziata la mia domanda. Non vedo alcun file per modello, fornitore FUA, device, allow_restart, ecc. Ho cercato questi file senza fortuna.
Charles Pehlivanian,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.