私の組み込みPCのすべてのシリアルポートと通信できるように、Centosディストリビューションに3つのシリアルポートを追加した問題を解決しようとしています。誰かがこのシリアルポートが機能するのを助けることができることを願っています。
しかし、Ubuntu 20.04にはデフォルトで十分なシリアルポートがあります(Ubuntuはデフォルトで32個のポートを入力します)。
Centos 7-9 2009で、以下を実行しました。
sudo mknod -m 660 /dev/ttyS4 c 4 68
sudo mknod -m 660 /dev/ttyS5 c 4 69
sudo mknod -m 660 /dev/ttyS6 c 4 70
sudo chgrp dialout /dev/ttyS4
sudo chgrp dialout /dev/ttyS5
sudo chgrp dialout /dev/ttyS6
そしてシリアルデバイスを見てください。
[centos@localhost ~]$ ls /dev/ttyS* -al
crw-rw----. 1 root dialout 4, 64 Aug 22 08:17 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 Aug 22 08:58 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 Aug 22 08:58 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 Aug 22 08:17 /dev/ttyS3
crw-rw----. 1 root dialout 4, 68 Aug 22 08:28 /dev/ttyS4
crw-rw----. 1 root dialout 4, 69 Aug 22 08:28 /dev/ttyS5
crw-rw----. 1 root dialout 4, 70 Aug 22 08:28 /dev/ttyS6
/dev/ttyS4 を使用しようとすると、次の結果が表示されます。
[centos@localhost ~]$ sudo minicom -D /dev/ttyS4
minicom: cannot open /dev/ttyS4: No such device or address
または /dev/ttyS3 および /dev/ttyS4 の設定をリストした場合:
[centos@localhost ~]$ sudo setserial /dev/ttyS3
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
#/dev/ttyS0-3 all work.
[centos@localhost ~]$ sudo setserial /dev/ttyS4
/dev/ttyS4: No such device or address
#/dev/ttyS4-6 do not work
また、再起動後、Centosは新しいシリアルポート/ dev / ttyS4-6を削除しました。私が試したことの1つは、カーネルを再構築して「ランタイムに登録された8250/16550シリアルポートの数」オプションを4ではなく8に設定することでした。しかし、私は同じ問題を経験しました。 / devには4つのシリアルポートのみがリストされていました。
ベストアンサー1
カーネルをビルドした後、間違ったカーネルを実行していることに気づきました。カーネルを起動すると、8つの/dev/ttyS*デバイスがすべて表示されます。 SERIAL_8250_RUNTIME_UARTS = 8 このトリックを実行したようです。
緊急モードでのみ起動しますが、Centos Wikiには説明されていないモジュールのインストール段階でロケールが設定されていないという警告がビルド中に表示されるためです。これに関連する質問がある項目です。