私はクライアントとSMSメッセージを送受信するために使用するSierra Wireless USB 308モデムを持っています。
単一のデバイスが接続されると、システムは複数のデバイスファイルを生成します。/dev/ttyUSB0
、、、。テキストメッセージを送信するには、3番目のデバイスファイル()が必要であることをどこかで読みました。私はそれを使用しています/dev/ttyUSB1
/dev/ttyUSB2
/dev/ttyUSB3
/dev/ttyUSB2
SMSツール。
質問:
- 単一のデバイスが
/dev
ディレクトリに複数のデバイスファイルを生成するのはなぜですか? - 各デバイスファイル(「XXX」は「0」、「1」、「2」、または「3」)で実行されている場合、各「デバイス」の情報はほぼ次のとおりです
/dev/ttyUSB2
。同じ。デバイス番号は必ずしも同じではないので、使用する適切なデバイス番号を取得するルールをどのように作成しますか?/dev/sms-sierra
udevadm info -a /dev/ttyUSBXXX
udev
1番の質問はわかりません。質問2の場合、デバイスファイルがSMSを送信できるかどうかを検出するためにプログラムが必要ですか?
答え1
一般的なことですが、まだ神秘的です。 TelitとHuaweiモデムも同じ機能を果たします。少なくともTelitのいくつかを指定してください。Linux USBドライバ - ユーザーガイド。
たとえば、現在使用されているTelit LE910の場合、USB PIDは0x1201で、Linux "5ポート/ dev / ttyUSBx"にシリアルで提供されると記載されています。この表には、次の興味深い脚注があります。
モデムによって公開されたすべてのポートがATコマンド送信に使用できるわけではありません。ポートの配置手順については、該当するATコマンドのユーザーガイドを参照してください。
「ATコマンド」の手がかりに従うことは愚かな仕事であることがわかりました。代わりに、「ポート配列の説明」を検索すると、より多くの情報が表示され、一部は誤解を招く可能性があり、一部は説明的です。この画像は「TELIT 3Gモジュールポートアレイユーザーガイド」に表示されます。
緑のチャンネルに注意してください。モデムには、USB(DTE)を介してコンピュータに接続したときに複数の「USBチャンネル」を提供する「仮想シリアルデバイス」があります。これらのチャネルをモデム「アクセスポイント」にマッピングすることは設定可能である。 「AT0」、「AT1」及び「AT2」アクセスポイントは、同時のATコマンドセッションを提供するようである。 「TT」アクセスポイントは、「TTC接続」を生成するために「TTCツール」で使用される以前の通信インターフェースであるようです。最後に、GPSアクセスポイントは標準のGNSSインターフェイスであり、NMEAの説明を提供できます。
したがって、あなたのモデムの設定方法に応じて、あなたのデバイスttyUSB
にはこれらのアクセスポイントが配置されていると予想されます。
たとえば、試行錯誤を経て、最初の2つと最後(ttyUSB0
、、、)はATポートではなく、残りの2つは(ttyUSB1
および)でした。ttyUSB4
ttyUSB2
ttyUSB3
したがって、質問2に対する答えは次のようになります。できません。どのデバイスがどの機能に接続されるかを決定するのはモデムの構成です。
答え2
問題1:カーネルは同時要求のために複数のttyUSBを生成し、他のプログラム(WvDial、pppd、ModemManagerなど)に接続している場合は/ dev / ttyUSB0を使用してSMSメッセージを送信できません。
質問2: ミニコンピュータ