ttyACM0 और sdb एक भौतिक USB डिवाइस से बनाया गया है


1

मेरे पास नॉर्डिक सेमीकंडक्टर्स nRF51 SoC के आसपास एक USB डिवाइस है। एक बार जब मैं इसे अपने उबंटू मशीन में प्लग करता हूं तो यह दोनों के निर्माण को ट्रिगर करता है /dev/ttyACM1और /dev/sdb। अब तक, मैंने /dev/ttyACM1UART सीरियल डिवाइस के रूप में माना है। मुझे नहीं पता कि यह क्या बनाना है। कोई कस्टम udv नियम नहीं जोड़े गए हैं।

का आउटपुट lsusb -v:

Bus 002 Device 022: ID 1366:1015 SEGGER 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x1366 SEGGER
  idProduct          0x1015 
  bcdDevice            1.00
  iManufacturer           1 SEGGER
  iProduct                2 J-Link
  iSerial                 3 000680636054
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          121
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          4 Configuration
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       0 
      bFunctionProtocol       0 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              5 CDC ACM
      CDC Header:
        bcdCDC               1.10
      CDC Call Management:
        bmCapabilities       0x03
          call management
          use DataInterface
        bDataInterface          1
      CDC ACM:
        bmCapabilities       0x06
          sends break
          line coding and serial state
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               8
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              6 CDC DATA
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              7 J-Link
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              8 MSD
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)

वह कौन सा तंत्र है जो ट्रिगर होगा और ttyACM1दोनों के रूप में पहचाना जाएगा ?ttyACM1/dev/sdb

जवाबों:


1

USB उपकरणों में कई इंटरफेस हो सकते हैं (जैसे कंट्रोल बटन वाला स्पीकर)। प्रत्येक इंटरफ़ेस स्वतंत्र है, हालांकि एक विवरणक हो सकता है जिसमें कहा गया है कि उन्हें संघ में काम करना चाहिए। यदि इंटरफ़ेस लिनक्स द्वारा समर्थित एक उपकरण वर्ग का उपयोग करता है, तो इसे उपलब्ध कराने के लिए एक वर्ग ड्राइवर का उपयोग किया जाएगा। संचार डिवाइस क्लास और मास स्टोरेज के लिए क्लास ड्राइवर हैं । आपके मामले में शायद सीरियल पोर्ट कमांड भेजने के लिए है, और मास मेमोरी फ्लैश मेमोरी लिखने के लिए है। lsusb -vइंटरफेस पर विवरण के लिए अपने डिवाइस के आउटपुट को देखें।


के आउटपुट के साथ अपडेट किया गया lsusb -v। इंटरफेस आप का उल्लेख कर रहे हैं Interface Descriptor? लगता है उनमें से 4 हैं। तो धारणा यह है कि उनमें से केवल 2 लिनक्स द्वारा मान्यता प्राप्त हैं और वे हैं जिन्हें लोड किया जा रहा है ttyACM0और /dev/sdb?
TheMeaningfulEngineer

हां, मैं विवरणों के बारे में निश्चित नहीं हूं, लेकिन इंटरफ़ेस 0 कक्षा 2, सबक्लास 2, प्रोटोकॉल 1 है जो सामान्य यूएसबी / क्लास / सीडीसी-एसीएम.को ड्राइवर मॉड्यूल द्वारा मिलान किया गया लगता है, साथ ही इंटरफ़ेस 1 जो वास्तव में करता है डेटा स्थानांतरण। उनके सामने इंटरफ़ेस एसोसिएशन द्वारा दो को संयुक्त किया जाता है। इंटरफ़ेस 2 बिना किसी ड्राइवर के विक्रेता के लिए विशिष्ट है (जब तक कि विक्रेता / डिवाइस आईडी एक से मेल नहीं खाता)। इंटरफ़ेस 3 कक्षा 8,
सबक्लास

lsusb -tआपको दिखाना चाहिए कि डिवाइस के लिए किस ड्राइवर का उपयोग किया जा रहा है।
मयूह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.