PQI Air Cardにfirmwareアップデータが出たらしい。
Air Cardファームウェア V147ということで、ダウンロードしてばらしてみた。
手法は「Flucard ProはARM Linux搭載でtelnetdを有効にできるなんておもしろそう!」の時と同じ。
$ ls -l 合計 6296 -rwxrwxrwx 1 osakana user 2664833 12月 14 15:40 Image3 drwxrwxr-x 2 osakana user 4096 1月 8 17:23 __MACOSX -rwxrwxrwx 1 osakana user 1024 12月 17 14:32 autoload.tbl -rwxrwxrwx 1 osakana user 2564665 12月 20 14:26 initramfs3.gz -rwxrwxrwx 1 osakana user 1048576 12月 17 14:57 mtd_jffs2.bin -rwxrwxrwx 1 osakana user 113920 12月 17 14:32 program.bin $
まずは、initramfs3.gzの分解。
ヘッダはFlucardと同じ「KAGZ」
$ expr 2564665 - 8 2564657 $ cat initramfs3.gz |tail -c 2564657 > initramfs3-tmp.gz $ file initramfs3-tmp.gz initramfs3-tmp.gz: gzip compressed data, from Unix, last modified: Thu Dec 20 14:26:43 2012 $ gzip -dc initramfs3-tmp.gz > initramfs3-tmp $ file initramfs3-tmp initramfs3-tmp: ASCII cpio archive (SVR4 with no CRC) $
mtd_jffs2.binの中身をstringsで見る限りでは、Flucardの時の「/dev/mtdblock0(/mnt/mtd)」にあった設定ファイルの元が含まれてるだけっぽいです。
program.binは、「U-Boot 2010.06-rc1」という文字列があったりするので、ブート部分っぽいですね。
・・・で・・・久々に、Flucardのサポートページに行ったわけなんですよ。
したら、12月にver 3.70なんてfirmwareが出てたんですね^^;;;;
で、こっちも展開してみると、program.binがいたりするわけで・・・
# ls -l -rw-rw-r-- 1 root root 199 Nov 27 15:51 autorun.sh -rw-rw-r-- 1 root root 2794656 Dec 13 11:30 Image -rw-rw-r-- 1 root root 2853952 Dec 13 10:53 image3 -rw-rw-r-- 1 root root 2619629 Dec 13 11:28 initramfs3.gz -rw-rw-r-- 1 root root 2609006 Dec 13 11:33 initramfs.gz -rw-rw-r-- 1 root root 109400 Nov 27 15:51 program.bin -rw-rw-r-- 1 root root 115 Dec 13 11:28 version3.txt -rw-rw-r-- 1 root root 120 Dec 13 11:33 version.txt #
というか、Flucard Pro GEN3と、PQI Air Cardは同じものっぽいですよね。
initramfs3.gzだし、program.binあるしで。
program.binをstringsレベルで簡単に比較すると、U-Bootのバージョンが変わったので変更になったのかな?という雰囲気と
読み込むファイルが違っていることによる違い(-がFlucard、+がAir Card)とか、アドレスとかが違う感じです。
fatload mmc 1 100000 preprog_chk.bin; sf erase 100000 1000; sf write 100000 100000 400; sf read 30000 100000 400; sf erase 100000 1000 -sf read e00000 3000 20000; fatload mmc 1 e00200 u-boot.bin; sf erase 3000 20000; sf wr ite e00000 3000 20000 +sf read 1000 0 1000; md 1000 10; fatload mmc 1 1000 autoload.tbl; sf erase 0 1000; sf w rite 1000 0 1000; sf read 3000 0 1000; md 3000 10 +sf read 1000 0 1000; md 1000 10; mw 1004 00000000; sf erase 0 1000; sf write 1000 0 100 0; sf read 3000 0 1000; md 3000 10 +sf read 1000 0 1000; md 1000 10; mw 1004 00000300; sf erase 0 1000; sf write 1000 0 100 0; sf read 3000 0 1000; md 3000 10 fatload mmc 1 208000 image3; sf erase 200000 300000; sf write 1ffc00 200000 300000 fatload mmc 1 208000 image; sf erase 200000 300000; sf write 1ffc00 200000 300000 fatload mmc 1 500000 initramfs3.gz; sf erase 500000 300000; sf write 4ffc00 500000 3000 00 fatload mmc 1 500000 initramfs.gz; sf erase 500000 300000; sf write 4ffc00 500000 30000 0 fatload mmc 1 d00000 mtd_jffs2.bin; sf erase 80000 100000; sf write d00000 80000 100000 <略> program.bin go e00000 preprog_chk.bin pre-program check passed. ****** Program Mode (GEN%d) ****** sf probe 0; mmc init -u-boot.bin -found u-boot.bin, start program. +autoload.tbl +found autoload.tbl, start program. +sf read 1000 0 400 +delchain.dis +disable delay chain +enable delay chain image3 found image3, start program. image3 oversize, size 0x%x > 0x300000 <略> initrd=0x800000,4M misc_args=mem=30M set_bootargs=setenv bootargs ${console_args} ${root_args} ${misc_args} -boot_sd=run set_bootargs; mmc init; fatload mmc 1 208000 image2632; fatload mmc 1 60000 0 initramfs.gz; go 208000 +boot_sd=run set_bootargs; mmc init; fatload mmc 1 208000 image3; fatload mmc 1 500000 i nitramfs3.gz; go 208000 bootf=mmc init; go 0x208000 bootcmd=run set_bootargs; run bootf
・・・・あのさぁ・・・PQI Air Cardのfirmware 作った人さぁ・・・
「etc/init.d/rcS~」ってファイルとか残したまま配布とかやめようよ・・・
emacsで編集してんの、そのまんまかよ!
あと・・・
$ cat ./initramfs3/usr/bin/copy_control_images_to_nor.sh cp /mnt/sd/DCIM/123_TREK/config.JPG /mnt/mtd/config cp /mnt/sd/DCIM/123_TREK/receiver_control.JPG /mnt/mtd/config cp /mnt/sd/DCIM/123_TREK/sender_control.JPG /mnt/mtd/config cp /mnt/sd/DCIM/123_TREK/upload.JPG /mnt/mtd/config $
なんて形で、「TREK」なんて書かれるんですが、大丈夫なんでしょうか?