WS011sh(Linux)をUSB Ethernet/RNDISでネットにつなぐ。

WS011sh(Linux)をネットにつなぐ方法についてメモ。
android(WS011sh)をネットにつなぐために同じ方法を利用しますが、ややこしいのとあまりに長い説明となるため別記事にまとめます。


無線LANやWSIM(PHS)がまだ動いていないので、他に使える方法を調べてみたところ、USB-LANアダプターとEthernet over USB(Linux USB Ethernet/RNDIS Gadget)方式が残った。

USB-LANは実績のあるものが、生産中止で入手しずらいので"Ethernet over USB"を利用することにした。

Ethernet over USB ... the USB peripheral will enumerate to the host as an Ethernet device, using the "usbnet" driver with Linux hosts or Microsoft's RNDIS driver with Windows hosts.

Linux-USB Gadget API Framework

  • ネットワーク構成イメージ

  • 概要(011SHでのみ試験済み)

PCをNAT箱の様にして通信を中継してもらいアドエスをネットにつなぐイメージです。

設定は主にアドエス側でコンソールを立ち上げ、コマンドラインで行います。

一応注意書き:最悪端末を壊す可能性があるのでわかる方のみ自己責任でお願いします。

  • 手順
    • LinuxLoader側のConfigファイル"LinuxLoader.parm"のCommandLineを修正する。
CommandLine= fbcon=rotate:3
    • ドライバ用Linux.infをダウンロードする。*2
    • PCとW-zero3をUSBケーブルで接続する。
    • LinuxLoaderを使ってKernelをBootしLoginする。
    • PC側でデバイス検出が始まる(Linux USB Ethernet/RNDIS Gadget)ので、手動検出でinfを指定する。
    • PC側でIPの設定を行う。

この時、ローカル接続Y(WAN側)でインターネット接続の共有(ICS)を有効にします。(参考:「Neo 1973 and Windows」の# 2.1 Option 1, using Windows ICS)

IP設定(PC側)
	ローカル接続X(USB/Ether)192.168.0.1
	ローカル接続Y(WAN側)	192.168.1.2
	GW(WAN)	  	    192.168.1.1
	DNS			192.168.1.1
    • Linux側でIPの設定を行う。

W-zero3

	#ifconfig usb0 192.168.0.2
	#route add default gw 192.168.0.1
	#vi /etc/resolv.conf 

resolv.confに"nameserver 192.168.1.1"を追記する。

    • 動作確認

あとはPingを打ってみてリプレイが戻ってくれば成功です。

#ping google.com(リプライを確認する)

ICMPリプライが戻ってくればOK!

次は"Android(W-zero3)とadb接続"に続く...ハズ。

参考:
Neo 1973 and Windows - Openmoko

*1:Vista等ではICSの設定手順も変わると思いますが、当方Vistaを持っていないので詳細はわかりかねます。

*2:http://beagleboard.googlecode.com/files/linux.inf