मैं कैसे जांच सकता हूं कि लिनक्स में USB3.0 UASP (USB संलग्न SCSI प्रोटोकॉल) मोड सक्षम है या नहीं?


25

मेरे पास एक लैपटॉप है जो Ubuntu 15.04 (3.19.0-21-जेनेरिक) और एक बाहरी USB3.0 2.5 "SATA HDD संलग्नक है जो दावा करता है कि यह UASP मोड ( StarTech द्वारा S2510BPU33 मॉडल ) का समर्थन करता है । मुझे ड्राइव को बढ़ाने में कोई समस्या नहीं है। इसे पढ़ना / लिखना।

मैं निम्नलिखित की पुष्टि करने में सक्षम होना चाहता हूं:

  1. यह उपकरण वास्तव में UASP का समर्थन करता है
  2. क्या मेरा चिपसेट भी UASP का समर्थन करता है
  3. जब मैं इसे माउंट करता हूं तो डिवाइस UASP का उपयोग कर रहा है या नहीं

मुझे यह जानकारी कहां से मिल सकती है?

जवाबों:


25

यदि आप अपने डिवाइस का नाम जानते हैं, तो USB बस और डिवाइस नंबर खोजें:

$ lsusb
...
Bus 002 Device 005: ID xxxx:yyyy MyDeviceManufacturer
...

फिर USB ट्री को देखें और अपने डिवाइस को खोजें (मेरा बस 2 था, देव 5):

$ lsusb -t
...
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 5, If 0, Class=Mass Storage, Driver=uas, 5000M
    |__ Port 4: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
...

आप मेरे मामले में uasड्राइवर को देख सकते हैं ।

यदि यूएएस उपयोग में नहीं है तो आप देखेंगे usb-storage(जैसे देव 3 मेरे मामले में)।


1
बहुत बढ़िया - वह अच्छी तरह से पते 3 बिंदु। अगर मैं नहीं देखता Driver=uas, तो यह पता लगाना अच्छा होगा कि क्यों - उदाहरण के लिए यह हो सकता है कि या तो चिपसेट या डिवाइस (या संभवतः दोनों?) यूएएस का समर्थन नहीं करता है? । मैं प्रश्न को सप्ताह के अंत तक खुला छोड़ दूँगा जब तक कोई अन्य दो बिंदुओं का जवाब नहीं दे सकता, लेकिन अन्यथा मैं आपके उत्तर को स्वीकार करूंगा।
अली_म

1
मैं 1 और 2 के उत्तर भी जानना चाहता हूं, यदि मैं इसका पता
लगाता

10

उत्तर austinmarton के अलावा , आप चला सकते हैं

lsusb -v -d VPID | grep -i interface

जहां VPID विक्रेता / उत्पाद आईडी है जिसमें रिपोर्ट की गई है lsusb। उदाहरण के लिए:

$ lsusb -v -d 1234:5678 | grep -i interface
Couldn't open device, some information will be missing
  bDeviceClass            0 (Defined at Interface level)
    bNumInterfaces          1
    Interface Descriptor:
      bInterfaceNumber        0
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              6 

ध्यान दें कि केवल bInterfaceProtocolसूचीबद्ध मूल्य है 80 Bulk-Only। यह डिवाइस UASP- कॉन्फ़िगर डिवाइस नहीं होगा । हालांकि, अगर आप एक अतिरिक्त देखना bInterfaceProtocol 98, इस होगा एक UASP-विन्यस्त डिवाइस हो।

ये मान दशमलव में दिए गए हैं, लेकिन कल्पना उनके हेक्स मानों द्वारा उन्हें संदर्भित करती है ...

50h (80d): USB Mass Storage Class Bulk-Only (BBB) Transport
62h (98d): Allocated by USB-IF for UAS. 

यह जानकारी usb.org , धारा 3 प्रोटोकॉल कोड्स, टेबल 2 - मास स्टोरेज ट्रांसपोर्ट प्रोटोकॉल पर मास स्टोरेज स्पेसिफिकेशन में देखी जा सकती है ।

मुझे यकीन नहीं है कि यह आपके पहले या दूसरे प्रश्न का उत्तर देता है, हालांकि, क्योंकि यह स्पष्ट नहीं है कि यह मूल्य उन मशीनों / उपकरणों पर सूचित किया जाएगा जो यूएएसपी का समर्थन करते हैं और जो ऐसा नहीं करते हैं।


विपुल भंडारण विशिष्टता दस्तावेज़ अब में पाया जाता है usb.org/sites/default/files/...
नाथन

3

जवाब पूरा करने के लिए:

यदि आपका नियंत्रक UAS का समर्थन नहीं करता है , तो लिनक्स कर्नेल आपको बताने के लिए पर्याप्त है:

$ dmesg | grep "UAS"
[58669.959610] usb 4-2: USB controller 0000:03:00.0 does not support streams, which are required by the UAS driver.
[58669.959613] usb 4-2: Please try an other USB controller if you wish to use UAS.

इसके अलावा, lsusb bInterfaceProtocol 98 के लिए एक लाइन दिखाता है, लेकिन यह खाली है:

$ lsusb -v -d 0080:a001 | grep -i interface
bDeviceClass            0 (Defined at Interface level)
  bNumInterfaces          1
  Interface Descriptor:
    bInterfaceNumber        0
    bInterfaceClass         8 Mass Storage
    bInterfaceSubClass      6 SCSI
    bInterfaceProtocol     80 Bulk-Only
    iInterface              0 
  Interface Descriptor:
    bInterfaceNumber        0
    bInterfaceClass         8 Mass Storage
    bInterfaceSubClass      6 SCSI
    bInterfaceProtocol     98 
    iInterface              0

HTH,

आर। डैनियल ओलिव,
द ह्यूमन रोबोट इनसाइड।


बस स्पष्ट करने के लिए, bInterfaceProtocol 98 लाइन की उपस्थिति इंगित करती है कि यह विशेष उपकरण यूएएस के लिए आवश्यक प्रोटोकॉल का समर्थन करता है - लेकिन लाइन हमेशा "खाली" होती है (जिसका कोई पाठ विवरण स्ट्रिंग नहीं है) चाहे वह यूएएस समर्थित हो या नहीं। (वास्तव में यह केवल खाली है क्योंकि कक्षा 8 / उपवर्ग 6 / प्रोटोकॉल 62 के लिए कोई विवरण /var/lib/usbutils/usb.ids में नहीं दिया गया है, प्रोटोकॉल 50 के लिए दिए गए विवरण "थोक-केवल" के साथ जाने के लिए
नाथन

-1

आपको यह देखना होगा कि आपकी डिस्क के लिए UAS ड्राइवर का उपयोग किया जा रहा है या नहीं । सबसे पहले, प्रश्न में डिस्क की पहचान करें:

   # dmesg | grep sdb
   ...................
   sd 9:0:0:1: [sdb] Attached SCSI disk

तो मेरा डिवाइस एक SCSI डिस्क है। यहां आपको वर्तमान में उपयोग में आने वाले ड्राइवरों के बारे में जानकारी मिलती है,

   # ls /sys/bus/scsi/drivers
     sd  sr

तो, मेरे मामले में, उपयुक्त ड्राइवर या तो एसडी या एसआर है । कौन सा चेक करने के लिए, मैं कोशिश करता हूं

   # cd /sys/bus/scsi/drivers/sd/9:0:0:1
   # 

इसलिए मेरी ड्राइवर है एसडी है.आप इस बात की दोबारा जांच कर सकते हैं कि निर्देशिका 0: 0: 1 / sys / बस / SCSI / ड्राइवरों / sr / 9 करता नहीं मौजूद हैं। इसलिए मेरी बाहरी डिस्क UASP नहीं है।


3
मुझे नहीं लगता कि यह उत्तर सही है, SD और SR ड्राइवर आपको UAS के बारे में नहीं बताते हैं। मुझे UAS का उपयोग करके एक डिस्क मिल गई है और यह SD ड्राइवर ( lxr.free-electrons.com/source/drivers/scsi/sd.c ) का उपयोग करता है । बहुत यकीन है कि एसआर ड्राइवर सीडी / डीवीडी ड्राइवरों के लिए है ( lxr.free-electrons.com/source/drivers/scsi/sr.c )
austinmarton

ऐसा इसलिए है क्योंकि sd / sr uas / usb-storage की तुलना में एक अलग लेयर पर काम करता है।
१६:२६
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.