2012-04-03 25 views
9

jak określić, jaki rodzaj nośnika został dołączony do systemu?Jak określić, czy podłączone urządzenie USB jest dyskiem flash USB?

Mam Ubuntu, a kiedy jest włożona karta SD, to zauważy, że w rzeczywistości jest karta SD. To samo dotyczy pamięci USB.

Ale jak określić na niskim poziomie po włożeniu nowego urządzenia, jaki to jest typ?

Wygląda na to, że nie ma żadnych informacji na ten temat.

EDIT: po prostu być bardziej kompletne: Powiedziałem, że to środowisko Linux, ale w rzeczywistości jest to Android w środowisku wbudowanych. Oznaczyłem go Linuksem, ponieważ naprawdę próbuję sprawdzić z linii poleceń.

Komenda udevadm nie jest dostępny, i lsusb -vv pokazuje:

Bus 001 Device 001: ID 1d6b:0002 
Bus 001 Device 002: ID 0424:2640 
Bus 001 Device 003: ID 0424:4040 
Bus 002 Device 001: ID 1d6b:0001 

co jest bardzo mało informacji.

+0

Co masz na myśli mówiąc "jaki typ"? jaki typ mediów? (tj. CD, DVD, dysk twardy, itp.) – Hasturkun

+0

należy to do Serverfault lub Superuser – KurzedMetal

+0

tak, z typem I dokładnie oznacza CD, DVD, dysk twardy, itp. Muszę wiedzieć, czy użytkownik włożył pamięć USB. – Boy

Odpowiedz

9

W lsusb listuje urządzenia USB zarejestrowanych w systemie. Wypróbuj lsusb -vv, aby uzyskać bardziej szczegółowe informacje. Możesz użyć flagi -s do kierowania na określone urządzenie.

UPDATE: To zależy od uprawnień konta, dane wymagają większych przywilejów. Na przykład tutaj jest wyjście dla mojej myszki:

Bus 003 Device 003: ID 04f3:0230 Elan Microelectronics Corp. 
Device Descriptor: 
    bLength    18 
    bDescriptorType   1 
    bcdUSB    1.10 
    bDeviceClass   0 (Defined at Interface level) 
    bDeviceSubClass   0 
    bDeviceProtocol   0 
    bMaxPacketSize0   8 
    idVendor   0x04f3 Elan Microelectronics Corp. 
    idProduct   0x0230 
    bcdDevice   24.58 
    iManufacturer   0 
    iProduct    2 USB+PS/2 Optical Mouse 
    iSerial     0 
    bNumConfigurations  1 
    Configuration Descriptor: 
    bLength     9 
    bDescriptorType   2 
    wTotalLength   34 
    bNumInterfaces   1 
    bConfigurationValue  1 
    iConfiguration   0 
    bmAttributes   0xa0 
     (Bus Powered) 
     Remote Wakeup 
    MaxPower    100mA 
    Interface Descriptor: 
     bLength     9 
     bDescriptorType   4 
     bInterfaceNumber  0 
     bAlternateSetting  0 
     bNumEndpoints   1 
     bInterfaceClass   3 Human Interface Device 
     bInterfaceSubClass  1 Boot Interface Subclass 
     bInterfaceProtocol  2 Mouse 
     iInterface    0 
     HID Device Descriptor: 
      bLength     9 
      bDescriptorType  33 
      bcdHID    1.11 
      bCountryCode   0 Not supported 
      bNumDescriptors   1 
      bDescriptorType  34 Report 
      wDescriptorLength  52 
     Report Descriptors: 
      ** UNAVAILABLE ** 
     Endpoint Descriptor: 
     bLength     7 
     bDescriptorType   5 
     bEndpointAddress  0x81 EP 1 IN 
     bmAttributes   3 
      Transfer Type   Interrupt 
      Synch Type    None 
      Usage Type    Data 
     wMaxPacketSize  0x0004 1x 4 bytes 
     bInterval    10 
Device Status:  0x0000 
4

Może to być przydatne, aby uruchomić taką komendę:

$ udevadm info -a -p $(udevadm info -q path -n /dev/sdX) 

Wyjście może wygląda jak następuje:

[...] 
    looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.5': 
    KERNELS=="1-1.5" 
    SUBSYSTEMS=="usb" 
    DRIVERS=="usb" 
    ATTRS{configuration}=="" 
    ATTRS{bNumInterfaces}==" 1" 
    ATTRS{bConfigurationValue}=="1" 
    ATTRS{bmAttributes}=="80" 
    ATTRS{bMaxPower}=="200mA" 
    ATTRS{urbnum}=="6519" 
    ATTRS{idVendor}=="13fe" 
    ATTRS{idProduct}=="1d00" 
    ATTRS{bcdDevice}=="0100" 
    ATTRS{bDeviceClass}=="00" 
    ATTRS{bDeviceSubClass}=="00" 
    ATTRS{bDeviceProtocol}=="00" 
    ATTRS{bNumConfigurations}=="1" 
    ATTRS{bMaxPacketSize0}=="64" 
    ATTRS{speed}=="480" 
    ATTRS{busnum}=="1" 
    ATTRS{devnum}=="3" 
    ATTRS{devpath}=="1.5" 
    ATTRS{version}==" 2.00" 
    ATTRS{maxchild}=="0" 
    ATTRS{quirks}=="0x0" 
    ATTRS{avoid_reset_quirk}=="0" 
    ATTRS{authorized}=="1" 
    ATTRS{manufacturer}=="Kingston" 
    ATTRS{product}=="DataTraveler 2.0" 
    ATTRS{serial}=="5B7A08A1010F" 
[...] 

Można zobaczyć część ATTRS opisująca urządzenie.

+1

Ale skąd wiadomo, że jest to pamięć USB, a nie karta SD? – Boy

-2

jak ustalić, czy urządzenie USB jest pamięć USB

SCNR. Urządzenia USB zwykle nie reklamują swojego kształtu. Pomyśl:

  • urządzeń CDROM samoprzylepnych oparte tam - zwykle w postaci mobilnych połączeń urządzenia na statek własne sterowniki okna
  • kije do bezprzewodowej klawiatury/myszy/hids/etc, lub do gniazd audio
  • ten gruby odtwarzacz MP3, który blokuje wszystkie inne porty USB w pobliżu:
+3

wyraźnie szukają napędu flash (który jest często nazywany kijem), a nie fizycznej obudowy zewnętrznej. –

Powiązane problemy