渡辺一寛です。

At Thu, 26 Apr 2007 00:45:50 +0900,
Hirohito wrote:
> ■潰せなかった問題点
>  高速で通信を行うと、 搭載されているハードウェアFIFO (64byte)以上の
>  データを、ごくまれに取りこぼす。

これなんですが、

> ■リブート後
> (dmesg)
> puc0: <Interface PCI-4141P Dual port RS-232 card> port 
> 0x9000-0x900f,0x9400-0x9407,0x9800-0x9807 irq 22 at device 2.0 on pci2
> sio4: <Interface PCI-4141P Dual port RS-232 card> on puc0
> sio4: type 16550A
> sio5: <Interface PCI-4141P Dual port RS-232 card> on puc0
> sio5: type 16550A

16550A とみなされているので、FIFO バッファは 16 バイトに設定されて
ませんか?
src/sys/dev/sio/sio.c を少しいじれば任意の値に設定できるようです。


> p.s.
> こういうFA系ボードのFreeBSDドライバって、需要はあるんでしょうか?

PCI の非インテリジェントなシリアルボードに関しては、puc(4) のおかげで
割と簡単に動作可能となるものが多いようですから、皆さん個々に対応してい
るんじゃないでしょうか。

稀に CONTEC のボードのように (ブリッジチップを使っている都合上?)  若干
の初期化コードが必要だったり、IO-DATA のボードのように (一般に使用され
ている供給クロックとは異なる周波数を採用している都合上) COM_FREQ を適
切に調整する必要があったりするようです。

# [FreeBSD-users-jp 76820] の CONTEC COM-2(PCI) は
# 今も 6.2-RELEASE で使用中です。
---
Watanabe Kazuhiro ([EMAIL PROTECTED])

メールによる返信