FLUCARD GEN 2とGEN 3の違い

firmwareアップデータのデータを確認すると、「FLUCARD GEN2」と「FLUCARD GEN3」というものが存在しているらしい。
「FLUCARD GEN1」は、黒いFLUCARDのことだと思われる。
「FLUCARD GEN3」が何をさすのかがよく分からない。16GBモデルのことなんだろうか?

それは、ひとまずおいておくとして、firmwareを見る限りでのFLUCARD GEN 2とFLUCARD GEN 3の違いを確認してみた。
busyboxバイナリ自体は同一の様に見える。
設定ファイルやWeb管理画面のテンプレートレベルでの差異は、以下の様になっていた。
GEN 3では、いろいろと音が鳴らないような感じになるのか?

diff -Nur initramfs/etc/udhcpd.conf initramfs3/etc/udhcpd.conf
--- initramfs/etc/udhcpd.conf   2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/etc/udhcpd.conf  2012-04-09 16:06:48.000000000 +0900
@@ -7,6 +7,6 @@
 #option  router  192.168.1.1
 option  dns     192.168.1.1
 #option  domain  FLUCARD
-option         search  192.168.1.1
+#option        search  192.168.1.1
 option  lease   86400 #1 day of seconds
 option  mtu     1500
diff -Nur initramfs/usr/bin/rcS1 initramfs3/usr/bin/rcS1
--- initramfs/usr/bin/rcS1      2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/usr/bin/rcS1     2012-04-09 16:06:48.000000000 +0900
@@ -1,3 +1,3 @@
-# alex remove telnetd
-# mount -t devpts /dev/pts
-# telnetd -l /bin/sh
+# alex comment out telnet  server
+#mount -t devpts /dev/pts
+#telnetd -l /bin/sh
diff -Nur initramfs/usr/bin/uap initramfs3/usr/bin/uap
--- initramfs/usr/bin/uap       2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/usr/bin/uap      2012-04-09 16:06:48.000000000 +0900
@@ -1,4 +1,5 @@
 #!/bin/sh
+buzzer -t 2
 echo "uAp start"
 # load wifi driver
 w1
@@ -6,10 +7,10 @@
 sleep 2

 ifconfig mlan0 down
-# improve the scan time
+
+#improve the scan time
 iwpriv mlan0 scancfg 2 3 1 110  100 100

-buzzer -t 2

 sleep 2

@@ -96,12 +97,12 @@
 fi


-#sleep 1
+sleep 1


 uaputl sys_cfg_channel $channel

-#sleep 1
+sleep 1

 # generate unique ssid; by default is from config file; however, if there
 # is another flucard with the same ssid, automatically add suffix _1, _2, etc.
diff -Nur initramfs/usr/bin/uap_sender initramfs3/usr/bin/uap_sender
--- initramfs/usr/bin/uap_sender        2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/usr/bin/uap_sender       2012-04-09 16:06:48.000000000 +0900
@@ -1,15 +1,14 @@
 #!/bin/sh
-
+buzzer -t 2
 echo "uAp for sender start"
 # load wifi driver
 w1

-sleep 2
+sleep 1

 ifconfig mlan0 down
-buzzer -t 2

-sleep 2
+#sleep 2



 #obtain the essid from config file
@@ -70,7 +69,7 @@
 # use separate config file from normal setting review
 uaputl sys_config /etc/uaputl_sender.conf

-sleep 1
+#sleep 1

 uaputl sys_cfg_11n 0
diff -Nur initramfs/usr/bin/w0 initramfs3/usr/bin/w0
--- initramfs/usr/bin/w0        2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/usr/bin/w0       2012-04-09 16:06:48.000000000 +0900
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 pkill httpd
 pkill dnsd
 pkill telnetd
@@ -8,3 +10,4 @@
 rmmod /lib/mlan.ko
 rmmod /lib/ka2000-sdio.ko

+
diff -Nur initramfs/usr/bin/w1 initramfs3/usr/bin/w1
--- initramfs/usr/bin/w1        2012-04-05 13:25:02.000000000 +0900
+++ initramfs3/usr/bin/w1       2012-04-09 16:06:48.000000000 +0900
@@ -1,8 +1,14 @@
+#!/bin/sh
 export FIRMWARE="/lib/firmware"
 insmod /lib/ka2000-sdio.ko
 insmod /lib/mlan.ko
 insmod /lib/sd8xxx.ko

+echo '' > /wifi_flag.txt
+
 #iwpriv mlan0 version
 #iwpriv mlan0 httxcfg 0x62
 #iwpriv mlan0 htcapinfo 0x1820000
+
+
+
diff -Nur initramfs/www/css/css_main.css initramfs3/www/css/css_main.css
--- initramfs/www/css/css_main.css      2012-04-05 13:25:01.000000000 +0900
+++ initramfs3/www/css/css_main.css     2012-04-09 16:06:46.000000000 +0900
@@ -29,7 +29,7 @@
 input.submit{  line-height: normal;    color: black;   font-size: 25px;        height: 18px;       width: 75px; font-weight: bold;}


-select  {vertical-align: middle; height: 50px; color: black;}
+select  {vertical-align: top;height: 10px      color: red;}
 select.list { width: 120px;}
 select.listL { width: 150px;}
 select.listS { width: 80px;}

Flucardのbuzzerコマンド

flucardは、まずスロットに入れた際、低い音で1回鳴り、おそらくOSが起動したタイミングで、ちょっと高い音で1回鳴ります。

また、autorun.shで実行時にbuzzerコマンドを呼び出し、音を鳴らしています。
autorun.shでは「buzzer -t 1」とか「buzzer -t 5」とかあるので、「-t」はtimeオプションで値は秒かな?と思っていました。

しかし、いろいろ実行してみた結果、以下のような感じでした。

-t 1 : てぃーらーろーれー(音が下がっていく
-t 2 : ちょっと高い音
-t 3 : てぃーれーろーらー(音が上がっていく
-t 4 : てぃーらーろーれー(-t 1よりちょっと高い音で、音が下がっていく
-t 5 : ブザーを止める
-t 6 : ぴー、ぴー(1個、音があがる)
-t 7 : ぴー、ぴー、ぴー(と短音リピート + コンソールに「WAITING_indicating」という出力
-t 8 : ぴー、ぴー、ぴー(と短音リピート
-t 9 : コンソールに「SHAKE_DETECT」という出力
-t 10以降は無い模様

「-t 5」で止めない限り、Flucardをスロットから外すまで鳴り続ける感じです。

使い方としては・・・

buzzer -t 3
sleep 2
buzzer -t 5

という感じで記述すると、音が上がっていく感じのブザーが2秒間鳴る、というところです。

Flucardでコマンドをいくつか実行してみた

とりあえずFlucardでコマンドをいくつか実行してみた。

firmwareアップデータに入っていたautorun.shを流用して以下の様なのを書いた。

#!/bin/sh
buzzer -t 2

df > /mnt/sd/df.txt
df -k > /mnt/sd/df-k.txt
mount > /mnt/sd/mount.txt
cat /proc/mounts > /mnt/sd/proc-mounts.txt
cat /proc/mount > /mnt/sd/proc-mount.txt
uname -a > /mnt/sd/uname-a.txt
cat /proc/cpuinfo > /mnt/sd/cpuinfo.txt
cat /proc/meminfo > /mnt/sd/meminfo.txt
ls -lR / > /mnt/sd/ls-lR.txt

sync
sleep 1

buzzer -t 1

sync
sleep 1

buzzer -t 5
mv /mnt/sd/autorun.sh /mnt/sd/autorun.sh.org

このファイルをFlucardに転送して、「しばらくおいておく」か、「1??_TREKフォルダ上の「設定・写真閲覧」の画像ファイルを消去する」か、「一度Flucardを抜いて、もう1度さす」と、autorun.shが実行される。

どうも定期的にautorun.shがないかを探しているんじゃないかなぁ、という感じがするが、まだそこら変をちゃんと調査していない。

で、autorun.shを実行した結果、後述の様なファイルを取得できた。

firmwareアップデート用のautorun.sh内では、/mnt/mtd/version.txtを更新し、しばらく待っているだけなように見えるが、これでなぜアップデートが完了するのか、という秘密を探さないとなぁ・・・というところ。

ちなみに、出荷時の/mnt/mtd/version.txtは以下の内容で、version3.txtは存在していなかった。

Product Name : FLUCARD GEN 2
Firmware Version : 3.24_100R
Build Date : 05 Aug 2011
Revision : 2
WiFi Model : Murata 11n

ちなみにアップデートすると、以下のようになる予定。

Product Name : FLUCARD GEN 2
Firmware Version : 3.65_100R
Build Date : 06 Mar 2012
Revision : 2
WiFi Model : Murata 11n

ちょっと気になるのはautorun.shの最後で「mv」でautorun.shの名前を変えているつもりなのに、されなかったところ。
アクセス権限関連でmvがちゃんと実行されていないような感じがする・・・

$ cat cpuinfo.txt
Processor	: ARM926EJ-S rev 5 (v5l)
BogoMIPS	: 200.29
Features	: swp half fastmult edsp java 
CPU implementer	: 0x41
CPU architecture: 5TEJ
CPU variant	: 0x0
CPU part	: 0x926
CPU revision	: 5

Hardware	: KeyASIC Ka2000 EVM
Revision	: 0000
Serial		: 0000000000000000
$
$ cat df.txt
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mtdblock0            1024       320       704  31% /mnt/mtd
/dev/mmcblk0p1         7774208      3392   7770816   0% /mnt/sd
$ cat mounts.txt
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/dev/mtdblock0 /mnt/mtd jffs2 rw,relatime 0 0
/dev/mmcblk0p1 /mnt/sd vfat rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1,shortname=winnt,errors=remount-ro 0 0
none /dev/pts devpts rw,relatime,mode=622 0 0
$
$ cat mount.txt
proc on /proc type proc (0)
sysfs on /sys type sysfs (0)
/dev/mtdblock0 on /mnt/mtd type jffs2 (0)
/dev/mmcblk0p1 on /mnt/sd type vfat (shortname=winnt)
none on /dev/pts type devpts (mode=0622)
$
$ cat meminfo.txt
MemTotal:          24856 kB
MemFree:           18256 kB
Buffers:             992 kB
Cached:             3620 kB
SwapCached:            0 kB
Active:             1720 kB
Inactive:           3136 kB
Active(anon):        244 kB
Inactive(anon):        0 kB
Active(file):       1476 kB
Inactive(file):     3136 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                32 kB
Writeback:             0 kB
AnonPages:           284 kB
Mapped:              440 kB
Shmem:                 0 kB
Slab:               1004 kB
SReclaimable:        364 kB
SUnreclaim:          640 kB
KernelStack:         200 kB
PageTables:           52 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       12428 kB
Committed_AS:       2932 kB
VmallocTotal:     833536 kB
VmallocUsed:         316 kB
VmallocChunk:     833188 kB
$

ls-lR.txtを貼ってみたら、長すぎたようで、ちゃんと表示してくれなかったので、省略・・・

Amazon Trek2000ストア
楽天 Trek2000ストア
送料無料! Wifi機能付きSDカード ...

送料無料! Wifi機能付きSDカード …
価格:4,700円(税込、送料込)

送料無料! Wifi機能付きSDカード Flucard16GB

送料無料! Wifi機能付きSDカード Flucard16GB
価格:9,890円(税込、送料込)

Flucard Proが届いた

とりあえず、CANON IXY DIGITAL 110ISに入れて、Galaxy Nexusから接続してみたところ、特に問題なくつながっている感じです。

無線機能を有効にした場合に、ビープ音が10回なるのがうるさいですね。
ここらへんは改造できそうなので、あとでやるとしましょう・・・

標準状態のSSID: Trek_FLUCARD_WiFi
ファームウェア
製品名: FLUCARD GEN2
ファームウェアバージョン: 3.24_100R
作成日付: 05 Aug 2011
レビジョン: 2

おそらく現行出荷版は全部このバージョンじゃないのかなぁ、と思われる。

最新版firmware内には、「FLUCARD GEN2」向けfirmwareと、「FLUCARD GEN3」向けfirmwareが入っていた。
GEN3は、16GBモデルのことを指しているんだろうか?
それとも、8GBモデルも2種類あるんだろうか?

で・・・firmwareを改造しようと思ったら、1点重大な点を発見・・・

フルサイズのSDHCカードを読める道具がない・・・
SDカードを読めるやつはあるけれど、それ以外は全部microSDHC用だった・・・
うっかりしてましたねぇ
どっかで入手してこないと改造ができない^^;;;

Flucard ProはARM Linux搭載でtelnetdを有効にできるなんておもしろそう!

2012/04/24追記: 「Flucardで出来ることのまとめ 2012/04/23版」とか「FlucardにFlashAir互換機能を搭載した 2012/04/19版」とか情報更新がありますので、以下を読んだあと、参照してみてください。
—————————————————-
最近、東芝FlashAirというのが評判です。
Eye-Fiと比較すると使いにくい、というような評判が大きかったのですが、正しい使い方、というものが判明してきたので、評判が上がってきたという感じです。

簡単にいうと
・Eye-Fi = 撮影したものを全部転送する思想
・FlashAir = 撮影したものから必要なものだけを取り出す思想

といったところです。

さて、実はFlashAirと同系統でFlucard Proというものがあります。
こちらはもう発売してから1年たつ先行品です。
日本ではプラネックス取り扱いで販売されています。(2012/10/24追記: 現在はプラネックスでの取り扱いが終了し、Trek2000の直販となっています)

Amazon Trek2000ストア
楽天 Trek2000ストア
送料無料! Wifi機能付きSDカード ...

送料無料! Wifi機能付きSDカード …
価格:4,700円(税込、送料込)

送料無料! Wifi機能付きSDカード Flucard16GB

送料無料! Wifi機能付きSDカード Flucard16GB
価格:9,890円(税込、送料込)

この製品、Webで評判を探すと不安定という話ばかりです。
なので、敬遠していたのですが、よくよく調べてみると先月(2012年3月)にfirmwareがアップデートしていました。

firmware.zipをダウンロードして中身を見てみると非常に興味深いことが・・・

$ unzip -l flucardpro-3.65_100R-firmware.zip
Archive:  flucardpro-3.65_100R-firmware.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
        0  03-06-12 16:16   firmware/
      199  10-19-11 15:14   firmware/autorun.sh
  2794656  12-31-11 23:15   firmware/Image
  2731040  02-01-12 15:02   firmware/image3
  2517541  03-06-12 15:36   firmware/initramfs.gz
  2527932  03-06-12 15:33   firmware/initramfs3.gz
   109400  10-15-11 23:34   firmware/program.bin
      120  03-06-12 15:35   firmware/version.txt
      115  03-06-12 15:32   firmware/version3.txt
 --------                   -------
 10681003                   9 files
$

ファイルの名付け方法が非常にLinuxっぽい。
ためしにautorun.shを開いてみると・・・

$ cat autorun.sh
#!/bin/sh
buzzer -t 2
cp /mnt/sd/version.txt /mnt/mtd/
cp /mnt/sd/version3.txt /mnt/mtd/

sync
sleep 1
rm /mnt/sd/version.txt
rm /mnt/sd/version3.txt
rm /mnt/sd/autorun.sh
sync
sleep 1

buzzer -t 5
$

間違い無くUNIX系統であることは確か。

「initramfs.gz」も非常にLinuxっぽい名前であるものの、そのままでは開けない。

$ file initramfs.gz
initramfs.gz: data
$ gzip -d initramfs.gz

gzip: initramfs.gz: not in gzip format
$

中身を確認すると先頭の8bytesに何らかしらのヘッダが付加されており、それ以降は通常のgzip形式である模様。

取り除き方はいろいろありますが、とりあえず標準コマンドのみでやってみた。

 $ ls -l initramfs*
-rw-rw-rw- 1 root root 2517541  3月  6 15:36 initramfs.gz
-rw-rw-rw- 1 root root 2527932  3月  6 15:33 initramfs3.gz
$ expr 2517541 - 8
2517533
$ cat initramfs.gz |tail -c 2517533 > initramfs-tmp.gz
$ ls -l initramfs*
-rw-r--r-- 1 root root 2517533  4月  5 13:22 initramfs-tmp.gz
-rw-rw-rw- 1 root root 2517541  3月  6 15:36 initramfs.gz
-rw-rw-rw- 1 root root 2527932  3月  6 15:33 initramfs3.gz
$ file initramfs-tmp.gz
initramfs-tmp.gz: gzip compressed data, from Unix, last modified: Tue Mar  6 16:29:52 2012
$ gzip -d initramfs-tmp.gz
$ ls -l initramfs*
-rw-r--r-- 1 root root 4515328  4月  5 13:22 initramfs-tmp
-rw-rw-rw- 1 root root 2517541  3月  6 15:36 initramfs.gz
-rw-rw-rw- 1 root root 2527932  3月  6 15:33 initramfs3.gz
$ file initramfs-tmp
initramfs-tmp: ASCII cpio archive (SVR4 with no CRC)
$ 

cpioのファイルができたので、普通に展開。

$ mkdir initramfs
$ cd initramfs
$ cat ../initramfs-tmp|cpio -ivd
.
dev
dev/ttyS1
dev/mmcblk0p1
dev/tty1
dev/mmc2
dev/mmc1
dev/gpio_i2c
dev/mtdblock1
dev/random
dev/null
dev/nvram
dev/mmcblk0p2
dev/spidev0
dev/mmc
dev/pty
dev/pty/m0
dev/pty/m1
dev/mmcblk0
dev/mtdblock0
dev/ka_sdsw
dev/sda
dev/spidev1
dev/spi0
dev/ka-pwm1
dev/root
dev/sdb
dev/ram0
dev/console
dev/tty0
dev/mtd0
dev/zero
dev/urandom
dev/ttyS0
dev/loop
dev/loop/2
dev/loop/0
dev/loop/3
dev/loop/1
dev/sda1
dev/tty
dev/ram1
dev/mtd1
dev/fb0
dev/ttyS
dev/ram
dev/ramdisk
dev/spidev0.0
dev/spi0.0
dev/ka-pwm
dev/tty2
dev/ptmx
dev/pts
dev/pts/5
dev/pts/2
dev/pts/0
dev/pts/3
dev/pts/4
dev/pts/1
lost+found
init
tmp
home
home/config.trek
bin
bin/dcraw
bin/logpage
bin/iwevent
bin/iwpriv
bin/production_test
bin/input
bin/lsdir
bin/thumbNail
bin/umount
bin/wifi_setup
bin/output
bin/rev
bin/reformime
bin/ip
bin/mlanconfig
bin/thumbRaw
bin/receiver
bin/mv
bin/iptunnel
bin/dnsdomainname
bin/iostat
bin/ipcalc
bin/date
bin/http_upload
bin/connect_router
bin/powertop
bin/ln
bin/settings_and_review
bin/printenv
bin/cat
bin/hello_trek
bin/upload
bin/ash
bin/status
bin/macaddr
bin/ls
bin/get_config
bin/fsync
bin/mlanevent
bin/playNote
bin/hostname
bin/mount
bin/rmdir
bin/ionice
bin/upload_sd
bin/dmesg
bin/iplink
bin/motion_app
bin/cp
bin/motion_cgi
bin/busybox
bin/lzop
bin/ping
bin/mlan2040coex
bin/photo
bin/vi
bin/iwconfig
bin/startup
bin/set_config
bin/kill
bin/iprule
bin/photolist
bin/pipe_progress
bin/ipaddr
bin/get_uap_ssid
bin/makemime
bin/scriptreplay
bin/htmlcgi
bin/more
bin/iwlist
bin/sender
bin/download
bin/df
bin/thumb_video
bin/sleep
bin/buzzer
bin/pwd
bin/replace_file_content
bin/upload_to_sd
bin/mpstat
bin/echo
bin/localization
bin/base64
bin/iproute
bin/datetime
bin/video
bin/rename
bin/mknod
bin/chmod
bin/mkdir
bin/run-parts
bin/power_up_app
bin/preview
bin/rm
bin/ifrename
bin/folderOpt
bin/flu_app
bin/download_multi
bin/sync
bin/dd
bin/wpa_supplicant
bin/sh
bin/serverUpload
bin/usleep
bin/netstat
bin/touch
bin/pwm
bin/ps
bin/uaputl
bin/connect_uap_sender
var
var/tmp
var/log
var/var
var/lib
var/lib/misc
var/lib/misc/udhcpd.lease
var/lock
var/run
lib
lib/gpio_i2c.ko
lib/ka2000-sdio.ko
lib/firmware
lib/firmware/sd8787_uapsta.bin
lib/ka2000-sdhc.ko
lib/sd8xxx.ko
lib/mlan.ko
sys
mnt
mnt/sd
mnt/mtd
www
www/sd
www/welcome.html
www/mtd
www/script
www/script/login.js
www/script/expand-collapse.js
www/script/input.js
www/script/control.js
www/script/menu.js
www/download.jar
www/image
www/image/browse.jpg
www/image/photos-chin.jpg
www/image/other-chin.jpg
www/image/save-jp.jpg
www/image/help.jpg
www/image/photos-jp_ori.jpg
www/image/download-grey-jp.jpg
www/image/download-grey.jpg
www/image/photos.jpg
www/image/download-grey-chin.jpg
www/image/download-jp.jpg
www/image/other.jpg
www/image/select-all-albums.jpg
www/image/select-all-chin.jpg
www/image/save-chin.jpg
www/image/clear-all-albums-chin.jpg
www/image/videos-chin.jpg
www/image/brought-to-you-by-trek.jpg
www/image/photos_ori.jpg
www/image/save.jpg
www/image/flucard-color1.jpg
www/image/quick-setup-jp.jpg
www/image/clear-all-albums.jpg
www/image/status-jp.jpg
www/image/select-all-albums-chin.jpg
www/image/folder.jpg
www/image/logo.jpg
www/image/logo-chin.jpg
www/image/select-all-albums-jp.jpg
www/image/upload-chin.jpg
www/image/back-jp.jpg
www/image/upload-grey-chin.jpg
www/image/status.jpg
www/image/photos-jp.jpg
www/image/status-chin.jpg
www/image/flucard-color.jpg
www/image/videos.jpg
www/image/select-all.jpg
www/image/next-chin.jpg
www/image/clear-all-albums-jp.jpg
www/image/clear-all-jp.jpg
www/image/next-jp.jpg
www/image/back.jpg
www/image/clear-all.jpg
www/image/blank.jpg
www/image/quick-setup-chin.jpg
www/image/quick-setup.jpg
www/image/select-all-jp.jpg
www/image/upload-grey.jpg
www/image/next.jpg
www/image/download.jpg
www/image/back-chin.jpg
www/image/upload-jp.jpg
www/image/videos-jp.jpg
www/image/upload-grey-jp.jpg
www/image/upload.jpg
www/image/file.jpg
www/image/clear-all-chin.jpg
www/image/help-page.jpg
www/image/other-jp.jpg
www/css
www/css/css_main.css
www/index.html
www/page
www/page/upload_sd.cfg
www/page/OkPage-chin.html
www/page/upload.htm
www/page/BadPage.html
www/page/upload.cfg
www/page/login-jp.htm
www/page/OkPage.html
www/page/quick_setup.htm
www/page/login-chin.htm
www/page/blank.htm
www/page/OkPage-jp.html
www/page/BadPage-jp.html
www/page/upload.log
www/page/login.htm
www/page/BadPage-chin.html
www/page/top.htm
www/page/menu.htm
www/page/upload_sd.htm
www/cgi-bin
www/cgi-bin/logpage
www/cgi-bin/input
www/cgi-bin/lsdir
www/cgi-bin/thumbNail
www/cgi-bin/output
www/cgi-bin/thumbRaw
www/cgi-bin/upload
www/cgi-bin/status
www/cgi-bin/playNote
www/cgi-bin/upload_sd
www/cgi-bin/motion_cgi
www/cgi-bin/photo
www/cgi-bin/photolist
www/cgi-bin/htmlcgi
www/cgi-bin/download
www/cgi-bin/thumb_video
www/cgi-bin/upload_to_sd
www/cgi-bin/datetime
www/cgi-bin/video
www/cgi-bin/rename
www/cgi-bin/preview
www/cgi-bin/folderOpt
www/cgi-bin/download_multi
www/downloadChin.jar
www/downloadJp.jar
usr
usr/bin
usr/bin/sha256sum
usr/bin/cmp
usr/bin/dirname
usr/bin/md5sum
usr/bin/microcom
usr/bin/lzopcat
usr/bin/arping
usr/bin/w3
usr/bin/seq
usr/bin/rcS7
usr/bin/fgconsole
usr/bin/rcS4
usr/bin/tftpd
usr/bin/telnet
usr/bin/env
usr/bin/volname
usr/bin/mount_sd
usr/bin/du
usr/bin/wall
usr/bin/uap
usr/bin/beep
usr/bin/w5
usr/bin/smemcap
usr/bin/lsusb
usr/bin/timeout
usr/bin/w2
usr/bin/udpsvd
usr/bin/xzcat
usr/bin/which
usr/bin/pmap
usr/bin/lspci
usr/bin/hexdump
usr/bin/xz
usr/bin/id
usr/bin/ifplugd
usr/bin/rcS2
usr/bin/dumpleases
usr/bin/pscan
usr/bin/refresh_sd
usr/bin/printf
usr/bin/ftpget
usr/bin/nslookup
usr/bin/tcpsvd
usr/bin/unlzop
usr/bin/flock
usr/bin/wget
usr/bin/clear
usr/bin/rcS6
usr/bin/w4
usr/bin/rcS1
usr/bin/renice
usr/bin/check_sta.sh
usr/bin/uap_sender
usr/bin/rcS5
usr/bin/pkill
usr/bin/mtdf
usr/bin/w2_receiver
usr/bin/copy_control_images_to_nor.sh
usr/bin/sha512sum
usr/bin/w1
usr/bin/w3es
usr/bin/showkey
usr/bin/mtdm
usr/bin/.copy_control_images_to_nor.sh.swp
usr/bin/ftpput
usr/bin/tftp
usr/bin/nc
usr/bin/softlink
usr/bin/unxz
usr/bin/top
usr/bin/autorun.sh
usr/bin/rcS3
usr/bin/restore_all_control_images.sh
usr/bin/readahead
usr/bin/uptime
usr/bin/w0
usr/bin/test_wireless1.sh
usr/bin/test_wireless2.sh
usr/bin/mt
usr/sbin
usr/sbin/setfont
usr/sbin/nbd-client
usr/sbin/dnsd
usr/sbin/flash_lock
usr/sbin/ntpd
usr/sbin/udhcpd
usr/sbin/httpd
usr/sbin/flash_unlock
usr/sbin/inetd
usr/sbin/ftpd
usr/sbin/telnetd
usr/sbin/flashcp
usr/sbin/flash_eraseall
usr/sbin/fakeidentd
usr/sbin/popmaildir
usr/sbin/dhcprelay
usr/sbin/rdev
root
sbin
sbin/tunctl
sbin/arp
sbin/ifdown
sbin/bootchartd
sbin/fdisk
sbin/mdev
sbin/udhcpc
sbin/vconfig
sbin/init
sbin/blockdev
sbin/route
sbin/mkdosfs
sbin/halt
sbin/acpid
sbin/sysctl
sbin/zcip
sbin/ifconfig
sbin/poweroff
sbin/devmem
sbin/blkid
sbin/mkfs.ext2
sbin/insmod
sbin/setconsole
sbin/modinfo
sbin/modprobe
sbin/fsck
sbin/reboot
sbin/depmod
sbin/rmmod
sbin/mke2fs
sbin/ifup
sbin/ifenslave
sbin/mkfs.vfat
sbin/nameif
sbin/start-stop-daemon
sbin/lsmod
proc
etc
etc/uaputl_sender.conf
etc/udhcpd.conf
etc/inittab
etc/uaputl.conf
etc/dnsd.conf
etc/dhcp.script
etc/wpa.conf
etc/init.d
etc/init.d/rcS.e
etc/init.d/rcS
etc/init.d/rcS.p
etc/udhcpd_uap.conf
etc/fstab
etc/wep.conf
linuxrc
8819 blocks
$

まぁ、良くあるinitramfsの中身、という感じ。
そして、wpa_supplicantとかbusyboxとか、ある意味おなじみのものがずらずらと・・・

/etc/inittabを見ると、/etc/init.d/rcS を起動している。
rcSからではいろいろ処理をやっているが、流れとしては以下の様な感じ。
・/usr/sbin/rcS1(=telnetd)を呼び出している。
・/usr/sbin/rcS2(=httpd)を呼び出している。
・SDカード上(=Flucard上)のautorun.shを実行。
・WiFiの設定をする

ただし、2012/03時点でのfirmwareでは、/usr/sbin/rcS1内のteletd起動はコメントアウトされているので、標準ではtelnetdが起動していない。

さて・・・ここまでの調査結果で言えることは・・・
・アップデータ自体に細工をすることは、おそらく可能
・initramfsを変更することでシステムファイルを置き換えることができる
・initramfsの書き換えに失敗して起動しなくなった場合の復旧方法は不明
・autorun.shは起動時に実行される。
・autorun.shは意図的に削除しない限り残るので毎回実行される
・ソフトを追加したいのであればautorun.shを使って処理をさせるのが一番

といったところか。

無線LANの接続性問題が出てきたりしたら、以下のようなバイナリを出力させれば置き換えも可能そうなので、なんとか対処しようがあるかなぁと楽観視。

$ file busybox wpa_supplicant
busybox:        ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
wpa_supplicant: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, stripped
$

そんなわけで、とりあえず、発注してみました。
届くのが楽しみです。

Amazon Trek2000ストア
楽天 Trek2000ストア
送料無料! Wifi機能付きSDカード ...

送料無料! Wifi機能付きSDカード …
価格:4,700円(税込、送料込)

送料無料! Wifi機能付きSDカード Flucard16GB

送料無料! Wifi機能付きSDカード Flucard16GB
価格:9,890円(税込、送料込)