FreeBSDでシリアル通信デバイスを一覧表示する方法を探しています。
コンピュータには、オンボードシリアルコンソール(ttyS0
)と内部アナログモデムの2つがインストールされています。
以下では、内部モデムに関する情報を見つけることができますpciconf
。
# pciconf -lbcevV pci0:5:8:0
none0@pci0:5:8:0: class=0x078000 card=0x8d881043 chip=0x270214f1 rev=0x01 hdr=0x00
vendor = 'Conexant Systems, Inc.'
class = simple comms
bar [10] = type Memory, range 32, base 0xd1000000, size 65536, enabled
bar [14] = type I/O Port, range 32, base 0xa800, size 8, enabled
cap 01[40] = powerspec 2 supports D0 D3 current D0
したがって、これは明らかにモデムであり、ベンダーIDを介してConexant RD01-D270内部アナログモデムのチップと一致することがわかります。
dmidecode -t connector
これを探してみましょう:
Handle 0x000F, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: COM1
Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
External Reference Designator:
External Connector Type: DB-9 male
Port Type: Serial Port 16450 Compatible
したがって、これは明らかにオンボードシリアルインタフェースです。
問題はどのデバイスですか?オンボードシリアルインタフェースがとても安全であると仮定できますが、/dev/ttyS0
これは単なる推測です。実際、これはFreeBSDなので、おそらく/dev/console
。ところでどんなモデムですか?シリアルコンソールやダイヤラだと思いましたが、それは/dev/cuau0
推測だけです。
推測などをせずにこれを把握できる信頼できる方法はありますか?
答え1
使用pstat(8)
。すべての端末が表示され、ここで仮想端末(ttyv *)とptysを減算してシリアル端末(この場合はttyu0とttyu1)を残します。uart(4)
:
% pstat -t
LINE INQ CAN LIN LOW OUTQ USE LOW COL SESS PGID STATE
ttyu0 0 0 0 0 0 0 0 0 0 0 IC
ttyu1 0 0 0 0 0 0 0 0 0 0 IC
ttyv0 1920 0 0 192 1984 0 199 37695 87297 87297 Oicl
ttyv1 1920 0 0 192 1984 0 199 7 852 852 Oil
ttyv2 1920 0 0 192 1984 0 199 7 853 853 Oil
ttyv3 1920 0 0 192 1984 0 199 7 854 854 Oil
ttyv4 1920 0 0 192 1984 0 199 7 855 855 Oil
ttyv5 1920 0 0 192 1984 0 199 7 856 856 Oil
ttyv6 1920 0 0 192 1984 0 199 7 857 857 Oil
ttyv7 1920 0 0 192 1984 0 199 7 858 858 Oil
ttyv8 0 0 0 0 0 0 0 0 0 0 -
ttyv9 0 0 0 0 0 0 0 0 0 0 -
ttyva 0 0 0 0 0 0 0 0 0 0 -
ttyvb 0 0 0 0 0 0 0 0 0 0 -
pts/1 1920 0 0 192 1984 0 199 99999 874 882 Oi
pts/3 1920 0 0 192 1984 0 199 104 79048 79048 Oi
pts/2 1920 0 0 192 1984 0 199 3 19896 32414 Oi
pts/4 1920 0 0 192 1984 0 199 38 46538 46538 Oi
pts/0 1920 0 0 192 1984 0 199 65737 50951 50956 Oil
pts/5 1920 0 0 192 1984 0 199 0 50987 50993 Oi
答え2
ドライバがロードされていないため、dmesg でこのモデムのドライバを表示できません。これはおそらくFreeBSDに対応するドライバがないことを意味します。これは、モデムがCX11252-15チップセットを使用し、ハードウェアモデムではなくクローズドソースドライバを含む「ソフトモデム」または「winmodem」であるためです。 FreeBSDにはWinModemの基本的なサポートは含まれていません。
また、「isa」ビットは思ったほど奇妙ではありません。多くの(ほとんど?すべて?)PCには、まだレガシーデバイスをサポートするための内部PCI-ISAブリッジがあります。オンボードモデムとシリアルポート、PS2 kb/マウス、RTCなどがすべてこのカテゴリに属します。