ftdi_sioカーネルモジュールによって提供される仮想シリアルポートを介して通信しようとしているUSBデバイスがあります。ただし、ポートのボーレートを14400に設定するのに問題があります。
termios.h
14400の定数を指定していないので、とを使用できませcfsetispeed
んcfsetospeed
。- ftdi_sioカーネルモジュールのソースでは、ボーベースが24000000に設定されており、それを変更する方法がないようです。これは、
TIOCSSERIAL
ioctlでカスタム除数を使用して14400ボーレートを取得することができないことを意味します。 alt_speed
モジュールソースには、ポートの構造体のメンバーを14400に設定すると私が望むことを実行できるように聞こえるコメントtty_struct
がありますが、既存のインターフェイスを考えると、14400に設定する方法はないようです。
誰かがこれについて何か考えを持っていますか?カーネルモジュールをハックすることでこれを修正するのはかなり簡単ですが、私はカーネルの変更を必要としないソリューションを本当に探しています。