#device=/dev/ttyACM0

#device=/dev/ttyACM0

NagiosSMS通知を送信するために、Ubuntu 12.04 LTSサーバーに+設定があります。私たちはUSBケーブルを介して接続された古いNokia 6230携帯電話を使用していますが、ケーブルのサプライヤのシンボルを覚えていません。時々、デバイスが応答しないことがあります。デバイスアドレスがからまたはその逆に変わるようです。check_mksmstoolstty/dev/ttyACM0/dev/ttyACM1

smstoolsログによると:

2013-05-28 16:51:16,3, GSM1: Could not send character A, cause: Input/output error
2013-05-28 16:51:18,3, GSM1: Could not send character A, cause: Input/output error

これがすべてです(まだ完全なデバッグモードを使用していませんが)。

サービスが再起動した後smstools:

2013-05-28 22:29:09,3, GSM1: Cannot open serial port /dev/ttyACM0, error: No such file or directory

これらの事故のいくつかは、当社の技術者の1人が他のデバイスを接続している間に誤って数秒間電話を切ることによって発生する可能性があります。しかし、よくわかりません。

問題は、携帯電話が常に同じttyアドレスを使用するようにするにはどうすればよいですか?udevルールの使用には問題はないと思いますが、経験はありません。

lsusb電話機の出力は次のとおりです。

Bus 002 Device 004: ID 0421:040f Nokia Mobile Phones 6230 GSM Phone

約250台のホストを監視するライブプロダクションサーバーですが、現在実験する他の電話機がないため試行錯誤を経て直接テストすることはできません。

編集する

出力udevadm info -q all -n /dev/ttyACM1 --attribute-walk

  looking at device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1/tty/ttyACM1':
    KERNEL=="ttyACM1"
    SUBSYSTEM=="tty"
    DRIVER==""

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.1':
    KERNELS=="2-1.6:1.1"
    SUBSYSTEMS=="usb"
    DRIVERS=="cdc_acm"
    ATTRS{bInterfaceNumber}=="01"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bInterfaceClass}=="02"
    ATTRS{bInterfaceSubClass}=="02"
    ATTRS{bInterfaceProtocol}=="01"
    ATTRS{supports_autosuspend}=="1"
    ATTRS{bmCapabilities}=="6"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6':
    KERNELS=="2-1.6"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}=="11"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  8mA"
    ATTRS{urbnum}=="391970"
    ATTRS{idVendor}=="0421"
    ATTRS{idProduct}=="040f"
    ATTRS{bcdDevice}=="0550"
    ATTRS{bDeviceClass}=="02"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="12"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="4"
    ATTRS{devpath}=="1.6"
    ATTRS{version}==" 1.10"
    ATTRS{maxchild}=="0"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Nokia"
    ATTRS{product}=="Nokia 6230"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2/2-1':
    KERNELS=="2-1"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="59"
    ATTRS{idVendor}=="8087"
    ATTRS{idProduct}=="0024"
    ATTRS{bcdDevice}=="0000"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="2"
    ATTRS{devpath}=="1"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="6"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0/usb2':
    KERNELS=="usb2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{configuration}==""
    ATTRS{bNumInterfaces}==" 1"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bmAttributes}=="e0"
    ATTRS{bMaxPower}=="  0mA"
    ATTRS{urbnum}=="24"
    ATTRS{idVendor}=="1d6b"
    ATTRS{idProduct}=="0002"
    ATTRS{bcdDevice}=="0302"
    ATTRS{bDeviceClass}=="09"
    ATTRS{bDeviceSubClass}=="00"
    ATTRS{bDeviceProtocol}=="00"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{speed}=="480"
    ATTRS{busnum}=="2"
    ATTRS{devnum}=="1"
    ATTRS{devpath}=="0"
    ATTRS{version}==" 2.00"
    ATTRS{maxchild}=="2"
    ATTRS{quirks}=="0x0"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{authorized}=="1"
    ATTRS{manufacturer}=="Linux 3.2.0-38-generic ehci_hcd"
    ATTRS{product}=="EHCI Host Controller"
    ATTRS{serial}=="0000:00:1d.0"
    ATTRS{authorized_default}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:1d.0':
    KERNELS=="0000:00:1d.0"
    SUBSYSTEMS=="pci"
    DRIVERS=="ehci_hcd"
    ATTRS{vendor}=="0x8086"
    ATTRS{device}=="0x1e26"
    ATTRS{subsystem_vendor}=="0x1043"
    ATTRS{subsystem_device}=="0x84ca"
    ATTRS{class}=="0x0c0320"
    ATTRS{irq}=="23"
    ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
    ATTRS{local_cpulist}=="0-3"
    ATTRS{numa_node}=="-1"
    ATTRS{dma_mask_bits}=="32"
    ATTRS{consistent_dma_mask_bits}=="32"
    ATTRS{enable}=="1"
    ATTRS{broken_parity_status}=="0"
    ATTRS{msi_bus}==""
    ATTRS{companion}==""
    ATTRS{uframe_periodic_max}=="100"

  looking at parent device '/devices/pci0000:00':
    KERNELS=="pci0000:00"
    SUBSYSTEMS==""
    DRIVERS==""

どのツリーレベルのどのプロパティを使用するのかわかりません。

私はファイル内のすべてのSUBSYSTEM=="usb",ATTRS{product}=="Nokia 6320",NAME="ttyACM*",SYMLINK+="nokia"バリエーション(SYMLINK- なし+; KERNEL=="2-1.6"、なしNAMEなど)を試しました。/etc/udev/rules.d/10-local.rules私はシンボリックリンクをまったく取得できなかったり、目に見える変化はまったくありません。

おそらく問題はルールが適用される方法です。- 機器を再起動する余裕がなく、USBケーブルを接続して抜くために技術者をサーバー室に送る必要がなくなればと思います。私はで述べたように/etc/init.d/udev restartudevadm control --reload-rulesおよび、などの組み合わせを使用しました。udevadm trigger--attr-match=vendor="Nokia"--attr-match=product="Nokia 6320"この回答。デバイスを接続および切断するために技術者を送信する必要がありますか、それともテストするために別の(安い)電話を購入する必要がありますか?

ベストアンサー1

デバイス名がない場合は、smstoolsがまったく起動しないことを確認できます。したがって、これは機能しません。

デバイス=GSM*

#device=/dev/ttyACM0

2つのデバイスを追加できますが、それも正しい解決策ではありません。 smstoolsがACM1とACM0を使用するとどうなりますか?はい、あなたの携帯電話は通話/文字転送には使用できません。

まだ正しい解決策が見つかりませんでしたが、上記の方法は機能しません。実際にこのウェブサイトからコピーしました:http://unix.findincity.net/view/635395087004115229136640/point-usb-phone-to-特異的-devttyacm-using-udev

おすすめ記事