USB를 터미널로 활용

USB를 터미널로 활용

USB를 통해 연결된 하드웨어 장치가 있고 특정 /dev/something을 생성할 필요가 없습니다. /dev/ptmx 및 /dev/char의 시간은 변경되지만 그 이상은 변경되지 않습니다. 내가 아는 것은 장치의 VID:PID뿐이며 설명서에는 USB가 921600 8N1에서 직렬 장치로 작동해야 한다고 나와 있습니다. 연결할 수 있으면 직렬 인터페이스에서와 마찬가지로 간단한 텍스트 명령(SCSI)을 보낼 수 있어야 합니다.

libusd나 libhid를 사용하여 연결할 수 있다고 확신하지만 처음부터 통신 코드를 작성하는 데는 시간이 많이 걸립니다. minicom이나 간단한 C 프로그램과 통신할 수 있도록 /dev/ttySomething을 만드는 리눅스 트릭이 없나요?

$ dmesg
usb 1-2: new full-speed USB device number 7 using xhci_hcd
usb 1-2: New USB device found, idVendor=104d, idProduct=3001
usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-2: Product: ESP301 Motion Control 
usb 1-2: Manufacturer: NEWPORT Corp.    
usb 1-2: SerialNumber: 0000000000000000

$ lsusb -v
Bus 001 Device 007: ID 104d:3001 Newport Corporation 
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               1.10
bDeviceClass          255 Vendor Specific Class
bDeviceSubClass         0 
bDeviceProtocol         0 
bMaxPacketSize0         8
idVendor           0x104d Newport Corporation
idProduct          0x3001 
bcdDevice            1.01
iManufacturer           1 NEWPORT Corp.    
iProduct                2 ESP301 Motion Control 
iSerial                 3 0000000000000000
bNumConfigurations      1
Configuration Descriptor:
 bLength                 9
 bDescriptorType         2
 wTotalLength           39
 bNumInterfaces          1
 bConfigurationValue     2
 iConfiguration          0 
 bmAttributes         0xa0
 (Bus Powered)
 Remote Wakeup
 MaxPower              100mA
 Interface Descriptor:
 bLength                 9
 bDescriptorType         4
 bInterfaceNumber        0
 bAlternateSetting       0
 bNumEndpoints           3
 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               0
 Endpoint Descriptor:
  bLength                 7
  bDescriptorType         5
  bEndpointAddress     0x01  EP 1 OUT
  bmAttributes            2
  Transfer Type            Bulk
  Synch Type               None
  Usage Type               Data
  wMaxPacketSize     0x0040  1x 64 bytes
  bInterval               0
 Endpoint Descriptor:
  bLength                 7
  bDescriptorType         5
  bEndpointAddress     0x83  EP 3 IN
  bmAttributes            3
  Transfer Type            Interrupt
  Synch Type               None
  Usage Type               Data
  wMaxPacketSize     0x0002  1x 2 bytes
  bInterval               1
Device Status:     0x0001
Self Powered

관련 정보