Linuxで自動モデムを検出する?

Linuxで自動モデムを検出する?

/dev/modemLinuxでモデムデバイスを自動的に検出し、udevルールを使用してシンボリックリンクする方法はありますか?

AT現在、私は各シリアルポートを調べて送信し、待つプログラムを書いていますOK。各ttySおよびttyUSBデバイスに対して実行するudevスクリプトがあります。ただし、ATコマンドを使用できるOBD-II診断ブリッジなどの他のデバイスもあることがわかりました。

答え1

少し遊んでもいいctsリアルタイム転送または、他のシリアルステータスラインを確認し、それに応じて対応する信号を下げるか、または上げてモデムが応答することを確認します。ただし、モデムがこれらの回線を無視するように構成されているか、これらの変更に反応する他のデバイスがある可能性があります。

プシが正解を得たと思います。

hylafaxモデムの種類をエクスポートする方法をデバッグしたことを思い出してください。デフォルトでは、ATコマンドを送信して「一般的な」応答を確認するのと同じことを行います。

答え2

各シリアルポートの属性を検出します。ベンダーとモデルの文字列を表示します。例えば、

# udevadm info --query="property" --name=/dev/ttyUSB0**

UDEV_LOG=3
DEVPATH=/devices/platform/orion-ehci.0/usb1/1-1/1-1:1.0/ttyUSB0 /tty/ttyUSB0
MAJOR=188
MINOR=0
DEVNAME=/dev/ttyUSB0
SUBSYSTEM=tty
ID_PORT=0
ID_PATH=platform-orion-ehci.0-usb-0:1:1.0
ID_VENDOR=FTDI
ID_VENDOR_ENC=FTDI
ID_VENDOR_ID=0403
ID_MODEL=FT232R_USB_UART
ID_MODEL_ENC=FT232R\x20USB\x20UART
ID_MODEL_ID=6001
ID_REVISION=0600
ID_SERIAL=FTDI_FT232R_USB_UART_A40135O1
ID_SERIAL_SHORT=A40135O1
ID_TYPE=generic
ID_BUS=usb
ID_USB_INTERFACES=:ffffff:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=ftdi_sio
ID_IFACE=00
ID_VENDOR_FROM_DATABASE=Future Technology Devices International, Ltd
ID_MODEL_FROM_DATABASE=FT232 USB-Serial (UART) IC
DEVLINKS=/dev/char/188:0 /dev/serial/by-path/platform-orion-ehci.0-usb-0:1:1.0-port0 /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A40135O1-if00-port0

関連情報