フォト
2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
無料ブログはココログ

« 衝動買いしたワイヤレスキボードが到着しました | トップページ | 機器Qi対応計画を遂行! »

2013年10月23日 (水)

PLANEX MZK-SA300D の調査その1

PLANEX製の無線アクセスポイント MZK-SA300D の調査をちびちびとやってます。
(関連:MZK-SA300D でtelnetログインできるようにする)

この製品MZK-SA300DはMZK-MF300D、MZK-EX300Dとハードウェア同じのため
ファームウェアの入れ替えができます。取りあえず一番高い値段のMZK-MF300Dの
ファームウェアに入れ替えました。

telnetで接続して中身を色々と調べてること、
製品的にはUSBポートは飾りで利用不能なのですが、ちゃんと生きています。
USBハブ経由でのUSBメモリのマウントも可能です。

コマンド的にも、lsusb、lsmod、insmod、rmmod、modprove が標準で使えるので
後からUSBディバイス用のモジュールを色々と追加できる可能性があります。

MZK-SA300の基本情報
# cat /proc/cpuinfo
system type            : RTL8196C
processor                : 0
cpu model               : 52481
BogoMIPS               : 388.30
tlb_entries               : 32
mips16 implemented  : yes

#cat /proc/version
Linux version 2.6.30.9 (root@Perish-Linux) (gcc version 3.4.6-1.3.6) #1 Wed Feb 20 15:30:23 CST 2013

# cat /proc/meminfo
MemTotal:          25672 kB
MemFree:            1328 kB
Buffers:            9204 kB
Cached:             5088 kB
SwapCached:            0 kB
Active:            11044 kB

# cat /etc/version
RTL8196C v1.0 --  三 2月 20 15:23:52 CST 2013
The SDK version is: Realtek SDK v2.5-r

ファームウェアの解析
公開しているアップデート用のファームウェアの中を見ると、
Realtek SDK で開発してる のにヘッター部がLAN-W300N/G8 と異なります。
SDKの標準のファームウェアのイメージ形式ではないようです。
2013/10/24 修正
Realtek SDK 標準 ファームウェアイメージ形式でした。

ただし、先頭の"COMDS"は見覚えがあります。LAN-W300N/G8の
設定値ファイル config.datと同じ形式です。

このデータを処理するWeb管理画面のWWWサーバー(goahead)のソースを
"COMDS"で検索をかけるとヒットしました。

# grep -n COMPCS *.h
apmib.h:1934:#define COMP_CS_SIGNATURE   "COMPCS"

apmib.h を見てみると、

これで、ヘッター部のレイアウトが分かりました。
ファームウェアの構造が解析できそうです。
今後、LAN-W300N/G8 と同じように解凍できるか調べます。

2013/10/24 追記
ファームウェアイメージの構造が分かりました。
3つのブロックに分かれています。
[設定値]
[カーネル]
[rootfs]

設定値以外はLAN-W300N/G8 と同じような各ブロックにシグニチャヘッダが付く形式
でした。ただしWebファイルのブロックはなくrootfs内に格納されていました。

rootfsはファームウェアのファイル内の0x0011d392からsize 0x001d2002(1908738バイト)
で格納されていることが判明。取り出してfileコマンドで調べてみると、

# file root.img
root.img: Squashfs filesystem, little endian, version 4.0, 1907412 bytes, 708 inodes, blocksize: 131072 bytes, created: Sun Jan  5 07:45:20 1902

Squashfs filesystem形式です。これなら解凍できますね。

# ~/bin/unsquashfs root.img
Parallel unsquashfs: Using 2 processors
667 inodes (691 blocks) to write
[=====================================================-] 691/691 100%
created 263 files
created 41 directories
created 107 symlinks
created 297 devices
created 0 fifos
取り出せました。

後は、LAN-W300N/G8 の時と同じようにファームウェアの解凍・圧縮ツールを
作成します。これでMZK-SA300D、MZK-MF300D、MZK-EX300Dが対応できると
思います。

ただし、MZK-SA300D はシリアルコンソール接続ができるのですが、
表示のみで入力ができません。コンソール周りの設定の調査が必要です。

2013/10/24 追記
ファームウェアの構造の詳細
各ブロックのヘッダー部のデータ
--------|-0--1--2--3--4--5--6--7--8--9--A--B--C--D--E--F-|---0123456789ABCDEF
00000000|43 4f 4d 50 44 53 00 07 00 00 1b b5 ff 36 47 30 |   COMPDS.....オ6G0
--------|------------------------------------------------|-------------------

--------|-0--1--2--3--4--5--6--7--8--9--A--B--C--D--E--F-|---0123456789ABCDEF
00001bc1|43 4f 4d 50 43 53 00 07 00 00 1b b3 ff 36 67 30 |   COMPCS.....ウ6g0
--------|------------------------------------------------|-------------------

--------|-0--1--2--3--4--5--6--7--8--9--A--B--C--D--E--F-|---0123456789ABCDEF
00003780|63 72 36 63 80 50 00 00 00 03 00 00 00 11 9c 02 |   cr6c.P........・
--------|------------------------------------------------|-------------------

--------|-0--1--2--3--4--5--6--7--8--9--A--B--C--D--E--F-|---0123456789ABCDEF
0011d392|72 36 63 72 00 2d 00 00 00 16 00 00 00 1d 20 02 |   r6cr.-........ .
--------|------------------------------------------------|-------------------

各ブロックのヘッダー部の詳細
[Compress config setting file ブロック1 00000000-00001bc0]
 [compress_mib_header (12バイト)]
   signature: 434f4d504453 (COMPDS)
   compRate : 0007 (7)
   compLen  : 00001bb5 (7093バイト)
 [データ(0000000C - 00001bc0) ]

[Compress config setting file ブロック2 00001bc1-0000377F]
 [compress_mib_header (12バイト)]
   signature: 434f4d504453 (COMPCS)
   compRate : 0007 (7)
   compLen  : 00001bb3 (7091バイト)
 [データ(00001bcd - 0000377F) ]

[Linux カーネル部 00003780 - 0011d391]
  [Firmware image file header(16バイト) ] 
    signature : cr6c 
    startAddr : 80500000
    burnAddr  : 00030000
    len       : 00119c02
  [データ(00003790 - 0011d391) 1154050バイト]

[rootfs 部 0011d392 -
  [Firmware image file header(16バイト) ] 
    signature : r6cr 
    startAddr : 002d0000
    burnAddr  : 00160000
    len       : 001d2002
  [データ(0011d3a2 - 002EF3A4) 1908738バイト]

« 衝動買いしたワイヤレスキボードが到着しました | トップページ | 機器Qi対応計画を遂行! »

MZK-SA300D」カテゴリの記事

パソコン周辺機器」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/58442326

この記事へのトラックバック一覧です: PLANEX MZK-SA300D の調査その1:

« 衝動買いしたワイヤレスキボードが到着しました | トップページ | 機器Qi対応計画を遂行! »