follow me

MZK-WNH(OpenWrt)に潜むEdimaxヘッダー20バイトの罠

MZK-WNHに潜んでいるEdimaxヘッダー20バイトの罠について少しメモをしておこうと思います。
メーカー製ルータにありがちな独自ヘッダー付加による、ファームの書換えロックですが、MZK-WNHはかなり変態仕様である。
管理画面のアプリ側でチェックして、Flashには独自ヘッダーを削った形で書き込む方がスマートに思えるのだが、MZK-WNHはEdimaxヘッダーも含めてFlashに書き込むという仕様で、かつ書き込まれているu-bootはこのヘッダーが必要という訳ではない仕様であるという不思議が存在している。
このEdimaxヘッダーの為に、どれほどのMZK-WNHが文鎮として扱われてしまったのだろうか。


MZK-WNH文鎮化生成機能として働いたEdimaxヘッダー20バイトは以下の様な20バイトの事をいいます。(正確にはu-bootは生きているし、WPSボタン押しながらの復旧はできるので文鎮ではないが)
CSYSから始まり、固定システム名称が入る、解析済みのヘッダー構造でOpenWrtでもfactoryイメージを生成できるものの、2015/08/29時点でのtrunkではヘッダーは生成するものの、rootfsの位置をヘッダ分ずらせずにrootfsマウントに失敗します。
        00010203 04050607 08090A0B 0C0D0E0F  0123456789ABCDEF
000000  43535953 00000C00 00000500 524E3532  CSYS........RN52
000010  06002C00                             ..,.            
意外にも気が付くのに時間を取られてしまったので、このヘッダーにより発生する問題と、調べた結果をメモしておきます。
この結果を元に綺麗なパッチが生まれる事があれば良いのですが。。。
他のデバイスへの影響が生まれない様なパッチが思い浮かばなかったので、とりあえず起動できる段階までのパッチを載せておこうかと思います。
follow me

DMM.make AKIBAが『初期費用無料キャンペーン!!』をはじめとる。

完全に見逃しとったけど、あのDMM.make AKIBAが『初期費用無料キャンペーン!!』をやってるじゃないですか。
さすがに高いなぁ。という感覚が結構いい感じになってるじゃないですかぁ。
Studioプラン、Baseプランどちらも対象になっているし、これはグッとくるじゃないですか。
DMM.make AKIBA、ニートなら確実に通ってるなぁ。

実際にはどれぐらいの利用があるんだろう。。。
個人的には、レーザー加工機とかライセンス取ってしまえば安いからありだなぁとか思うんですがねぇ。
価格リスト見てる感じだと、使いたいものはライセンス取ってしまえ的な感じがかなりあるなぁ。
しかし個人で月に何回利用するかと考えると少し悩む。
コミュニティー数人でなら俄然安いんだけどなぁ。
follow me

MZK-WNHでOpenWrt trunkを使ってみる

未だに安価に入手できるMZK-WNHでOpenWrt trunkを動かしてみました。
MZK-WNHはRT3050Fを使った11nルータです。
FreeBSDやNetBSDも動かせるとか噂のあるルータでもあるので、ハック用にはちょうど良いのではないでしょうか。ワンコインで入手できてしまう状態なので文鎮化も怖くないですね。

follow me

Cubieboardの常時起動をさせていたが1年を経過した模様

Allwinner A10搭載のARM板なのですが、Cubieboardというのを発売とほぼ同時に仕入れて愛用しています。
このBlogサイトのレプリケーション先として利用していた訳ですが、常時起動が1年を超えたみたいです。
MariaDBのレプリケーションと、httpで公開しているファイルをlsyncdを利用して常時同期をとっていた訳ですが、よく1年も耐えてくれました。
まぁ、1年前は停電で落ちたので安定した電源さえ与えてやれば案外もつものですね。
1年連続稼働ができる事が解ったので、そろそろ掃除してやろうと思います。
パッチどころか全部入れ替えレベルになりそうな予感。
Last login: Sun Jul 19 23:10:52 2015 from dell3137.srchack.org
                   :::::::
             :::::::::::::::::::
          :::::::::::::::::::::::::            OS: SlackwareARM 14.1
        ::::::::cllcccccllllllll::::::         Kernel: Linux 3.4.79
     :::::::::lc               dc:::::::       CPU: AllWinner A10@1GHz (Cortex-A8)
    ::::::::cl   clllccllll    oc:::::::::     RAM: 1024MB
   :::::::::o   lc::::::::co   oc::::::::::
  ::::::::::o    cccclc:::::clcc::::::::::::
  :::::::::::lc        cclccclc:::::::::::::
 ::::::::::::::lcclcc          lc::::::::::::
 ::::::::::cclcc:::::lccclc     oc:::::::::::
 ::::::::::o    l::::::::::l    lc:::::::::::
  :::::cll:o     clcllcccll     o:::::::::::
  :::::occ:o                  clc:::::::::::
   ::::ocl:ccslclccclclccclclc:::::::::::::
    :::oclcccccccccccccllllllllllllll:::::
     ::lcc1lcccccccccccccccccccccccco::::
       ::::::::::::::::::::::::::::::::
         ::::::::::::::::::::::::::::
            ::::::::::::::::::::::
                 ::::::::::::

root@cubie:~# uptime
 01:17:33 up 368 days,  1:55,  1 user,  load average: 0.03, 0.11, 0.13
root@cubie:~#
root@cubie:~# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 59.63
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : sun4i
Revision        : 0000
Serial          : 0000000000000000
root@cubie:~#
follow me

Xiaomi Mi WiFi miniはここまで堂々とやるかっ!さすがはXiaomi

Xiaomi Mi WiFi miniを仕入れましたよっ!
前々から気にはなっていたのですが、口が開かない財布を久々に開封。
相変わらずシンプルな箱です。
Xiaomiのこのシンプルさが僕は好きです。


実は今回入手したのには理由がある訳で。
ファームウェアが何も隠さないOpenWrtだという話を聞いたのでっ!
どこまでOpenWrtなのか愉しみに電源入れる前から開封記です。
follow me

これがほんとの『DANBOARD 無線LANルーター DB-WRT01』

『DANBOARD 無線LANルーター DB-WRT01』を少し弄りました。
OpwnWrtとかソフト的に弄ったといった話ではありません。
デザインを外箱と同じに変えてみました。
ほんと馬鹿ですね。
デカール作って、デカール貼って、乾かして、上塗りして、を1面づつ行う地道な作業。
いい勉強になりました。

follow me

DANBOARD 無線LANルーター DB-WRT01をOpenWrt化したよ

DANBOARD 無線LANルーター DB-WRT01が昨日発売されたよ。
OpenWrt動かしたよっ!
って事で、OpenWrt trunk用のパッチを公開します。
動作確認が一通り問題無ければ、OpenWrtにパッチ投稿を予定しています。

外箱もダンボーですよ。
これはなかなか嬉しい。
茶箱がいい感じになってます。

follow me

Maker Faire Tokyo 2015に行ってきましたよ。

2015/08/02に『Maker Faire Tokyo 2014』に行ってきましたよ。
MakeはMake: Tokyo Meetingの頃から行ってます。
纏まってきてしまった感がかなりあります。
カオス感は薄まってきたともいいますが。。。
行列は今年もすごかったのですが、去年よりはスムーズに入れた感じがします。
あと、通路が広くて窮屈な感じはしなかった。

follow me

ちびファイ3(MZK-DP150N)のOpenWrtは簡単に試せます。

ちびファイ3(MZK-DP150N)のOpenWrtは簡単に試せる状態になりました。
trunkにマージされたので、OpenWrtのスナップショットビルドでもバイナリが入手できる様になって、手軽に試せる様になってます。
https://downloads.openwrt.org/snapshots/trunk/ramips/rt305x/

純正ファームに戻す方法は今の処ないので、OpenWrtとして使い切るつもりで行って下さい。
純正ファームがバージョンアップ等でファイルが公開されたら戻せる様になるかもしれませんが。
BusyBox v1.23.2 (2015-07-23 06:18:42 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (Bleeding Edge, r46441)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
スナップショットビルドでは、不要なUSB関連パッケージが入っている等でFlash容量に余裕がありませんが、手軽に試せるのは嬉しい事です。
follow me

FON2601Eのu-bootヘッダは少し注意

FON2601Eのu-bootヘッダは少し注意が必要です。
FON2601EのベースはOpenWRTではなくSDKなのですが、そのSDKからもu-bootヘッダが異なる為、いつもの感覚でビルドしたイメージを受け付けてくれません。
Bad Header Checksumが発生します。
         #################################################################
         #################################################################
         ###################
done
Bytes transferred = 4420086 (4371f6 hex)
NetBootFileXferSize= 004371f6
raspi_read: from:30000 len:10000
Erasing SPI Flash...
raspi_erase: offs:30000 len:10000
.
Writing to SPI Flash...
raspi_write: to:30000 len:10000
.
done
Automatic boot of image at addr 0x80A00000 ...
## Booting image at 80a00000 ...
raspi_read: from:30000 len:10000
Erasing SPI Flash...
raspi_erase: offs:30000 len:10000
.
Writing to SPI Flash...
raspi_write: to:30000 len:10000
.
done
Bad Header Checksum
raspi_read: from:40028 len:6

Trying Eth0 (10/100-M)

 Waitting for RX_DMA_BUSY status Start... done


FON BootLoad start httpserver.....
ここで辞めてしまった人もいるかもしれないトラップですが、完全に独自形式を作成している訳ではなくヘッダーが少しいじられているだけなので回避可能です。