SO: Linux Mint 19 Tara (também testado no Ubuntu 18.04 LTS e no Ubuntu 14.04 LTS)
Kernel: 4.15.0-20-generic
Eu tenho um adaptador USB-Serial com o chip PL2303X para conectar o hardware a um host Linux. O dispositivo aparece conectado via lsusb
, mas não consigo enviar e receber dados. Eu tentei enviar / receber dados usando moserial
e putty
; ao tentar enviar comandos, nenhum dado de resposta é retornado e não vejo alterações em dmesg
ou /var/log/syslog
.
O mesmo adaptador serial USB conecta e funciona no mesmo modelo de laptop Dell com o Windows 10; no Windows, ele pode receber comandos e retornar dados configurados com as configurações de porta abaixo.
Gostaria de usar as seguintes configurações de porta, embora eu tenha tentado variações das seguintes informações sem uso de moserial e putty (ou seja, sem paridade, taxas de transmissão diferentes, handshaking de hardware / software, etc.):
Device: /dev/ttyUSB0 (permissions 666, $USER added to 'dialout' group)
Baud rate: 9600
Data bits: 8
Stop bits: 1
Parity: Even
Handshake: none
Access mode: read and write
O Windows também trabalha com a alteração das configurações acima (ou seja, sem paridade, 7 bits de dados, taxa de transmissão mais baixa / maior, etc.).
Eu preciso ser capaz de enviar comandos e receber dados semelhantes ao funcionamento do dispositivo usando o Windows, de preferência com as configurações de porta acima.
Alguma idéia de como corrigir ou depurar isso? Eu aprecio isso.
Mais informações:
lsusb
output identifica o dispositivo como
Bus 001 Device 016: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Com base na saída de lsusb -v -d 067b:2303
mostrando bMaxPacketSize0 64
, acredito que o adaptador tenha o chip PL2303X
em vez de PL2303
(fonte: link ).
Noto mensagens "não é um dispositivo MTP" e "ação não manipulada 'bind'" em /var/log/syslog
:
kernel: [ 7436.378438] usb 1-2: new full-speed USB device number 18 using xhci_hcd
kernel: [ 7436.528244] usb 1-2: New USB device found, idVendor=067b, idProduct=2303
kernel: [ 7436.528250] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: [ 7436.528253] usb 1-2: Product: USB-Serial Controller
kernel: [ 7436.528256] usb 1-2: Manufacturer: Prolific Technology Inc.
kernel: [ 7436.529219] pl2303 1-2:1.0: pl2303 converter detected
kernel: [ 7436.530024] usb 1-2: pl2303 converter now attached to ttyUSB0
mtp-probe: checking bus 1, device 18: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-2"
mtp-probe: bus: 1, device: 18 was not an MTP device
upowerd[1238]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0
upowerd[1238]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:14.0/usb1/1-2
Eu encontrei um patch antigo aqui , embora ele mencione que a árvore principal do kernel inclui suporte a PL-2303X a partir de 2.6. 8.
lsusb -v -d 067b:2303
output:
Bus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Couldn't open device, some information will be missing
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x067b Prolific Technology, Inc.
idProduct 0x2303 PL2303 Serial Port
bcdDevice 3.00
iManufacturer 1
iProduct 2
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
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 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 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 0x0040 1x 64 bytes
bInterval 0
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 0
dmesg
depois de conectar o dispositivo:
[ 7436.378438] usb 1-2: new full-speed USB device number 18 using xhci_hcd
[ 7436.528244] usb 1-2: New USB device found, idVendor=067b, idProduct=2303
[ 7436.528250] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7436.528253] usb 1-2: Product: USB-Serial Controller
[ 7436.528256] usb 1-2: Manufacturer: Prolific Technology Inc.
[ 7436.529219] pl2303 1-2:1.0: pl2303 converter detected
[ 7436.530024] usb 1-2: pl2303 converter now attached to ttyUSB0
Também vimos a mensagem error sending break = -19
abaixo, mas estou tendo problemas para reproduzi-la:
[ 1382.828306] usb 1-2: new full-speed USB device number 6 using xhci_hcd
[ 1382.977353] usb 1-2: New USB device found, idVendor=067b, idProduct=2303
[ 1382.977357] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1382.977360] usb 1-2: Product: USB-Serial Controller
[ 1382.977363] usb 1-2: Manufacturer: Prolific Technology Inc.
[ 1382.978125] pl2303 1-2:1.0: pl2303 converter detected
[ 1382.978753] usb 1-2: pl2303 converter now attached to ttyUSB0
[ 1481.678435] usb 1-2: USB disconnect, device number 6
[ 1481.678645] pl2303 ttyUSB0: error sending break = -19
[ 1481.678821] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
[ 1481.678859] pl2303 1-2:1.0: device disconnected