ttyUSB0이 없는 Opticon OPN-3002i

ttyUSB0이 없는 Opticon OPN-3002i

Linux에서 실행하고 싶은 Opticon OPN-3002i가 있습니다. 현재 내 컴퓨터는 Kali Linux를 실행하고 있습니다. 아쉽게도 ttyUSB0USB-VCP 모드로 설정했는데도 장치가 그렇게 나타나지 않습니다. 이것은 장치를 분리했다가 연결할 때의 dmesg입니다.

[754566.684401] usb 2-1: USB disconnect, device number 17
[754570.040249] usb 2-1: new full-speed USB device number 18 using uhci_hcd
[754570.213170] usb 2-1: New USB device found, idVendor=065a, idProduct=a002
[754570.213185] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[754570.213196] usb 2-1: Product: USB Code Reader
[754570.213205] usb 2-1: Manufacturer: Optoelectronics Co., Ltd.
[754608.100374] usb 2-1: USB disconnect, device number 18
[754611.968205] usb 2-1: new full-speed USB device number 19 using uhci_hcd
[754612.142243] usb 2-1: New USB device found, idVendor=065a, idProduct=a002
[754612.142260] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[754612.142271] usb 2-1: Product: USB Code Reader
[754612.142280] usb 2-1: Manufacturer: Optoelectronics Co., Ltd.
[754853.620426] usb 2-1: USB disconnect, device number 19
[754858.460183] usb 2-1: new full-speed USB device number 20 using uhci_hcd
[754858.634224] usb 2-1: New USB device found, idVendor=065a, idProduct=a002
[754858.634240] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[754858.634250] usb 2-1: Product: USB Code Reader
[754858.634259] usb 2-1: Manufacturer: Optoelectronics Co., Ltd.

lsusb 항목

Bus 002 Device 020: ID 065a:a002 Optoelectronics Co., Ltd 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x065a Optoelectronics Co., Ltd
  idProduct          0xa002 
  bcdDevice            1.00
  iManufacturer           1 Optoelectronics Co., Ltd.
  iProduct                2 USB Code Reader
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 USB VCP Code Reader  
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
Device Status:     0x0000
  (Bus Powered)

이에 대한 연구를 통해 다음 두 페이지로 이동했습니다.

첫 번째 링크(USB-VCP 설치)의 문제점은 내 컴퓨터에 폴더가 없어 /proc/bus/usb사용할 수 없다는 것입니다 mount -t usbfs procbususb /proc/bus/usb. 제가 이해한 바에 따르면 usbfs는 더 이상 사용되지 않습니다. 직렬을 통해 명령을 보낼 수 있도록 이 장치가 ttyUSB 모드에 있어야 합니다. 장치 자체가 USB-VCP 모드로 설정되어 있습니다 lsusb.

편집하다:

터미널에서 프로그램을 실행 usb-devices하고 내 장치에 맞게 가져옵니다.

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 23 Spd=12  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=065a ProdID=a002 Rev=01.00
S:  Manufacturer=Optoelectronics Co., Ltd.
S:  Product=USB Code Reader
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

답변1

opticon 장치가 opticon 드라이버를 사용하도록 강제해야 합니다. 이 답변을 참조하세요:https://stackoverflow.com/questions/442833/forcing-driver-to-device-match#442867

공급업체 ID와 제품 ID를 new_id 파일에 반영하는 것만큼 간단합니다.

echo 0x065a 0xa002 > /sys/bus/usb-serial/drivers/opticon/new_id 드라이버를 뽑았다가 다시 연결하여 드라이버가 제대로 작동하는지 확인하세요.

관련 정보