
インストールしましたカーネルサーバーのセクションで説明されているように、GSM 3G USBモデムを使用してSMSメッセージを送信したいと思います。SMSセンター> GSMモデムチャンネルユーザーガイド。
私のラップトップにKannelを正常にインストール、設定、テストしました。
モデムをラップトップに接続すると、/dev/ttyUSB0
名前が 。モデムにコマンドを送信するシリアルポートとして機能します。
このデバイスをKannel設定ファイルに入れる必要があります。
いくつかのテストの後、本番サーバーにKannelをインストールすることにしました。サーバー実行中Linux仮想サーバー、私の使命は 所有者そしてPlaySMSの一つゲスト、Apacheを実行します。
問題は、ttyUSB0
私のコンピュータ(私が知っている限り、すべての一般的なLinuxコンピュータ)で作成されたデバイスに似たデバイスが見つからないことです。
以下はいくつかの診断コマンドです。使用されたモデムは同じモデルではありませんが、私のラップトップで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 Reny
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シリアルポートにアクセスするにはどうすればよいですか?。
彼のケースではdmesg
これが生成されたと述べていますが、ttyUSB0
私の場合はこれは起こりません。
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
答え1
@Renanのコメントに同意します。この問題は最新のカーネルで解決されたようです。 (LKMLにそのような記事があります。)
コアミスはこれですinvalid interface number
。これは、USBドライバがデバイスを見ることができますが、ドライバが予期せず対処できないように機能(インターフェイス)に番号が付けられていることを意味します。インターネット検索では、人々がこれらの最新のデバイスと奇妙なインターフェイス番号付けの動作を処理するためにカーネルの弱点を修正するいくつかのケースを見つけることができます。
間違ったインターフェイス番号付けのバグを説明する明確なドキュメントが見つからないか、カーネルxyzのすべてのUSBデバイスに対して修正されたため、100%確信できません。ほくろを打つ一種の開発努力。
サーバーからカーネルをアップグレードすることは決して簡単ではありません。仮説を確認するために、まず中間ステップを試してみましょう。 Debianのサーバーバージョンを仮想マシンに配置し、スナップショットを作成し、そこからカーネルをアップグレードし、アップグレード後にUSBデバイスが表示されることを確認します。 (もちろん、USBデバイスをVMにプッシュするには、VMソフトウェアを使用する必要があります。最近、ほとんどの人がそうします。)
それでも問題が解決しない場合は、スナップショットに簡単にロールバックできます。 VMは、本番サーバーに何かをリリースする前に、将来のテストに役立つ必要があるためです。
答え2
私はあなたと同じ問題に直面しました。パッケージをインストールしてみてくださいgsm-utils
。
apt-get install gsm-utils
答え3
提供された情報によると、システムにこのUSBデバイスの設定ファイルがないようです。正しいものを入手しconf
て追加し/etc/usb_modeswitch.d
て有効にしてください。これはUSBデバイスとして検出されます。
引用するこの記事。