web-dev-qa-db-ja.com

GSMモデムが/ dev / ttyUSBファイルを作成しない

サーバーに Kannel をインストールしましたが、GSM 3G USBモデムを使用してSMSメッセージを送信/受信します(セクションSMSセンター> KannelユーザーガイドのGSMモデム

ノートブックにKannelを既にインストール、構成、テストしました。

モデムをノートブックに接続すると、/dev/ttyUSB0という名前のデバイスが表示されます。モデムにコマンドを送信するシリアルポートとして機能します。

このデバイスをKannel構成ファイルに配置する必要があります。

いくつかのテストの後、Kannelを運用サーバーにインストールすることにしました。サーバーはLinux-VServerを実行し、私のタスクはHostにKannelをインストールし、PlaySMSをApacheを実行するguestsの1つ。

問題は、私のマシン(およびすべての通常のLinuxボックスでAFAIK)で作成されたttyUSB0に類似したデバイスが見つからないことです。

ここにいくつかの診断コマンドがあります。使用されているモデムは同じモデルではありませんが、ノートブックでSierra 308をすでにテストしましたが、これも動作します。

私のノートブック-Arch Linux

uname -a

Linux twoflower 3.4.9-1-Arch #1 SMP PREEMPT Wed Aug 15 18:11:01 UTC 2012 i686 GNU/Linux

dmesgモデムを接続すると(Huawei 156B):

[35328.849886] usb 1-2: new high-speed USB device number 12 using ehci_hcd
[35329.007281] scsi9 : usb-storage 1-2:1.2
[35329.010054] scsi10 : usb-storage 1-2:1.3
[35329.301153] usbcore: registered new interface driver usbserial
[35329.302155] usbcore: registered new interface driver usbserial_generic
[35329.303064] USB Serial support registered for generic
[35329.303221] usbserial: USB Serial Driver core
[35329.368043] usbcore: registered new interface driver option
[35329.368960] USB Serial support registered for GSM modem (1-port)
[35329.369332] option 1-2:1.0: GSM modem (1-port) converter detected
[35329.377484] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[35329.377567] option 1-2:1.1: GSM modem (1-port) converter detected
[35329.378930] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[35330.013635] scsi 9:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31
PQ: 0 ANSI: 2
[35330.019275] scsi 10:0:0:0: Direct-Access     HUAWEI   MMC Storage      2.31
PQ: 0 ANSI: 2
[35330.028997] sd 10:0:0:0: [sdb] Attached SCSI removable disk
[35330.214473] sr0: scsi-1 drive
[35330.214484] cdrom: Uniform CD-ROM driver Revision: 3.20
[35330.216603] sr 9:0:0:0: Attached scsi CD-ROM sr0

サーバー-Debian Lenny

uname -a

Linux macunaima 2.6.26-1-vserver-AMD64 #1 SMP Fri Mar 13 20:19:13 UTC 2009 x86_64 GNU/Linux

dmesgモデムを接続すると(Sierra 308):

  [    3.246112] usb 8-4: new high speed USB device using ehci_hcd and address 2
  [    3.381966] usb 8-4: config 1 has an invalid interface number: 9 but
  max is 5
  [    3.382076] usb 8-4: config 1 has an invalid interface number: 7 but
  max is 5
  [    3.382184] usb 8-4: config 1 has no interface number 2
  [    3.382285] usb 8-4: config 1 has no interface number 5
  [    3.384576] usb 8-4: configuration #1 chosen from 1 choice
  [    3.389070] usb 8-4: New USB device found, idVendor=0f3d,
  idProduct=68a3
  [    3.389070] usb 8-4: New USB device strings: Mfr=3, Product=2,
  SerialNumber=4
  [    3.389070] usb 8-4: Product: USB 308
  [    3.389070] usb 8-4: Manufacturer: Sierra Wireless, Incorporated
  [    3.389070] usb 8-4: SerialNumber: 353354045586405

lsusb

Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 002: ID 0f3d:68a3 Airprime, Incorporated
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

以前の質問

私がここで見つけた同様の問題の唯一の前の質問は / devにエントリなしでUSBシリアルポートにアクセスするにはどうすればよいですか? でした。

彼の場合、dmesgttyUSB0が作成されたと言いましたが、これは私の場合は発生しません。

とにかく、私はmknodを使用してデバイスを手動で作成し、そこに投稿された解決策を試しました:

for i in 0 1 2 3 4 5 6 7 8 9; do
    Sudo mknod /dev/ttyUSB$i c 188 $i
done

lsusbはデバイスがBus 008 Device 002に接続されていると言っているため、これらすべてのデバイスを作成しました。

うまく行かなかった。私はpicocomでテストしましたが、これは次のように述べています(ttyUSB0だけでなく、これらすべてのデバイスに対して)。

$ picocom -
FATAL: cannot open /dev/ttyUSB0: No such device or address

私のノートブックでは、picocomは正常に動作します。

$ picocom -b 9600 /dev/ttyUSB0
Terminal ready
AT                      # my input
OK
6
Lucas Teixeira

私は@Renanと一緒にいます:この問題は新しいカーネルで修正されたようです。 ( LKMLのそのようなスレッドの1つ

重要なエラーはinvalid interface number 1。これは、USBドライバーがデバイスを認識していることを意味しますが、ドライバーが予期しない方法で機能(インターフェイス)に番号を付けているため、対応できません。ぐるぐる回って、人々がカーネルの弱点を修正してこれらの新しいデバイスとそれらの奇妙なインターフェース番号付け動作に対処しているいくつかのケースを見つけることができます。

私はこれについて完全に確信しているわけではありません。順不同のインターフェイス番号が間違っている、またはカーネルx.y.zのすべてのUSBデバイスに対してすべて修正されていると言っている明確なドキュメントが見つからないためです。 Whac-a-Mole のような開発努力のようです。

サーバー上のカーネルをアップグレードすることは決して簡単な修正ではありません。最初に仮説を確認するための中間ステップを試します。サーバーのDebianのバージョンをVMに入れ、スナップショットを作成し、そこでカーネルをアップグレードし、アップグレード後にUSBデバイスが表示されるかどうかを確認します。 (明らかに、VM USBデバイスをVMにプッシュするソフトウェアを使用する必要があります。最近はほとんどの場合)。

これが機能しない場合は、スナップショットに簡単にロールバックできます。これは、VMは、何かを製品サーバーにロールアウトする前の将来のテストに役立つはずです。

3
Warren Young

私はあなたと同じ問題に遭遇しました。 gsm-utilsパッケージをインストールしてみてください。

apt-get install gsm-utils
2
g4ch

あなたが与えた情報から、私はシステムがそのUSBデバイスの設定ファイルを持っていないと思います。正しいconfを取得し、/etc/usb_modeswitch.dに追加してアクティブにします。その後、USBデバイスとして検出されます。

この記事 を参照してください。

0
ganeshredcobra