世界最大のwifiコミュニティを持つFONと言えば、超低価格ルータ「La Fonera(ラ・フォネラ)」が有名ですが。新しくUSBポートを備えた 新バージョン「La Fonera 2.0」が登場したようです。 USBポートにハードディスクやプリンタ、Webカメラを使用できるように なり、それらを使用するためのプラグインを開発することも可能になったようです。またハードウェアの面でもメインメモリの増加など 性能が向上しています。ただし、値段は5000円程度と以前より 高くなってしまいました。
これだけ性能が向上したFONルータを改造しないわけには行きません。以前購入したFONルータはそのままFONとして 活動してもらって、新しく購入したLa Fonera 2.0を改造してみましょう。
La Fonera 2.0は組み込み機器向けのLinuxディストリビューションである「OpenWrt」が組み込まれているようですが、 それをオリジナルのOpenWrtへと書き換えることで自由に使える小型Linux機へと変更させるのが今回の目的です。
OpenWrtをインストールするにはOpenWrtのファームウェアを公開するLinux PC、La Fonera 2.0とLinux PCを接続するRS-232Cケーブル の作成が必要です。
USBとシリアルを変換するには回路が必要で、市販のPCと携帯電話を接続している製品(UP-12Cや9-KE)を加工して使用します。
私はUP-12Cを購入し、そこらへんに落ちていたマイコンのソケットを利用して無理やり作りました。
シリアルケーブルで接続したLa Fonera 2.0とPCを通信するするにはminicomというソフトウェアを使用します。
インストールが終わったらminicomの設定を行います。
-sをつけることで設定モードで起動できるようです。私の場合はシリアルケーブルが「/dev/ttyUSB0」として認識していたのでそれに変更。 接続ポートが「/dev/tty8」とかになってると思われるので「/dev/ttyUSB0」に変更しないといけないのですが、どうにもこうにも 私の環境では元に戻ってしまいます。元に戻るとは「/dev/ttyUSB0」と変更しても開きなおすと「/dev/tty8」になっているという ことです。
似たような症状が無いかと検索してみるも、みなさん難なくこなしている様で、この部分は何か基礎的な知識がないとできないのかなぁと 悩んでいたらUbuntu Forums(英語)を見つけました。
症状が同じなのでとりあえずそちらの回答を頼りにやってみることに。
minirc.mdmcfgは「minicom -s」をした時に生成されるファイルです。それを下記のように書き換えます。(UP-12Cの例)
これで設定は完了です。日経Linuxとは起動方法が違い
と、mdmcfgを読み込んで起動する形になるようです。
La Fonera 2.0がOpenWrtのファームウェアをダウンロードするにはTFTPサーバが必要になります。下記の方法でインストールします。
TFTPサーバが使えるかの確認。
「udp 0 0 0.0.0.0:69 0.0.0.0:*」とレスポンスが来れば問題ないようです。
次にLa Fonera 2.0がダウンロードするファームウェアイメージをダウンロードします。 ファームウェアイメージはここからダウンロードできます。 必要なのは
の2つです。Firefox等を使ってダウンロードした後、「/var/lib/tftpboot」ディレクトリにコピーしたあと下記のようにパーミッションを 設定します。
TFTPの設定は以上で完了です。
TFTPの通信はシリアルケーブルではなくLANケーブルですのでネットワーク設定が必要です。Linux PC側のLANポートとLa Fonera 2.0の COMPUTERと書かれた黒色のLANポートをLANケーブルで接続します。
次にLinux PCの「システム→設定→ネットワーク接続」から「Auto eth0」(eth1,eth2など複数ある場合はLa Fonera 2.0と接続したものを 選択して下さい。)を選択して編集ボタンをクリック。「IPv4設定タブ」からアドレス「192.168.1.10」ネットマスク「255.255.255.0」を 設定して「適用」を押します。
これで設定はネットワークの設定は完了です。
インストール環境が整ったので実際にインストールを始めます。
「-s」をつけてminicomが指定したとおり通りになっているか確認してみるのも良いかもしれません。設定モードを抜けるには「minicomを終了」 ではなく「終了」を選択することで、minicomを起動した状態のまま設定モードから抜けれます。 minicom自体の終了は「Ctrl+A」を押した後、「q」です。
次にLa Fonera 2.0の電源を入れます。
minicom上にLa Fonera 2.0の起動メッセージが表示され
と表示されるので言われた通り、「Ctrl+C」を上の文字が表示されてから1秒以内に押してください。 失敗したらおもむろにLa Fonera 2.0の電源を切ってやりなおしましょう。
成功すればRedBoodコンソールが表示されます
まずはTFTPサーバと接続できるようにするため、La Fonera2.0のIPアドレスを設定、フラッシュメモリーを初期化 するコマンドを入力し、本当に初期化するか聞かれるので「y」を入力しエンターを押します。
TFTPサーバからLinuxカーネルイメージをダウンロード、フラッシュメモリーに書き込みします。
フラッシュメモリーの空き領域を調べ、ルートファイルシステムイメージをダウンロードします。
次にフラッシュメモリーの空き容量を調べた16進数の2つの値の差分を指定し、ルートファイルシステムイメージ を書き込みます。
16進数の差分の計算はWindowsの電卓でもできます。電卓のメニューから「表示→関数電卓」、「表示→16進数」にします。 あとは「A87E0000(後に表示された数値)-A80F0000(先に表示された数値)」と入力します。今回の値だと「6F0000」になりますので「0x006F0000」と入力します。
起動スクリプトを書き換えます。
最後にリセットします。
以上でインストールは完了です。
OpenWrtの初期IPアドレスは「192.168.1.1」です。OpenwWrtが起動したらTelnetが開始しているのでTelnet経由でアクセスできます。
接続できたらパスワードを設定しておきましょう。「passwd」コマンドを入力後、パスワードを2回入力します。
パスワードが設定できたのでTelnet接続を終了し、SSHで接続しなおしましょう。パスワード設定以降のTelnet接続の使用は不可能になります。
SSHで接続するホスト認証鍵を確認、管理者のパスワードを入力することでログインできます。
ホスト名やタイムゾーン等を設定します。OpenWrtはuciコマンドが利用できるので手軽に設定できます。
これらの設定はLa Fonera 2.0を再起動することによって反映されます。
となっていましたが、私の場合はルータがMACアドレスを判別してIPアドレスを割り当てるので静的である必要は無いので下記のようにしました。
また、wan側は「network.wan.***」で設定できます。
無線LANの設定はデフォルトで無効になっているので有効にします。このとき注意すべきは無線電波の出力値を日本の電波法に沿った 10mデシベル以下にしないといけません。
無線通信のセキュリティ方式に「WPA2-PSK」を暗号化アルゴリズムに「AES」を指定します。
これでwifiの設定が完了しました。
Windowsのネットワーク接続で確認してみる。きちんとありました。
日経Linuxの方には画面やキーボードを繋げて完全にPC化、サウンドデバイスを繋げてネットワーク音楽プレイヤーなど 様々な応用例が書かれています。USBポートがひとつついただけで可能性はここまで広がるんですね。
私はネットワークストレージを作ろうかと考えています。お手軽な小型Linux機、みなさんもいかがですか?