Задача: обеспечить работу переходника USB-SERIAL на чипе CH340/CH341.
Система:
# uname -a Linux test-serial 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u1 x86_64 GNU/LinuxПереходник определяется автоматически:
# dmesg | grep 'New USB device' [ 4097.409095] usb 4-1: New USB device found, idVendor=1a86, idProduct=7523 [ 4097.409108] usb 4-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 # lsusb Bus 004 Device 003: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter # ls /dev/ttyUSB* /dev/ttyUSB0
Соединяю два компьютера нуль-модемным кабелем.
На тестируемом компьютере запускаю:
# cat /dev/ttyUSB0На втором:
# echo 'zxc0' > /dev/ttyS0 # echo 'zxc1' > /dev/ttyS0 # echo 'zxc2' > /dev/ttyS0 # echo 'zxc3' > /dev/ttyS0 # echo 'zxc4' > /dev/ttyS0 # echo 'zxc5' > /dev/ttyS0Вывод на первом:
# cat /dev/ttyUSB0 zxc0 zxc1 zxc2 zxc3 zxc4 zxc5Теперь наоборот:
# echo 'zxc0' > /dev/ttyUSB0 # echo 'zxc1' > /dev/ttyUSB0 # echo 'zxc2' > /dev/ttyUSB0 # echo 'zxc3' > /dev/ttyUSB0 # echo 'zxc4' > /dev/ttyUSB0 # echo 'zxc5' > /dev/ttyUSB0
# cat /dev/ttyS0 zxc0 zzxc1 zzxc2 zzxc3 zzxc4 zzxc5
Видно, что цепляется какой-то мусор.
Установка драйвера не дала результата. Драйвер:
CH341SER_LINUX.ZIP
http://wch.cn/downloads.php?name=serch&page=3&keyword=CH340
Понижение скорости передачи приводит к полному отсутствию передачи данных в обоих направлениях.
Под WinXP/Win7 этот переходник работает нормально.
Можно ли заставить работать этот переходник, или лучше какой-нибудь на другом чипе? И если так, то на каком лучше?