2015年12月3日木曜日

RaspberryPi で Huawei の HWD12 を使う方法

概要

過去に Yosemite で使えるようにした HWD12 ですが、今度は RaspberryPi (RPi) で使ってみました

環境

  • Raspberry Pi Type B Single Board Computer 512MB
  • Raspbian 8.0 (Jessie)
  • Kernel Version 4.1.7+

設定方法

とりあえず何も考えずに以下のコマンドを実行すれば使えるようになると思います

  • sudo apt-get install usb-modeswitch
  • sudo cp /etc/usb_modeswitch.conf{,.back}
  • sudo vim /etc/usb_modeswitch.conf
DefaultVendor=0x12d1
DefaultProduct=0x1f03

TargetVendor=0x12d1
TargetProduct=0x14db

MessageContent="55534243123456780000000000000a11062000000000000100000000000000"
  • sudo modprobe usbserial vendor=0x12d1 product=0x14db
  • sudo usb_modeswitch -c /etc/usb_modeswitch.conf

usb_modeswitch.conf は一番下に内容を追記すれば OK です

何をしているのか

usb_modeswitch というツールを使って、USBストレージとして認識されてしまった HWD12 を USBモデムとして認識させ直しています
最後の sudo usb_modeswitch -c /etc/usb_modeswitch.conf のあとで HWD12 のランプが紫になりインターネットに接続できることが確認できると思います

本来は USB を接続した際に VendorID が 0x12d1, ProductID が 0x14db として認識されなければいけないのに、それぞれ 0x12d1, 0x1f03 として認識されているせいで Wifi モデムとして動作していません

設定ファイル ( /etc/usb_modeswitch.conf ) に正しい ID 情報を記載して、usb_modeswitch コマンドを実行することで正しい ID として認識させます

本来正しく認識させなければいけない ID や MessageContentここ に記載されているものを使いました

Tips

  • IPv4 の IP アドレスを取得できない場合

以下のコマンドを試してみたください

sudo dhclient -4 -v usb0

RPi 自体で IPv4 を切る方法もありそうなのでそれを設定して再起動でもいいかもしれません
というのも今回の HWD12 を使えるようにする設定を行った後に RPi 自体を再起動すると HWD12 を挿してもうまくインターネットに接続できない現象が発生しました
自分の場合ですが、調べてみると USB はモデムとして認識されているものの IPv4 がうまく取得できていなかったようで、RPi を再起動するたびに dhclient のコマンドを実行していました
コマンドを 1 個実行するだけなのでそこまで大変ではないですが、そもそも IPv4 を切っておけば、そのコマンドすら実行する必要がなくなるのかなと思った感じです

  • そもそも他のネットワークがない人はどうすればいいか

今回のコマンドは一発目に apt-get コマンドがあります
つまりネットワークに繋がっていなければなりません
自分はスマホのテザリングを使って RPi をネットに繋いて実行しましたが、そもそもその環境すらない場合は詰んじゃうかもしれません

参考サイト

0 件のコメント:

コメントを投稿