Linux上的串行通信连接

Linux上的串行通信连接,linux,serial-port,usb,putty,archlinux,Linux,Serial Port,Usb,Putty,Archlinux,我有一本书。它的用户文档仅适用于windows,我使用的是ArchLinux。我唯一一次通过USB端口进行串行通信是通过他们的GUI环境进行的,因此我从未接触过这种金属。所以我有一个RFID阅读器,你可以通过USB端口通过串行通信与之连接。波特率为9600,设备连接到/dev/bus/usb/004/004。ls-l/dev/bus/usb/004/004的输出为: crwxrwxrwx 1 root root 189, 387 Mar 8 19:14 /dev/bus/usb/004/004

我有一本书。它的用户文档仅适用于windows,我使用的是ArchLinux。我唯一一次通过USB端口进行串行通信是通过他们的GUI环境进行的,因此我从未接触过这种金属。所以我有一个RFID阅读器,你可以通过USB端口通过串行通信与之连接。波特率为
9600
,设备连接到
/dev/bus/usb/004/004
ls-l/dev/bus/usb/004/004
的输出为:

crwxrwxrwx 1 root root 189, 387 Mar  8 19:14 /dev/bus/usb/004/004
Bus 004 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6001 FT232 USB-Serial (UART) IC
  bcdDevice            6.00
  iManufacturer           1 FTDI
  iProduct                2 FT232R USB UART
  iSerial                 3 A900DGX9
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               90mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 FT232R USB UART
      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     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
lsusb的输出是

Bus 004 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-
Serial (UART) IC
Bus 004 Device 003: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth
...
lsusb-s 004:004-v
的输出为:

crwxrwxrwx 1 root root 189, 387 Mar  8 19:14 /dev/bus/usb/004/004
Bus 004 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6001 FT232 USB-Serial (UART) IC
  bcdDevice            6.00
  iManufacturer           1 FTDI
  iProduct                2 FT232R USB UART
  iSerial                 3 A900DGX9
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               90mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 FT232R USB UART
      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     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)
这是
dmsg | grep-itty

[    0.000000] console [tty0] enabled
[    7.226118] systemd[1]: Starting system-getty.slice.
[    7.226397] systemd[1]: Created slice system-getty.slice.
[   10.535204] usb 4-1.7: FTDI USB Serial Device converter now attached to ttyUSB0
[ 6372.435916] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 7961.660760] usb 4-1.7: FTDI USB Serial Device converter now attached to ttyUSB0
[ 7964.716225] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
[ 8282.582961] usb 4-1.7: FTDI USB Serial Device converter now attached to ttyUSB0
我尝试过的事情:

  • 我曾尝试使用putty(为linux编译)的串行选项连接到/dev/bus/usb/004/004,但它的响应是:

    Unable to open connection to:
    Unable to configure serial port
    

解决方案是使用
dmesg | grep-i tty
获取设备连接到的tty。在我的例子中,我需要连接到
/dev/ttyUSB0
而不是
/dev/bus/usb/004/004

更多信息

通过这种方式,您可以自动检测应使用的设备(将FT232R\U USB\U UART替换为型号):


显示dmesg | grep-i ttyGood call。添加了它,现在看到我需要连接到
/dev/ttyUSB0