Huawei WiMAX 2+モデムをLinuxで使う

in Uncategorized

ローカルネットワーク環境

自宅のインターネット回線はISDNに始まりADSL、光、ときてここ数年はWiMAXを使っています。 WiMAXは現在移行期で、従来のWiMAXからWiMAX 2+という新規格に置き換えられつつあります。 ちょうど契約の更改時期がきましたので、先月末に発売されたばかりのWiMAX 2+最新鋭モデムhttp://consumer.huawei.com/jp/support/products/technicalspecs/w01-jp.htm[Huawei Speed Wi-FI NEXT W01](以下W01)を使う接続サービスに乗り換えることにしました

自宅では24時間Linuxサーバー(現在はUbuntu Server 14.04 LTS)を稼動させていて、インターネットとのゲートウェイはそのLinuxマシンが担当しています(このマシンはファイルサーバーでもあり、また過去にはkawauso.com自身であったこともあります)。 今回はゲートウェイの設定はそのままに、インターネットとの接続をW01へと置き換えます。

さてLinuxサーバーにW01をつなげるわけですが、その接続方法は大きくわけると次の3つになりました。

  • クレードルを使ってネットワークケーブルで接続する

  • USBで接続する

  • ブリッジモードにしてUSBで接続する

この記事では上記3つの接続方法を順番に見ていくことにしましょう。 なお参考のために、つなげた結果のネットワークが全体としてどのようになるかネットワーク図で示しておきます。

localnetwork

クレードルを使ってネットワークケーブルで接続する

WiMAXのモデムの主流はいわゆるモバイルモデムで、W01もモバイルモデムであり、それゆえに通信インターフェースはUSBまたはWiFiとなっています。 そのかわりWiMAXのモバイルモデムは別途クレードルといわれる専用のスタンドが用意されていることが多く、クレードルからイーサネットのネットワークケーブルを使って接続できる場合もよくあります。 W01も別売の専用クレードルがありネットワークケーブルを用いてLinuxサーバーと接続し通信することができます。 この接続方法の場合、Linux側はつなげるネットワークインターフェースに対してDHCPクライアントを設定しておくだけでよいでしょう。

$ cat /etc/network/interfaces
...
auto eth1
iface eth1 inet dhcp
Note
W01のクレードルのUSB端子の方には注意が必要です。 ここは本体のUSB端子と違って通信に使うことができませんでした。 充電専用のようです。 最初、つないだのに通信できない理由がわからずハマりました。

USBで接続する

W01本体をUSBでLinuxに接続すると以下のように認識されました。

$ lsusb
Bus 003 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 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

上記 Bus 001 Device 011: ID 12d1:1f01 Huawei Technologies Co., Ltd. と認識されてはいますが、実はこの状態ではモデムではなくCD-ROMドライブとして認識されています。 これはW01のUSBがWindowsやMacにつなげられることを想定されていて、その際まずCD-ROMとしてつながり(Windowsのオートランなどにより自動的に)デバイスドライバーがインストールされ、そのドライバーにより改めてモデムと認識されるという親切設計、Linuxにとっては迷惑設計^^;になっていることによるようです。

対処としてCD-ROMドライブからモデムにモードを切り換えるために usb-modeswitch パッケージを導入して設定します。

# aptitude install usb-modeswitch
# tar xzf /usr/share/usb_modeswitch/configPack.tar.gz 12d1:1f01
# mv 12d1:1f01 /etc/usb_modeswitch.d/

Linuxを再起動して再度見てみましょう。

$ lsusb
Bus 003 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 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 011: ID 12d1:14db Huawei Technologies Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

以前 ‘ID 12d1:1f01′ だったところが ‘ID 12d1:14db’ になりました。 これでモデムとして認識されているはずです。 起動メッセージを確認してみましょう。

$ dmesg
...
[   14.141065] usb 1-1: USB disconnect, device number 2
[   14.521195] usb 1-1: new high-speed USB device number 3 using ehci-pci
[   14.660383] usb 1-1: New USB device found, idVendor=12d1, idProduct=14db
[   14.660398] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[   14.660406] usb 1-1: Product: HUAWEI_MOBILE
[   14.660413] usb 1-1: Manufacturer: HUAWEI_MOBILE
[   14.729942] cdc_ether 1-1:1.0 eth1: register 'cdc_ether' at usb-0000:00:12.2-1, CDC Ethernet Device, 58:1f:28:XX:XX:XX
[   14.731076] usbcore: registered new interface driver cdc_ether
...

無事にネットワークインターフェース eth1 に割り当てられたようです。 このようにUSB接続といっても Ethernet over USB である CDC や、以前の経験だと RNDIS などが用いられていて、Linuxにも普通にネットワークデバイスとして認識され接続されるようです。 怖れることないですね!

あとは前記の方法と同様にDHCPクライアントを設定しておけばよいでしょう。

ブリッジモードにしてUSBで接続する

W01には面白い機能としてブリッジモードというのがありました。 前記2つの方法で接続するとLinuxのネットワークインターフェースにはIPアドレスの `192.168.100.100/24′ あたりが割り当てられることと思います。 これはモデムとLinuxの(モデムのWi-Fiへ接続している機器があればそれらも含む)間にローカルネットワークが形成されていることを意味します。 それに対してブリッジモードはモデムの外側のネットワーク(プロバイダによってグローバルネットワーク)をそのまま内側へつなぎます。

実際にモデムのコントロール画面からブリッジモードに変更してLinuxにつないでみましょう。

$ ifconfig eth1
          ...
          inet addr:106.155.X.X  Bcast:106.155.X.X  Mask:255.255.255.255
          ...

(IPアドレスは部分的にXで伏せてあります) 直にグローバルアドレスが割り当てられています。 モデムのルーティング処理をはさまない分通信が早くなるようで、実験したところPINGの値などが1,2割改善するようです。

ただこれはインターネットに直につながっていますので、この設定する際はLinux側に事前にファイヤーウォールを構築しておくなどセキュリティ確保に十分配慮する必要があります。 そのような知識が無いうちはブリッジモードでつなぐことは非常に危険です。 またもしかしたらブリッジモードでない方がトータルで良い可能性も0ではありません(W01の方がルーターやDHCPクライアントとしてプロバイダーとの相性がよいなどなど)。

Note
ブリッジモードでは最初からモデムとして認識されるようですのでusb-modeswitchは不要になります。
Note
ブリッジモードではWifiとUSBを含め1つでも接続が成立した機器があればその他はつながらなくなる仕様のようです。 つまり何かのタイミングで既につなげたことのあるWifi機器が復活して先につながってしまうと、USBではつながらなくなってしまいます。 ブリッジモードを使う際は余計な機器の接続が復活することがないようそれらの設定を全て削除しておく必要があると思われます。

まとめ

現在のところ上記の3番目の方法で1週間ほど運用しています。 接続の安定性など今後いろいろ検証していきたいと思っています。 ではでは〜。


LadioCast 0.11.3 Released – LadioCast Development Notes No.86

in LadioCast

LadioCast Version 0.11.3 has been released.

Changes from version 0.11.2 to 0.11.3 are as follows:

  • Updated libshout library to the latest version 2.4.1.

This mostly corresponds to some new functionalities with the recent Icecast 2 server. I’d like to thank the team and users trying the beta LadioCast under 0.11.3.

Hope you have happy holidays!

13 Responses to “LadioCast 0.11.3 Released – LadioCast Development Notes No.86”

    • kawauso

      yukoさんこんにちは!
      (もし途中で送信されてしまったようでしたら続きからまたお書きください。)
      ではでは〜

  1. よっしー

    初めまして!直接メッセージをお送りしたかったのですが、どこに書き込んで良いか分からずこちらに失礼させていただきます。もし不都合があれば消去していただいて構いません。
    LadioCastについての質問です。
    LadioCastのバージョン 000011003 (1133)を使わせていただいております。
    最近になって、音が右側に偏るようになりました。LとRの欄の矢印を触ってしまったのかと思い、確認しましたが普段と変わりありません。Soundflowerと併用して使っていますが、右に偏って聞こえることは初めてです。LadioCastを通さずに音を流してみると通常通り聞こえます。事例を探してもヒットせず、困っています。どうすれば元に戻るのでしょうか。お教えいただけると幸いです。私はOS X Yosemite10.10.4です。

    • kawauso

      よっしーさんこんにちは!
      書き込む場所はここでOKですよ。
      右に偏って聞こえる現象を少し分析してからがよさそうですね。
      * LadioCastの入力メーターで左チャンネルのレベルが常に0か、わずかでもレベルがあるか
      * LadioCastの出力メーターで左チャンネルのレベルが常に0か、わずかでもレベルがあるか
      * 右チャンネルの出力音声は左チャンネルの音声も含むか、含まないか
      * LadioCastを通さずに音を流す時にSoundflowerを通るか、通らないか
      といったポイントをチェックしてみてそれらの結果をまたお書きいただければと思います。
      ではでは。

  2. よっしー

    こんにちは!返信ありがとうございます!
    初心者でいまいち理解できておらず、拙い日本語になりそうですが…申し訳ありません
    とにかくお伝えできる設定状況は全てお教えしようと思います。

    * LadioCastの入力メーターで左チャンネルのレベルが常に0か、わずかでもレベルがあるか
    └0dbと表記されている部分であっていますでしょうか…そこは0のままで、左右に動かせるバーは一番右に設定しています。入力1と2を使用していて、どちらも0dbでバーは左です。
    * LadioCastの出力メーターで左チャンネルのレベルが常に0か、わずかでもレベルがあるか
    ごめんなさい、勉強不足でどこを指しているか理解できず…。多分0であると思います。
    * 右チャンネルの出力音声は左チャンネルの音声も含むか、含まないか
    入力1にマイク、入力2にSoundflower(2ch)を設定していますが、入力1のことでしょうか…?普段は入力1は使わず、N/Aにしています。入力2の音はは内臓出力設定にしている「出力メイン」と、Soundflower(64ch)に設定している出力Aux1に流れています。
    * LadioCastを通さずに音を流す時にSoundflowerを通るか、通らないか
    └通さず、ヘッドフォンを使用しているため、ヘッドフォンポートに流れています

    あと、ヘッドフォンが壊れているのかと思い別のものを使用して確認しましたが、それが原因でなかったことをお伝えします。
    わかりにくくて申し訳ありません。よろしくお願いいたします…

    • kawauso

      よっしーさん
      回答ありがとうございます。推測を含んでしまいますがこの状況で一番可能性が高いのはSoundflowerの方の左チャンネル(1)の音量設定かなと思います。
      Macの標準アプリにAudio MIDI 設定.appというものがあり、起動するとSoundflowerデバイスの入力・出力それぞれについて、左・右そして主音量の設定を見ることができます。
      それらが全てフルに設定されたままかどうか見てみてください。フルだった場合はまたここにお書きください。
      ではでは。

  3. よっしー

    こんばんは!
    Kawausoさんのおっしゃった通り、Audio MIDI 設定.appを開き、確認したところSoundflwer(64ch)の入力の項目一つがフルになっておらず、一番右端までバーを動かしたところ直りました!
    拙い説明であったにもかかわらず色々と親身に教えてくださりありがとうございました。
    感謝の気持でいっぱいです…!ありがとうございました!!

  4. よっしー

    こんばんは!
    音声が右側に寄る原因がわかりましたので報告させていただきます。
    GarageBandのリアル音源トラックで、録音レベルを触ると音声が右に傾きました。
    自動レベルコントロールにするとバーに合わせて傾きました。なぜ連動しているのかはわかりませんが、一応参考までに報告させていただきました。


らじおぱ for iOS バージョン3.2.3リリース

in Ladiopa

リリースノート

  • お気に入り機能にBlockを追加し、該当した番組の文言が番組リストで表示されないようにしました。

  • インフォーメーション画面(iボタン)から不適切な番組の報告ページへ遷移できるようにしました。

  • 細かなバグ修正を行いました。