Linux, sysfs, usb памети и usb твърди дискове

Има ли начин да се направи разлика между USB памети (флаш памет) и USB твърди дискове чрез libudev / sysfs в Linux? Ако не, има ли начин за директно запитване до хардуера? Благодаря ти.


person Zaur Nasibov    schedule 13.02.2013    source източник
comment
USB флаш устройствата обикновено не реагират правилно на hdparm -I, така че ако получите грешка SG_IO, това обикновено означава, че това е флаш устройство, а не въртяща се плоча (не ме е SSD, за да тествам тази теория на банкомат)   -  person Petesh    schedule 14.02.2013
comment
Току-що опитах със SSD, включен в SATA‹-›USB устройство - hdparam -I даде почти същата информация, както при заявка за USB флаш :(   -  person Zaur Nasibov    schedule 14.02.2013
comment
Проверих с няколко стикове, устройства и SSD и получих db.tt/F4BQZcDr Използвах и sg_inq на устройства и получих dropbox.com/s/cwbih24iqjvkfcb/sg_inq.txt - I не мисля обаче, че получих същия отговор като теб от hdparm.   -  person Petesh    schedule 14.02.2013
comment
@Petesh, получавам SG_IO: bad/missing sense data, sb[]... както за SSD, така и за флаш памети. Доколкото разбирам, имате същия резултат в hdaparam -I. Нито sg_inq резултат (pastebin.com/0H8LCqmG) не показва някаква особена разлика.   -  person Zaur Nasibov    schedule 14.02.2013


Отговори (1)


Може би бихте могли да проверите подкласа на устройството с udev правило като това: ATTRS{bDeviceSubClass}=="xx". Не знам дали можете точно да различите стикове от истински устройства, като използвате само подкласа.

person kouk    schedule 13.02.2013
comment
За съжаление този не работи добре :( Например опитайте да включите USB стик и lsusb --verbose - дава bInterfaceSubClass 6 SCSI за Kingston Datatraveller 8GB стик. - person Zaur Nasibov; 13.02.2013
comment
какво ще кажете за bDeviceSubclass? - person kouk; 13.02.2013
comment
Доколкото знам, не можете да различите стик от USB твърд диск, като използвате подкласа. - person fpmurphy; 13.02.2013
comment
този отговор помага ли? unix.stackexchange.com/questions/10755/ - person kouk; 13.02.2013