Teclast X98 Air 3G Dual Boot (C9J6) のBIOSアップグレード及びAndroidのKKからLollipopへのアップグレード

2年ほど前に入手したTeclast X98 Air 3GOSがWindowsのみ、Androidのみ、デュアルブートである違い、あるいはメモリのサイズによってさまざまなモデルがあるのだが、自分のはC9J6(筐体裏面に刻印)。Android 4.4/Windows 8.1 with Bingのデュアルブート機でeMMCメモリのサイズは64GB。KitKatについてはそれのルート化済み。併用するBluetoothキーボードも入手した上で、一時期は外出先での仕事に活用していたものの、その後あまり使わなくなってしまっていた。ただし、無償アップグレード期間中にWindows 8.1 with BingからWindows 10にはアップグレードしていた。

このタブレットを今後どうするかちと悩むところではあるが、とりあえず公式のAndroid 5.0 Lollipop V2 Official ROMもリリースされていることだし、Lollipopにはアップグレードすることにした。より新しい版にしたい、という動機ももちろんあるが、Android 4.4側では一部のMVNOのSIMカードしか使えないという既知の問題が解決するのではないかという期待もあった(Windowsでは8.1のときも10のときも問題なく使えるので、ハードウェアの問題ではないことは明らかで、ソフトウェアを更新することで解消する可能性があった)。合わせて、機能が追加されたより新しいBIOSもインストールした方がよいのだろう。

…と考えたのだが結局情報が十分得られずリスクに見合わないと判断して、行わないことにした。以下はいつか再度試みる気になったときのための記録。

ところで、TecNightを名乗る人物が書いたチュートリアルがTechTabletsXDAに掲載されている。内容はほぼ同一と思われるが、例えばBIOSについてのチュートリアルは、XDAに記載されているものの方が若干新しい。なので後者を主に参照することにする。

タブレットにUSB無線ポータブルキーボードを繋いでBIOSメニューを操作

タブレットにUSB無線ポータブルキーボードを繋いでBIOSメニューを操作

XDAの “X98 Air 3G Android Development”のフォーラムにはカスタムROMがいくつか掲載されている。この中ではmirek190_rom_v7.0 – android Lollipopがもっともよさげではあるが、一部機種でカメラアプリが動作しないという報告がある。公式中華ROMから余計なアプリ等を除いた “X98 Air 3g Android 5.0 V2 Final Rom Tecknight Debloated, with Root” (TechTablets)というのもあるが、カメラアプリが正常に動くという主張に反して、動かないというユーザーの声もある。

しかしそれらよりさらに期待が持てるのが”Best Rom and Bios for X98 Air III 32GB M5C5 … | Teclast X98 Air 3G“。これは一部EU向けに販売されたX98 Air III M5C5に最初からインストールされていた、Teclast公式でありながら余計なソフトが含まれてないものを抽出したもの。上述のmirek190のROMよりベンチマークのスコアがよいという報告もある。ただ現時点で確立されているのは、パーティションの切り直し作業を含むAndroidのみのインストール方式で、自分のX98 Air 3GのようにWindows 10とのデュアルブート状態を維持しつつこのROMをインストールできるのかどうかはわからない。そもそもX98 Air 3Gのパーティションは奇々怪々な複雑な状況になっているので、自分がちゃんと理解した上で破綻を起こさずに処理できるとはとても思えない。

BIOSのアップグレードが必要かどうかについては、まず現在のBIOSのバージョンを知る必要があるが、 “how do you tell what BIOS you currently have? – TechTablets” によればUSBキーボードが必要という。しかしうちのデスクトップPC2台で使用しているのはPS/2接続のものだ。どうするか?仮想キーボード機能がBIOSにあるというのをどこかで読んだ気もするが、バージョンにも依存するであろうし確かなことはわからない。

Teclast X98 Air 3G (C9J6)のBIOSのmainメニュー

Teclast X98 Air 3G (C9J6)のBIOSのmainメニュー

Teclast X98 Air 3G (C9J6)のBIOSのbootメニュー

Teclast X98 Air 3G (C9J6)のBIOSのbootメニュー

「リビングPC」用に用意していた、USB無線ポータブルキーボードがあることを思い出して、これを利用することにした。Bluetoothキーボードなどと違い、システムには有線USBキーボードがつながっているようにみえるはずで使えるはずと踏んだらその通りだった。USB OTG機能を利用するわけだが、かつて購入していた同時本体充電も可能なUSBハブAcasis H027を利用。BIOSで使用するにはモード・ディップ・スイッチで3を選択する必要があるようだった。

これを見ると、mainメニューのBIOS InformationのProject Versionとして表示されている”tPad 1.05″というのがBIOSのバージョンのようだ。

実際にBIOSをバージョンアップするには “TTT-Update the BIOS on your X98 Air II/3G to the latest dual boot version (2.02) – Post #3” を参照したであろうが、重要なのはその過程でWindowsのプロダクト・キーを上書きしてしまうので、予めそれを抽出してセーブしておくことが必須であること。

Google Fitと同期する体重等の身体データを記録するAndroidアプリ

Weight Track Assistantは各種関連情報の入力をサポート(画面に全て表示されていない)

Weight Track Assistantは各種関連情報の入力をサポート

Monitor Your Weightで入力できる関連データの種類は少ない(画面に全ては表示されていない)

Monitor Your Weightで入力できる関連データの種類は少ない(画面に全ては表示されていない)

2年以上使っているソフトバンクの「スマート体組成計 301SI」はソフトバンクの専用サイトにデータを自動でアップロードする機能があるが、その回線契約を解約したため、それが利用できなくなった。 “みまもりが主目的の体重計” でそれに細工をすることで同様の機能を実現するか、ないしは同様の機能を持つ他のスマート体重計の購入も検討したが、結局どちらもやっていない。なので、手作業で301SIの示すデータを記録していくことにし、それためのAndroidアプリを探した。

要件は以下の通り:

  • ソフトバンクの「スマート体組成計 301SI」で得られる各種数値を極力多く保存。製造元のセイコーソリューションズの用意しているこの製品のウェブページを参照すると、以下のデータが得られることになっている。
    測定項目 体重: 0~136kg(ただし体重確定は5kg以上から)
    (5~100kg=100g単位、100~136kg=200g単位)
    体脂肪率:5.0~75.0%(0.1%単位)
    BMI:0~136.0(0.1単位)
    基礎代謝:100~2,999kcal(1kcal単位)
    内臓脂肪レベル:30レベル表示(0.5単位)
    身体年齢:18~80歳(1歳単位)
    骨レベル:10レベル表示(1レベル単位)
    骨格筋レベル:10レベル表示(1レベル単位)
    水分量:5~75%(1%単位)
  • Google Fitと連携。やはりGoogleのサービスにデータを残せるのは安心。
  • Google Fit自身の制限として体重しかGoogle Fitにデータとして残せないので、他の種のデータを含めてエクスポートするか、ないしは他のサービスに同期させる手段が提供されていること。
  • こういうことをやろうとする人は減量目的でやることが多いため、アプリが減量のプラン提供や食事の記録もできるようになっていることが多いが、自分にとってはそれは余計な機能なのでそういうのがない方がむしろ望ましい。

まず、Google Fit単体で体重の記録はできるがその他の数値の履歴は残せない。なので他の情報を残すための別のアプリが必要。

フィットネス/ウェルネス関係のアプリというと、既に使っているEndomondo – Running & Walkingは “weight tracker” ではなく “activity tracker” なので体重を記録するような機能はない。Pulsometer RRは主にheart rate zone trainingが目的であるため、これまた体重を記録するような機能はない。

Weight Track Assistantでは体重と関連データが一画面で入力できる

Weight Track Assistantでは体重と関連データが一画面で入力できる

Monitor Your Weightでは体重と関連データの入力が一気にできない

Monitor Your Weightでは体重と関連データの入力が一気にできない

Google Playで “Works with Google Fit” というタイトル下にGoogle Fitと連携するアプリのリストを提供してくれている。

Weight Track Assistant – BMI(以下WTA)Monitor Your Weight(以下MYW)どちらもGoogle Fitと連携する。

とりあえずはWTAを選択。ソフトバンクの体組成計で得られる数値の多く(全てではない)が入力できる。ただし、WTAでの入力は体重を除いて%単位になっているが、体組成計は必ずしも全てそうなってない(例えば、「30レベル表示(0.5単位)」)ので、換算が必要。MYWで入力できるのはずっと少ない。WTAでも入力できないのは、BMI(ただし体重と身長から自動計算できるものなので不要)、身体年齢(どれほど根拠があるのか怪しいのでそもそも重視してない)、骨格筋レベル(本来の用途とは違うのだろうが”Muscle”として入力することは可能)。スクリーンショットでは含めていないが、基礎代謝はBMR (Basic Metabolic Rate)として記録可能。BMRの単位はいろいろあるようだが、WTAでは特に単位を示していないことだし、301SIの示すKcal(正確にはKcal/日だろうが)単位での数値をそのまま入力すればよいだろう。

入力方法も、WTAは同じ画面で全て入力できるのに対し、MYWは体重とそれ以外に分けて入力しなくてはならないのが微妙に不便。

WTAのバックアップに感しては、Google Fitへのアップロードができる(ただし体重のみ)に加え、専用クラウドへのバックアップおよびそこからのリストアもサポートしている。記録に使う端末を替えるような際には有用だろう。その他、ローカルにバックアップファイルを作成することも可。その際Excelフォーマットを指定することも可。

WTAに関して気になるのは広告が表示されないようにするプラグインが512円すること。あと細かい点だが、履歴を削除できないのも困る(テスト目的に入力してみたデータなど)。

Monitor Your Weightは各種スマート体重計と連携する

Monitor Your Weightは各種スマート体重計と連携する

MYWは各種スマート体重計と連携するようであるので、そういうのを使用している人には便利かも。

携帯事業者各社のSIMロック解除手続きのまとめ

NTTドコモロゴ

NTTドコモロゴ

Auロゴ

Auロゴ

ソフトバンクロゴ

ソフトバンクロゴ

ワイモバイルロゴ

ワイモバイルロゴ

自分のための携帯事業者各社のSIMロック解除手続きのまとめ。

まずは公式の情報:

自分が現在所持する端末については以下のようになる:

以下全て契約時から時間が経っているにしろ(一部回線契約解約済み)、基本新品かそれに近いもので今後処分予定のもの。

タブレットホルダ

Huawei製Au Qua Tab 02 HWT31を入手した。台所で料理や洗い物をしながらそれでビデオなんかを視聴できるようホルダーを調達しようと考えた。

これを考える上で大事になってくるのがHWT31のサイズだが、スペック表によると約259 × 156 × 8.6mm。画面サイズは「約10.1インチ」。サイズ的に保持できないホルダが多い。また、既にカバー/ケースが取り付けられているので(これか?)、それを外さずに表面カバーを後ろに回した状態では、厚さが1.5cmを超える。ここをしっかり考慮しなかったのがちとまずかった。

後知恵としては以下のような一製品で完結する製品の方が結局楽な解になったんじゃないかと思う。どちらも、クランプについては、「厚さ15~55mmまでの天板に対応」としているので、厚さ的には問題なし。ただ、クランプの取り付け場所の関係上(後の写真で見て下さい)、接地面が十分広くないことを考慮する必要があっただろうとは思う。

しかし、こういう製品が存在することに最初気づかなかったため、違う方向に進んでしまった。方針として、

  1. 特にタブレットのホルダー(の一部)として利用されることを想定されてない、クランプとフレキシブルなアーム
  2. そのアームに取り付けられるタブレットホルダ

の2種類の製品の組み合わせで実現しようと考えた。

「11インチ フレキシブル マジックアーム+スーパークランプ」を使って、流しの上の棚板に固定させたクランプからアーム経由でスマホを保持。

「11インチ フレキシブル マジックアーム+スーパークランプ」を使って、流しの上の棚板に固定させたクランプからアーム経由でスマホを保持。

1番目のものとしてベストアングル! 11インチ フレキシブル マジックアーム+スーパークランプ(1/4インチ 3/8インチネジ 両対応)を選択し、1,100円+送料300円で購入。同じものがebay.comで安く手に入るのは知っていたが(一例)、今回はあまり待ちたくなかった。

これはカメラやマイクなどを固定するために使われることが想定されていて、カメラの三脚なんかでよく使われる標準の1/4インチサイズのネジで他の機器を接続できるようになっている(他に3/8インチネジにも対応)。

まずはこれを注文してみた。流しの上にある棚の左端にクランプで固定。本棚などと違い、棚板代わりにパイプが数本通してある。左端もフレームだけなので、クランプが締め付けられるだけの幅、厚さがあるか心配したが、大丈夫のよう。もともと用意していた1/4インチサイズのネジ対応で三脚なんかと併用することが想定されているスマホホルダに繋いでみると、スマホを保持することには問題なかった。

アームにタブレットホルダーを接続

アームにタブレットホルダーを接続

このアームがタブレットの重量に耐えられるかが大きな懸念材料だったので、まずはこの設置したアームの上にタブレットを載せてみた。自信がないがなんとか耐えられそう。

タブレットホルダの「爪」に十分深さがないため、タブレットにひっかかってない

タブレットホルダの「爪」に十分深さがないため、タブレットにひっかかってない。生活感溢れまくる写真で失礼。

そのアームに接続できるタブレットホルダーというと、類似製品は他にもあるが、サイズ的に適合するのはドリームスポット-スマートフォン~タブレットPC用アタッチメントホルダー(iPad ・iPad mini・Kindle・iPhone 6対応)ぐらい。これをYahoo!ショッピングで購入。価格が1,580円であることは同じだったが、Yahoo!ショッピングでは送料無料だったのと(アマゾンでは注文の総計が2,000円を超えなければ送料無料にならなかった)、たまたま使えるTポイントがあったのがYahoo!ショッピングでの買い物を決めた理由。

問題は対応するタブレット厚さが10mmまでだったこと。この点しっかり認識しておらず、写真にあるように、ケースを付けたままのタブレットの厚さ15mm強に対応できない。ここはぬかった。実際試してみると、写真にあるようにホルダの「爪」がタブレットの縁にかかってない。

この路線で行くのなら、「爪」の上に何か接着して、それがタブレットがひっかかるように工作しないといけないだろう。

OpenWrt導入済みルータにUSBオーディオアダプタを介してスピーカ接続

OpenWrt導入済みルータTP-Link TL-WR703NにUSBオーディオアダプタを介してスピーカ接続

OpenWrt導入済みルータTP-Link TL-WR703NにUSBオーディオアダプタを介してスピーカ接続。LEDが眩しい。眩しすぎる

OpenWrt導入済みルータにUSBオーディオアダプタを介してスピーカを接続した。

…といっても “USB Audio Support [OpenWrt Wiki]” に従い、86cで購入したAdroit 2016 New USB 2.0 Virtual 7.1 Channel 3D Audio Sound Card Adapter For PC Laptop WIN 7 For Mac S6095 drop shipping on Aliexpress.com | Alibaba Groupと百均で買ったスピーカと組み合わせただけ。なので出費は合計200円ほど。

上記Wikiページに説明してあることに追加でしたことといえば、aplayコマンドが使えるようalisa-utilsパッケージをインストールしたことくらい。オーディオ出力デバイスはこれしかないので、特にデバイスを指定する必要もなく、機器を接続して再起動した後は普通にraw PCM音声ファイルがaplayコマンドで出力できた。その他 “SoundcardTesting – AlsaProject” も参照。

アクティブ・スピーカではないし、ヘッドフォン出力なので音量は決して十分ではない。が、ふだん静かにしている部屋で使うのなら使い物になるだろう。TL-WR703Nを「USB端子を持つLinux機」と捉えれば何も珍しくなかろうが、本来ポータブル・ルータであったということを思い出すと、こうやって音声出力ができることは不思議な気がする。

こんなことをしたのも、人が家に来たときにそれが家中でわかるようにするため。玄関のIPカメラのアラーム入力端子に接続された「呼び鈴」が押されると、それが「アラームサーバー」(その実態は上記TL-WR703N)に通知され(この辺の話は “OpenWrt BB rc3上のuhttpdのCGIが思うように動作しない” 参照)、それがさらに自分のスマホにSSH接続し、バイブ及び音で知らせるようになっている。一応それで実用にはなっているが、他人だけがうちにいるときにはその人は気づきようがない。そういう状況でもその人に気づいてもらえるようにしたい、というのが本来の動機。ただ、一旦そういうシステムが成立すれば、いわばローカルPAシステムのようなものなので、その他何か面白い使い方ができるかもしれない。

そうすると、ネットワーク越しに音を再生できるPulseAudio [OpenWrt Wiki]の導入なんかも考えることになるのかも。

USBオーディオアダプタがどれくらい待機時に電力消費しているのか興味持って調べてみた。20mA(5V)くらい。

USBオーディオアダプタがどれくらい待機時に電力消費しているのか興味持って調べてみた。20mA(5V)くらい。

追記:USBオーディオアダプタがどれくらい待機時に電力消費しているのか興味持って調べてみた。20mA(5V)くらい。

 

シリアル, TTL, RS-232, UART…等々

今後整理するとは思えないのでこのまま投稿。


今更ながら、だが、ずっと気になってたので。

RS-232 vs. TTL Serial Communication – SparkFun Electronics“そうか、電圧の違いか
Serial Console [OpenWrt Wiki]

Serial communication – Wikipedia, the free encyclopedia
RS-232 – Wikipedia, the free encyclopedia
RS-485 – Wikipedia, the free encyclopedia
UART – Wikipedia” “Universal asynchronous receiver/transmitter – Wikipedia, the free encyclopedia

Serial Console [OpenWrt Wiki]

Lincomatic’s DIY Blog | electronics, 3d printing, hacking, etc

UARTによるデータ通信で気をつけること | hiro345

怪しいけどベンリなUSB-シリアル変換ツール | mixture-art@Q

Serial HOWTO
Serial Programming HOWTO

command line – How to connect to a serial port as simple as using SSH? – Unix & Linux Stack Exchange” “Screen User’s Manual

Fonera Simpl Hacking – Hot Tuna Labs“ではプルアップ抵抗を入れているが、”【Fonera FON2405e でカスタムファームウェア導入】:Royal Windows:So-net blog“では入れていない。しかしコメントでは入れているという人がいる。ピンヘッダの取り付けについては”【Fonera FON2305E で、カスタムファームウェア導入】:Royal Windows:So-net blog“の方に。

【FON2305e/2405e のカスタムファームウェアのカーネルコンパイル】:Royal Windows:So-net blog“ Hot Tune Labsに更に手を入れたファームウェア

今さら聞けないハンダ付けの仕方 – N.Kojima

プルアップ抵抗 – Wikipedia
プルアップ ‐ 通信用語の基礎知識

 

OpenWrt搭載デバイスに外部USBメモリで記憶容量を増やす

かつて携帯電話で使われていたであろうmicro SDカードをUSB 2.0アダプタを介してしつこく利用

かつて携帯電話で使われていたであろうmicro SDカードをUSB 2.0アダプタを介してしつこく利用

OpenWrt搭載デバイスに外部USBメモリで記憶容量を増やす方法。もちろん “Rootfs on External Storage (extroot) [OpenWrt Wiki]” を見れば必要な情報は全て得られるのだが、OpenWrtのWikiではコマンドラインでやるように指示があるところがWeb管理インタフェースLuCIで簡単に済ませられるようになっているところがある。ここでは極力LuCIでの操作で済ませ、コマンドラインでの操作は最低限にする手順を示す。OpenWrtのバージョンは15、すなわちChaos Calmerが前提。

USB micro SDカードアダプタを挿してもさほどでっぱりのないNexx WT3020F

USB micro SDカードアダプタを挿してもさほどでっぱりのないNexx WT3020F。テプラが大活躍。

一旦操作不能状態に陥っていながらなんとか復活させたポータブル無線LANルータNexx WT3020Fで実際に自分がやった手順だが、同じくOpenWrt化したバッファロー無線LANルーターWZR-HP-AG300Hでもつつがなく再現できるように記録しておくのがこの記事の最大の目的だったりする。WT3020Fについては、記憶容量追加はついでにやるのに過ぎない。以前携帯電話で使っていたのであろう128MBのmicro SDカードがあったので、2015年初頭に97¢で購入した(現在78¢)USB 2.0 micro SDカードアダプタを使って有効利用したいだけ。このような用途でもなければもはや容量わずか128MBのmicro SDカードなど利用しようがない。WZR-HP-AG300Hについては先日85¢で購入した(現在$1.04)同様のmicro SDカードアダプタ(ただしこちらはSDXCカードにも対応)を別の128MBのmicro SDカードと併用するつもり。現在特に計画はないが、WT3020Fに比較してよりパワフルなWZR-HP-AG300Hでは何か面白いことができるかもしれない。

前置きが長くなったが具体的手順は以下の通り。

  1. Extroot導入前の空き容量

    Extroot導入前の空き容量

    USBメモリはLinux機でext4などでフォーマット。今回はしなかったが、スワップを別途用意するならパーティションを切る。パーティションを切った場合以下の話のデバイスファイル名が変わってくるので注意。

  2. 後で容量が増えたことが簡単に確認できるよう、OpenWrt機のLuCIで System -> Software で空き容量を見ておく(図)。
  3. そのUSBメモリを挿した上で再起動したOpenWrt機にSSHでログインしコマンド・プロンプトで以下を実行(パーティションを切った場合は/dev/sdaではなく/dev/sda1などとなるので適宜読み替えること):
    # opkg update; opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras
    # mount /dev/sda /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt
  4. 再起動。
  5. LuCIにて System -> Mount Points のMount Pointsの項を見ると “UUID:….” という項目ができているはずなので、それの Edit ボタンを押して図にあるような変更をし、Save & Apply ボタンを押す。念のため再起動。

    Mount Entryの設定

    Mount Entryの設定

  6. LuCIで System -> Mount Points のページで /dev/sda が /overlay にマウントされていることを確認(図)。さらに、 System -> Software で空き容量が増えていることを確認(図)。
    マウントが意図したようにされていることを確認

    マウントが意図したようにされていることを確認

    Extroot導入後ストレージ容量が増えていることを確認

    Extroot導入後ストレージ容量が増えていることを確認

  7. 超大容量化に成功したこの自分の偉業にしばし感激に浸る。

以上。以前同様のことをしてそこそこ苦労した記憶があるが、LuCIで大半の作業ができるようになったこともあり、楽ちんになった。

スワップについては、今回WT3020では設定しなかった。WZR-HP-AG300Hについてはやっておく価値があるかも。

また、今回はパーティションを切らなかったが、後々考えてみると切って別途データ領域を用意するのは賢明なことだったかもしれない。OpenWrtはシステムのアップグレードをする際、何もしないと管理者による設定等は保存されない。それでも一応その方法はあるにはある。しかしopkgパッケージ・マネジャーを使用せずに、完全に自力でインストールしたアプリケーションについては、管理者にバックアップとリストアが全て委ねられる。ならば、そういったものはUSBメモリ上の専用領域にインストールするようにしておけば、OpenWrtのシステムアップグレード後、必要があればリンクを張り直すだけで回復できるはず。そのアプリケーションがOpenWrtの更新に耐えられることが条件。もっとも、今回のようにたかだか128MBしか容量がなければあまり意味がなかろう。もう少し大きな容量のものを使う際には意味を持ってくるであろう考慮点。

ちなみに、OpenWrt上のテキストエディタとしてEmacsクローンのzileを使っているが、ターミナル情報が不足して動作しない場合はterminfoパッケージをインストールすると使えるようになる。

先日購入したUSB 2.0 Micro SD/SDXCカードリーダ。85¢。以前のものよりさらに小型化されてる。なくしそう…。

先日購入したUSB 2.0 Micro SD/SDXCカードリーダ。85¢。以前のものよりさらに小型化されてる。なくしそう…。

追記: 上記の先日85¢で購入した(現在$1.04)同様のmicro SDカードアダプタ(ただしこちらはSDXCカードにも対応)が到着した。上のアダプタより更に小型化している。

ポータブル無線LANルータNexx WT3020Fを復活させた

ダイソーで購入した糸ハンダ

ダイソーで購入した糸ハンダ

うかつなことにポータブル無線LANルータNexx WT3020Fを使えなくしてしまったが、なんとか復活させた。

自力でシリアル接続がどうしてもできなかった。ダイソーで糸ハンダ(写真)を購入し、”ハンダ付け職人のはんだ付け講座 無料“なんかを参照しながら、父が残していったハンダゴテでハンダづけを試みるものも無残に失敗。ついに自力での解決を諦めて、人に助力を求め、単に導線を端子に押し付けるようしてもらっただけで、あっけないほど簡単にシリアル通信成立。 “Howto flash OpenWrt on Nexx WT3020” を参照してファームウェアの書き換えに成功。

さて、ブートローダーをU-BootからBreedなるものに置き換えておけば今後再度しくじったときのリカバリーが簡単だというので、それもインストールしようとした。”Nexx WT3020 [OpenWrt Wiki]“に説明があるが、mtd_writeコマンドが見当たらない。mtd OpenWrt packageで代用できるだろうと思ったが、

root@OpenWrt:/tmp# mtd unlock mtd0
Could not open mtd device: mtd0
Could not open mtd device: mtd0

…となってうまくいかない。そういえば、上記Wikiでも”Uboot can be flashed like this (only if mtd0 is writable, on stock it’s possible, on openwrt mtd0 is usually read-only in dts)”と但し書きがあるので、それが理由なのだろう。

Howto flash OpenWrt on Nexx WT3020” でU-Bootからブートローダーの書き換えができることはわかっていたので、再度シリアル接続をして、U-Bootに提示されるメニューで9を選び以下をインストール。

http://breed.hackpascal.net/breed-mt7620-reset1.bin

Breedブートローダーについては英語や日本語でのまとまった説明文書がないのが残念だが、以下の文章が参考になる。

利用者としては、リセットボタンを押しながらWT3020を起動すると

  • telnet 192.168.1.1、ないし
  • ブラウザでhttp://192.168.1.1をアクセス

でBreedにアクセスでき、そこで必要ならファームウェアの書き換えなどができる、というところが非常にありがたい。つまり、今後OpenWrtの設定でしくじっても、殻割りしてシリアル接続する必要はもうない、ということ。ちなみに、この際LEDが消灯状態になるので動作しているのか不安になるが、ちゃんと動作している。

オープンソースソフトウェアではないので、中で悪さをしていないかは心配だが…。

追記:Nexx WT3020 U-boot mod? (Page 1) — Hardware Hacking — OpenWrt“を見るとBreedブートローダーなどについてよくわかる。どうも他の人のOSSコードをクレジットもなくぱちって作られたようだ、ということや、そのくせ自分のコードはオープンにしていない、ということは気になる。それでもBreedブートローダーを利用するのであれば、Nexx WT3020購入後、ストックファームウェアの状態でBreedブートローダーをインストールし(この時点ではmtd0に書込み可能なので)、次にそれを利用してOpenWrtをインストールする、というのがもっとも楽ちんな手順なようだ。