Последовательный порт – нет выхода Penmount DMC9000

Я пытаюсь прочитать некоторые данные из некоторых последовательных портов (мне нужно, чтобы они работали с контроллером сенсорного экрана).

То, что я в основном делаю, это cat /dev/ttyS0 чтобы посмотреть, что делает сериал как вывод при касании экрана. Я могу cat (или screen или minicom ) все 4 последовательных порта: /dev/ttyS0 to /dev/ttyS3 , но для всех из них я не получаю выход, даже когда физически касаюсь экрана.

cat /dev/ttyS0 (или любой другой ttyS *) просто зависает и не дает результата

Ни cat /dev/ttyS0 | xxd cat /dev/ttyS0 | xxd дает результат. Я должен закончить cat с помощью CTRL + C

screen /dev/ttyS0 зависает без вывода, то же самое для других ttyS *

Полезная информация

Операционные системы

CentOS 7

ttyS в dmesg

 [root@centos-t1 ~]# dmesg | grep -i 'ttys' [ 1.530144] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 1.551401] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 1.572603] 00:0a: ttyS2 at I/O 0x3e8 (irq = 10) is a 16550A [ 1.593818] 00:0b: ttyS3 at I/O 0x2e8 (irq = 11) is a 16550A 

Список ttyS *

 [root@centos-t1 ~]# ls -la /dev/ttyS* crw-rw----. 1 root dialout 4, 64 29 dic 09.57 /dev/ttyS0 crw-rw----. 1 root dialout 4, 65 29 dic 09.57 /dev/ttyS1 crw-rw----. 1 root dialout 4, 66 29 dic 09.57 /dev/ttyS2 crw-rw----. 1 root dialout 4, 67 29 dic 09.57 /dev/ttyS3 

селекторный выход

 [root@centos-t1 ~]# setserial -g /dev/ttyS* /dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4 /dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3 /dev/ttyS2, UART: 16550A, Port: 0x03e8, IRQ: 10 /dev/ttyS3, UART: 16550A, Port: 0x02e8, IRQ: 11 

ядро

 [root@centos-t1 ~]# uname -a Linux centos-t1 3.10.0-327.3.1.el7.x86_64 #1 SMP Wed Dec 9 14:09:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 

lsusb

 [root@centos-t1 ~]# lsusb Bus 003 Device 004: ID 05e3:0723 Genesys Logic, Inc. GL827L SD/MMC/MS Flash Card Reader Bus 003 Device 005: ID 058f:5608 Alcor Micro Corp. Bus 003 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 004 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC Bus 004 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 

Пожалуйста, обратите внимание, что PCI: 004: 002 на самом деле и RFID-считыватель подключен к системе. Так что это не тот сериал, с которым мне нужно иметь дело – на данный момент.

Последовательный чип

Fintek F81866

система

Встроенная сенсорная панель от Iei – AFL2-W10A-N28 Страница продукта и Техническое описание

Контроллер сенсорного экрана

Penmount DMC9000 (подключается через последовательный порт, я полагаю, поскольку он не находится в списке lsusb)

  • Mount.nfs использует последовательный порт
  • Быстрый способ найти USB-идентификатор на основе USB-пути
  • socat: вызов из скрипта, bashrc или systemd?
  • Как установить пользовательские разрешения на / dev / ttyS0, чтобы они сохранялись после перезагрузки?
  • Как отправить нажатия клавиш перед интерактивной оболочкой для автоматизации входа в последовательный порт Linux с помощью экрана GNU?
  • Мой процесс был убит, но я не могу понять сообщение ядра
  • Скопируйте только последнюю строку последовательного вывода из весовой шкалы rs232 в буфер обмена
  • Чтение с USB-последовательного порта под Cygwin
  • One Solution collect form web for “Последовательный порт – нет выхода Penmount DMC9000”

    Мне удалось решить проблему. Последовательный порт был неправильно обнаружен из-за проблемы irq.

    Вот как я его исправил:

    1. Переключено с CentOS 7 на Debian 8.2 (jessie) Со следующим ядром (последнее доступно): Linux debian-term1 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u1 (2015-12-14) x86_64 GNU/Linux
    2. Временно включил сенсорный экран через setserial /dev/ttyS3 irq 0 (это фактически решение)
    3. Загрузили драйверы Penmount с этого веб-сайта , настроили penmount.ini, чтобы отключить шумный звуковой сигнал (через BeepType=0 ) и установить модуль драйвера через ./install.sh
    4. Калиброванный сенсорный экран через gCal 9 /etc/penmount/penmount.dat (должен был запустить X-сервер, это приложение GTK, очевидно)
    5. Сделал изменения постоянными, добавив скрипт /usr/share/penmount/penmount.sh содержащий приведенную выше команду setserial и вставил ее в /etc/init.d/lightdm start) . Я знаю, что это грязно, но я планирую скоро его изменить.

    Спасибо, ребята, за помощь, теперь мой Penmount DMC9000 работает как шарм!

    Linux и Unix - лучшая ОС в мире.