JNF9VTでシリアルポートを動作させる

JNF9VTでシリアルポートを動作させる

私はDebian 8.5のJetway JNF9VTマザーボードでシリアルポートを動作させようとしています。このボードはFINTEK F81866AスーパーIOチップをシリアルポートとして使用します。明らかに、これはLPCバスを介してSOCに接続されています。これはプラグアンドプレイ機能がないことを意味するようです。

すべてのポートはWindows 7で正常に動作するため、ハードウェアも確実に動作します。私もUbuntu 16.04を試しましたが、Debianと同じ問題がありました。

Debian では、/etc/default/grub の Linux コマンドラインの最後に「8250.nr_uarts=6」を追加しましたが、ブート後に 6 つのポートがすべて認識されるようです。

root@pt1:~# 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: 10
/dev/ttyS4, UART: 16550A, Port: 0x04e0, IRQ: 11
/dev/ttyS5, UART: 16550A, Port: 0x04e8, IRQ: 11
root@pt1:~# dmesg | grep ttyS
[    2.035346] 00:05: ttyS2 at I/O 0x3e8 (irq = 10, base_baud = 115200) is a 16550A
[    2.056442] 00:06: ttyS3 at I/O 0x2e8 (irq = 10, base_baud = 115200) is a 16550A
[    2.077124] 00:07: ttyS4 at I/O 0x4e0 (irq = 11, base_baud = 115200) is a 16550A
[    2.097887] 00:08: ttyS5 at I/O 0x4e8 (irq = 11, base_baud = 115200) is a 16550A
[    2.118655] 00:09: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    2.139825] 00:0a: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
root@pt1:~#

ただし、ポートはどのデータも転送できません。テスト用にminicomを使用しています。各ポートのTXピンとRXピンに単純なループバックを使用し、すべてのハンドシェイクを無効にするため、フレーミングやタイミングの問題ではないようです。

各ポートに対してこのコマンドを実行した後、ポートにデータを転送させることができます。

root@pt1:~# setserial /dev/ttyS1 irq 0
root@pt1:~#

これは割り込みをディセーブルにし、ポートを「高速ポーリング」モードに設定します。明らかにこれは非常にCPU集約的なモードなので、ポートをこの状態にしておくことをお勧めします。

割り込みを1から15の間に設定してみましたが、それでもデータは渡されません。

明らかに、シリアルポートがLPCインターフェイスを介して接続されている場合、ISAスタイルのプラグアンドプレイ機能がないため、BIOSはベースアドレスと割り込みを静的に定義する必要があります。もしそうなら、これがBIOSの問題かどうか疑問に思います。 BIOSは「A01:初期BIOS」にあり、アップデートはありません。 BIOSにはCOMポート設定があり、オプションはWindowsまたはLinuxです。 Linux用に設定しましたが、これが実際に何をしているのかわかりません。 Jetwayのサポートはまったく役に立ちません。マザーボードのマニュアルには、BIOS設定が実際に何をしているのか説明せず、変更方法のみが記載されています。

どんなアドバイスもありがとうございます。

ベストアンサー1

確認の結果、BIOSの問題でした。 JetwayはBIOSファームウェアのバージョンをBARVIA02にアップデートし、Debian 8.5を新しくインストールした後、起動時にすべてのシリアルポートが正常に動作するようになりました。

おすすめ記事