직렬 포트 - 출력 없음 펜마운트 DMC9000

직렬 포트 - 출력 없음 펜마운트 DMC9000

일부 직렬 포트에서 일부 데이터를 읽으려고 합니다(터치스크린 컨트롤러를 처리하려면 직렬 포트가 필요합니다).

기본적으로 제가 하는 일은 cat /dev/ttyS0화면을 터치할 때 직렬 포트가 제공하는 출력을 확인하는 것입니다. 4개의 직렬 포트를 모두 얻을 수 있습니다: to . 하지만 화면을 물리적으로 터치해도 출력이 전혀 나오지 않습니다 cat.screenminicom/dev/ttyS0/dev/ttyS3

cat /dev/ttyS0(또는 다른 ttyS*)가 중단되고 출력이 제공되지 않습니다.

둘 다 cat /dev/ttyS0 | xxd출력을 제공하지 않습니다. 나는 cat해야 한다CTRL + C

screen /dev/ttyS0다른 ttyS*와 마찬가지로 출력 없이 중단됩니다.

유용한 정보

운영 체제

운영체제 7

dmesg의 ttyS

[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

LSSB

[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 리더입니다. 그래서 지금 당장 다루어야 할 시리즈는 아닙니다.

직렬 칩

펜텍 F81866

체계

Iei 임베디드 터치 스크린-AFL2-W10A-N28제품 페이지그리고데이터 시트

터치스크린 컨트롤러

Penmount DMC9000(직렬을 통해 연결됨 lsusb 목록에 없기 때문에 추측)

답변1

이 문제를 해결했습니다. 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.shsetserial위 명령이 포함된 스크립트를 추가 하고 이를 섹션에 삽입하여 /etc/init.d/lightdm start)변경 사항을 영구적으로 만듭니다 . 더러운 건 알지만 곧 교체할 계획이에요.

도움을 주셔서 감사합니다. 이제 Penmount DMC9000이 매우 원활하게 작동하고 있습니다!

관련 정보