Huawei E169 USB 3GドングルをTP-Link TL-WR703N上のOpenWrtで使えるようにする

Huawei E169 USB 3Gドングル

Huawei E169 USB 3Gドングル

理由は後日説明するとして、Huawei E169 USB 3GドングルAliexpress.comにて送料無料の$20.77で購入

E173この業者に勧められた。スペック的には差がないように思われたが、この業者のストックにあったものではE169には外部アンテナ接続端子があったがE173にはなかったので前者を選んだ。モデルとしてはE173には外部アンテナ接続端子付きのものもあるらしい。

Windows 7 PCではUSBポートに差し込むと、USBディスクとして認識され、そこにあるインストーラでドライバやクライアントソフトをインストールできる。その上で、”Huawei E169 (E169G, E169V, K3520) – 3G modem wiki“の情報に従い、ファームウェアとPC用クライアントソフトのアップデート。 PCクライアントソフトは”Mobile Partner”ないしは”Vodafone Dashboard”のはずらしいが、”Optus Wireless Broadband”なるソフトしか見当たらない。音声通信ができるかテストしたかったが、ファームウェアやPC側ソフトのアップグレードによって、クライアント・アプリに現れるはずの音声通信用ボタンが現れない。そもそもPCから音声通話することは目的ではなかったから、それ以上は追求せずSMSの送受信ができることだけ確認。

Mobile Partner Version 23.009.09.02.910 Released | HuaweiNews“から公式Mobile Partnerアプリを入手できた(Windows版だけではなくLinux版も同梱)。それで音声通話もできることが確認できた。

次に、本来想定していた使用形態に移行した。それはポータブルルーターTP-Link TL-WR703Nから使用することだが、そのために以前からインストールしてあったOpenWrtのアップグレードをしたり、USB機器を複数使えるようハブを接続したりしてあった。

USB GSM/UMTSモデムを介したSMSやMMSの送信“に書いたように、SMSだけであれば、OpenWrtでは予めリポジトリに用意されているパッケージをインストールするだけでつぐ使えるようになるGnokiiで利用できるようになる。MMSも扱いたいので、最終的にはこれではなくMbuniを使うことになるのだが、残念ながら自分でビルドしないとならない。なのでまずはパッと使えるGnokiiでテスト。

まず、”Use 3g/UMTS USB Dongle for WAN connection – OpenWrt Wiki“を参照に、必要なパッケージをインストール。comgt, kmod-usb-serial-option, usb-modeswitch-data, luci-proto-3gだけをインストールした(と思う)。他に必要なパッケージもあるが、上記パッケージが依存しているため結果として必要な物は全てインストールされる(と思う)。USBそのものに関するパッケージはusbutilsのみをインストール。lsusbコマンドを使いたかったので。

View topic – SMS Gateway – OpenWRT“からGnokiiの設定に関するところだけを真似た。WAN関係は現時点では不要なので無視。Gnokiiの設定として/dev/ttyUSB0をポートとして指定することで、SMSの送信(gnokii --sendsms 宛先電話番号)、音声通話の発信(gnokii --dialvoice 宛先電話番号)やその中止(gnokii --hangup 呼ID)はできるようになった(もちろんOpenWrt側で音声の入出力はできないので単に鳴るだけ)。ただし、SMSの受信(gnokii --smsreader)は思うように動作しているように思えない。

しかし、”Send SMS or Email using 3G/GSM modem – OpenWrt Wiki“と”Using AT commands to send and read SMS – Nokia Developer Wiki“を参照して、picocomコマンドを利用して直接ATコマンドを使うと、SMSの受信ができることは確認できた。

SMSの送受信を行うためのデーモンとしてGnokiiのwikiではSMSdを紹介しているが、残念ながらOpenWrt用バイナリ・パッケージは用意されてないので使うには自分でビルドしなければならない。だがMMSも必要なのでMbuniを自分でビルドしなくてはならないことは決定済み。なのでSMSのみのSMSdをビルドすることはないだろう。

追記:
たまたま見つけた”Huawei – GnokiiWiki“によって、OpenWrtがドングルを認識した際に自動的に作成するデバイスが/dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2の3つあるのだが、そのうちSMS受信の通知を受けられるのはその内の1つだけだということを知った。このページは、通常そのデバイスが/dev/ttyUSB1だと記載しているが、そうGnokiiの設定してもSMSの受信ができないどころか送信もできなかった。代わりに/dev/ttyUSB2と設定することで、Gnokiiを使ってSMSの送信も受信もできた。

さらなる追記:
Huawei UMTS USB Stick E169 with Linux“には、”If you have udev you should now have /dev/ttyUSB0, /dev/ttyUSB1 and /dev/ttyUSB2. These are the devices for the UMTS modem, for the GSM modem and a device for sending an receiving SMS, respectively”という記載がある。

これで最初のステップとして達成したいことは達成できた。以下は余談。

Wireless Router with a 3G/UMTS/HSDPA dongle“にhuaweiaktbbo ( Huawei E156/E169/E220 activation tool)というパッケージが紹介されているが、E169がモデムと認識されているのでインストールしない。が、 e169-stats (Huawei E169 statistics, works with other Huawei’s devices.)というパッケージがあるのに気づいたのでこれはインストールしてたが、e169-stats /dev/ttyUSB0でちょっとした統計情報が表示される。

Usb-modeswitchからのSwitching seemingly failedというメッセージが繰り返し表示されるが、”#10475 (usb-modeswitch “seemingly” fails, stick works fine) – OpenWrt“によると気にしなくていい模様。デバイスの初期化に予想以上に時間がかかっているのを失敗したと判断されるだけ、ということのよう。

Huawei E169 USB 3GドングルへのSIMカードの正しい挿入向き

Huawei E169 USB 3GドングルへのSIMカードの正しい挿入向き

実は最初にSIMカードの向きを逆に入れてしまい、当然の結果としてSIMカードが認識されない、というハズカシイ失敗を犯した。

以下はWAN設定をする際に参考になるかも:

追記:後日さらにもう1台E169を購入した

以下はシステム・ログの一部だが、最初はusb_modeswitchがうまく行ってないのではと考えていたのでコピーしていた。

Aug  8 20:51:04 OpenWrt kern.info kernel: [   14.870000] usb 1-1.2: new full-speed USB device number 4 using ehci-platform
Aug  8 20:51:04 OpenWrt kern.info kernel: [   15.000000] scsi1 : usb-storage 1-1.2:1.0
Aug  8 20:51:04 OpenWrt kern.info kernel: [   15.140000] usb 1-1.2: USB disconnect, device number 4
Aug  8 20:51:04 OpenWrt kern.info kernel: [   15.470000] usb 1-1.2: new full-speed USB device number 5 using ehci-platform
Aug  8 20:51:04 OpenWrt kern.info kernel: [   15.600000] scsi5 : usb-storage 1-1.2:1.3
Aug  8 20:51:04 OpenWrt kern.notice kernel: [   16.600000] scsi 5:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Aug  8 20:51:04 OpenWrt kern.notice kernel: [   16.610000] scsi 5:0:0:1: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
Aug  8 20:51:04 OpenWrt kern.notice kernel: [   16.630000] sd 5:0:0:1: [sdb] Attached SCSI removable disk
(中略)
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.500000] usbcore: registered new interface driver usbserial
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.500000] USB Serial support registered for generic
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.510000] usbcore: registered new interface driver usbserial_generic
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.520000] usbserial: USB Serial Driver core
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.580000] USB Serial support registered for GSM modem (1-port)
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.580000] option 1-1.2:1.0: GSM modem (1-port) converter detected
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.590000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB0
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.600000] option 1-1.2:1.1: GSM modem (1-port) converter detected
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.600000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB1
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.610000] option 1-1.2:1.2: GSM modem (1-port) converter detected
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.620000] usb 1-1.2: GSM modem (1-port) converter now attached to ttyUSB2
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.620000] usbcore: registered new interface driver option
Aug  8 20:51:04 OpenWrt kern.info kernel: [   32.630000] option: v0.7.2:USB Driver for GSM modems
Aug  8 20:51:06 OpenWrt user.notice usb-modeswitch: 1-0:1.0: Manufacturer=Linux_3.3.8_ehci_hcd Product=Generic_Platform_EHCI_Controller Serial=ehci-platform
Aug  8 20:51:06 OpenWrt user.notice usb-modeswitch: 1-1:1.0: Manufacturer=? Product=? Serial=?
Aug  8 20:51:06 OpenWrt daemon.notice netifd: Interface 'loopback' is now up
Aug  8 20:51:06 OpenWrt kern.info kernel: [   37.070000] device eth0 entered promiscuous mode
Aug  8 20:51:07 OpenWrt kern.info kernel: [   37.400000] eth0: link up (100Mbps/Full duplex)
Aug  8 20:51:07 OpenWrt kern.info kernel: [   37.400000] br-lan: port 1(eth0) entered forwarding state
Aug  8 20:51:07 OpenWrt kern.info kernel: [   37.410000] br-lan: port 1(eth0) entered forwarding state
Aug  8 20:51:07 OpenWrt daemon.notice netifd: lan (790): udhcpc (v1.19.4) started
Aug  8 20:51:07 OpenWrt user.notice usb-modeswitch: 1-1.4:1.0: Manufacturer=? Product=USB_Mass_Storage_Device Serial=ad620dd011662b
Aug  8 20:51:07 OpenWrt daemon.notice netifd: lan (790): Sending discover...
Aug  8 20:51:07 OpenWrt daemon.notice netifd: lan (790): Sending select for 192.168.11.170...
Aug  8 20:51:07 OpenWrt daemon.notice netifd: lan (790): Lease of 192.168.11.170 obtained, lease time 172800
Aug  8 20:51:07 OpenWrt user.notice usb-modeswitch: 1-1.2:1.0: Manufacturer=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Product=HUAWEI_Mobile Serial=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Aug  8 20:51:07 OpenWrt user.notice usb-modeswitch: 1-1.2:1.0: Selecting /etc/usb_modeswitch.d/12d1:1001 for mode switching
Aug  8 20:51:07 OpenWrt user.notice usb-modeswitch: 1-1.2:1.0: Switching seemingly failed
Aug  8 20:51:07 OpenWrt daemon.notice netifd: Interface 'lan' is now up
Aug  8 20:51:08 OpenWrt user.notice ifup: Enabling Router Solicitations on loopback (lo)
Aug  8 20:51:08 OpenWrt user.notice ifup: Allowing Router Advertisements on lan (br-lan)
Aug  8 20:51:08 OpenWrt user.notice usb-modeswitch: 1-1.2:1.0: Switching seemingly failed
Aug  8 20:51:09 OpenWrt kern.info kernel: [   39.410000] br-lan: port 1(eth0) entered forwarding state
Aug  8 20:51:09 OpenWrt user.notice usb-modeswitch: 1-1.2:1.0: Switching seemingly failed
(中略)
Aug  8 20:51:15 OpenWrt user.notice usb-modeswitch: 1-1.2:1.1: Manufacturer=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Product=HUAWEI_Mobile Serial=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Aug  8 20:51:15 OpenWrt user.notice usb-modeswitch: 1-1.2:1.1: Selecting /etc/usb_modeswitch.d/12d1:1001 for mode switching
Aug  8 20:51:15 OpenWrt user.notice usb-modeswitch: 1-1.2:1.1: Switching seemingly failed
Aug  8 20:51:15 OpenWrt cron.info crond[1194]: crond: crond (busybox 1.19.4) started, log level 8
Aug  8 20:51:16 OpenWrt authpriv.info dropbear[1207]: Running in background
Aug  8 20:51:16 OpenWrt user.notice usb-modeswitch: 1-1.2:1.1: Switching seemingly failed
Aug  8 20:51:17 OpenWrt user.notice usb-modeswitch: 1-1.2:1.1: Switching seemingly failed
(中略)
Aug  8 20:51:23 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Manufacturer=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Product=HUAWEI_Mobile Serial=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Aug  8 20:51:23 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Selecting /etc/usb_modeswitch.d/12d1:1001 for mode switching
Aug  8 20:51:23 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:51:24 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:49 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:50 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:51 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:52 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:53 OpenWrt user.notice usb-modeswitch: 1-1.2:1.2: Switching seemingly failed
Aug  8 20:52:55 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Manufacturer=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ Product=HUAWEI_Mobile Serial=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Aug  8 20:52:55 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Selecting /etc/usb_modeswitch.d/12d1:1001 for mode switching
Aug  8 20:52:55 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:52:56 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:52:57 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:52:58 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:52:59 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:53:00 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
Aug  8 20:53:01 OpenWrt user.notice usb-modeswitch: 1-1.2:1.3: Switching seemingly failed
root@OpenWrt:~# cat /sys/kernel/debug/usb/devices

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480  MxCh= 1
B:  Alloc=  0/800 us ( 0%), #Int=  2, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=1d6b ProdID=0002 Rev= 3.03
S:  Manufacturer=Linux 3.3.8 ehci_hcd
S:  Product=Generic Platform EHCI Controller
S:  SerialNumber=ehci-platform
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 4
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0409 ProdID=005a Rev= 1.00
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   1 Ivl=256ms

T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  5 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=12d1 ProdID=1001 Rev= 0.00
S:  Manufacturer=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
S:  Product=HUAWEI Mobile
S:  SerialNumber=ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=128ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=84(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=85(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=05(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=83(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms

T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=02 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0457 ProdID=0151 Rev= 1.00
S:  Product=USB Mass Storage Device
S:  SerialNumber=ad620dd011662b
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 98mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=16ms
root@OpenWrt:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 003: ID 0457:0151 Silicon Integrated Systems Corp. Super Flash 1GB / GXT  64MB Flash Drive
Bus 001 Device 005: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem

SMS Tutorial: Introduction to AT Commands, Basic Commands and Extended Commands

広告

Huawei E169 USB 3GドングルをTP-Link TL-WR703N上のOpenWrtで使えるようにする」への5件のフィードバック

  1. ピンバック: USB 3GドングルをOpenWrt上のAsteriskから使う | あくまで暫定措置としてのブログ
  2. ピンバック: OpenWrt Barrier Breaker RC3をインストール | あくまで暫定措置としてのブログ
  3. ピンバック: HUAWEI E169 USB 3GドングルをドコモXi SIM用にもう1台購入 | あくまで暫定措置としてのブログ
  4. ピンバック: おれは2台持ちをやめるぞ!ジョジョーーッ!! | あくまで暫定措置としてのブログ
  5. ピンバック: 2013年末に契約したドコモ回線の処理 | あくまで暫定措置としてのブログ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中