バッファローが発売している「おもいでばこ」
初代モデルのPD-100が、時々安く売ってるのでちょっと気にはなっていた。
製品ラインナップを見ると、3種類、PD-100、PD-100S、PD-100S-Lあるが、外形、消費電力などは同じで、容量の違いが大きな違いのように見受けられる。
しかし、firmwareのアップデータを見ると、「PD-100」と「PD-100S/PD-100S-L」とで異なっている。
PD-100:最新は ver 1.21
PD-100S/PD-100S-L:最新は ver 1.10
別物であるのか?
気になったのでダウンロードしてみた。
zipを展開していくと、中から現れたのはsquashfsのファイル。
PD-100もPD-100Sも、根本構造は同じで、基本Android 2.2。
そう、Android。
「連携するアプリがAndroid」ではなく、「おもいでばこ自体がAndroid BOX」なのです。
/system/build.prop なんて、どちらも同一。
# begin build properties # autogenerated by buildinfo.sh ro.build.id=MASTER ro.build.display.id=berlin-eng 2.2 MASTER eng.root.20110715.130354 test-keys ro.build.version.incremental=eng.root.20110715.130354 ro.build.version.sdk=8 ro.build.version.codename=REL ro.build.version.release=2.2 ro.build.date=2011年 7月 15日 金曜日 13:04:16 JST ro.build.date.utc=1310702656 ro.build.type=eng ro.build.user=root ro.build.host=y-maruyam-desktop ro.build.tags=test-keys ro.product.model=berlin ro.product.brand=marvell ro.product.name=berlin ro.product.device=berlin ro.product.board= ro.product.cpu.abi=armeabi ro.product.manufacturer=unknown ro.product.locale.language=mdpi ro.product.locale.region= ro.wifi.channels= ro.board.platform= # ro.build.product is obsolete; use ro.product.device ro.build.product=berlin # Do not try to parse ro.build.description or .fingerprint ro.build.description=berlin-eng 2.2 MASTER eng.root.20110715.130354 test-keys ro.build.fingerprint=marvell/berlin/berlin/:2.2/MASTER/eng.root.20110715.130354:eng/test-keys # end build properties # # ADDITIONAL_BUILD_PROPERTIES # ro.config.notification_sound=OnTheHunt.ogg ro.config.alarm_alert=Alarm_Classic.ogg ro.kernel.android.checkjni=1 ro.setupwizard.mode=OPTIONAL net.bt.name=Android dalvik.vm.stack-trace-file=/data/anr/traces.txt #changed by maru dalvik.vm.heapsize=64m
/init あたりは微妙に差があるが、おそらくは、PD-100Sでは無線LAN USBアダプタが添付されている、という事情で、読み込むようにしたのだと思われる変更点である。
-#insmod /system/lib/modules/rtutil5370sta.ko -#insmod /system/lib/modules/rt5370sta.ko -#insmod /system/lib/modules/rtnet5370sta.ko +insmod /system/lib/modules/rtutil5572sta.ko +insmod /system/lib/modules/rt5572sta.ko +insmod /system/lib/modules/rtnet5572sta.ko +#insmod /system/lib/modules/log/rtutil5572sta.ko +#insmod /system/lib/modules/log/rt5572sta.ko +#insmod /system/lib/modules/log/rtnet5572sta.ko + +insmod /lib/ufsd.ko
PD-100にも/system/lib/modulesに上記ファイルはある。
(/system/lib/modules/log/ は無い)
Androidなら搭載アプリに差があるのか、とsystem/app以下を見てみたが、たいした差はない。
# ls -l pd100-firmware/system/app/ 合計 67760 -rw-rw-rw- 1 1000 root 143193 7月 13 2012 AccountAndSyncSettings.apk -rw-rw-rw- 1 1000 root 18781 7月 13 2012 ApplicationsProvider.apk -rw-rw-rw- 1 1000 root 65570 7月 13 2012 CertInstaller.apk -rw-rw-rw- 1 1000 root 11747 7月 13 2012 DefaultContainerService.apk -rw-rw-rw- 1 1000 root 106641 7月 13 2012 Development.apk -rw-rw-rw- 1 1000 root 74477 7月 13 2012 DownloadProvider.apk -rw-rw-rw- 1 1000 root 97041 7月 13 2012 FileManager.apk -rwxrw-rw- 1 1000 root 16243 7月 13 2012 GetIpAddress.apk -rw-rw-rw- 1 1000 root 12295 7月 13 2012 HTMLViewer.apk -rw-rw-rw- 1 1000 root 393634 7月 13 2012 MarvellScreenController.apk -rw-rw-rw- 1 1000 root 49797 7月 13 2012 MediaProvider.apk -rw-r--r-- 1 root root 58160522 9月 21 2012 Omoject.apk -rwxr--r-- 1 root root 6929700 9月 21 2012 OpenWnnControlPanelJAJP.apk -rw-rw-rw- 1 1000 root 74211 7月 13 2012 PackageInstaller.apk -rw-rw-rw- 1 1000 root 3637 7月 13 2012 Provision.apk -rw-rw-rw- 1 1000 root 2531112 7月 13 2012 Settings.apk -rw-rw-rw- 1 1000 root 38162 7月 13 2012 SettingsProvider.apk -rw-rw-rw- 1 1000 root 10149 7月 13 2012 UserDictionaryProvider.apk -rw-rw-rw- 1 1000 root 19650 7月 13 2012 VideoPlayer.apk -rwxr--r-- 1 1000 1000 474474 9月 19 2012 VideoTester.apk # ls -l pd100s-firmware/system/app/ 合計 121388 -rw-rw-rw- 1 1000 root 143193 12月 3 11:39 AccountAndSyncSettings.apk -rw-rw-rw- 1 1000 root 18781 12月 3 11:39 ApplicationsProvider.apk -rwxrw-rw- 1 1000 root 2325019 12月 3 11:39 CanonEPP220.apk -rw-rw-rw- 1 1000 root 65570 12月 3 11:39 CertInstaller.apk -rw-rw-rw- 1 1000 root 11747 12月 3 11:39 DefaultContainerService.apk -rw-rw-rw- 1 1000 root 106641 12月 3 11:39 Development.apk -rw-rw-rw- 1 1000 root 74477 12月 3 11:39 DownloadProvider.apk -rw-rw-rw- 1 1000 root 97041 12月 3 11:39 FileManager.apk -rwxrw-rw- 1 1000 root 16243 12月 3 11:39 GetIpAddress.apk -rw-rw-rw- 1 1000 root 12295 12月 3 11:39 HTMLViewer.apk -rw-rw-rw- 1 1000 root 393634 12月 3 11:39 MarvellScreenController.apk -rw-rw-rw- 1 1000 root 49797 12月 3 11:39 MediaProvider.apk -rw-r--r-- 1 root root 110694637 3月 14 15:11 Omoject-release.apk -rw-r--r-- 1 root root 6923585 3月 14 15:11 OpenWnnControlPanelJAJP-release.apk -rw-rw-rw- 1 1000 root 74211 12月 3 11:39 PackageInstaller.apk -rw-rw-rw- 1 1000 root 3637 12月 3 11:39 Provision.apk -rw-rw-rw- 1 1000 root 2531112 12月 3 11:39 Settings.apk -rw-rw-rw- 1 1000 root 38162 12月 3 11:39 SettingsProvider.apk -rw-rw-rw- 1 1000 root 10149 12月 3 11:39 UserDictionaryProvider.apk -rw-rw-rw- 1 1000 root 19650 12月 3 11:39 VideoPlayer.apk -rwxrw-rw- 1 1000 root 474474 12月 3 11:39 VideoTester.apk #
どんなフォントを収録してるのかな・・・
# ls -l pd100s-firmware/system/fonts/ 合計 20052 -rw-rw-rw- 1 1000 root 6880 12月 3 11:39 Clockopia.ttf -rw-rw-rw- 1 1000 root 191032 12月 3 11:39 DroidSans-Bold.ttf -rw-rw-rw- 1 1000 root 190044 12月 3 11:39 DroidSans.ttf -rw-rw-rw- 1 1000 root 35908 12月 3 11:39 DroidSansArabic.ttf -rw-rw-rw- 1 1000 root 3640264 12月 3 11:39 DroidSansFallback.ttf -rw-rw-rw- 1 1000 root 23076 12月 3 11:39 DroidSansHebrew.ttf -rwxrw-rw- 1 1000 root 6234084 12月 3 11:39 DroidSansJapanese.ttf -rw-rw-rw- 1 1000 root 117072 12月 3 11:39 DroidSansMono.ttf -rw-rw-rw- 1 1000 root 36028 12月 3 11:39 DroidSansThai.ttf -rw-rw-rw- 1 1000 root 184836 12月 3 11:39 DroidSerif-Bold.ttf -rw-rw-rw- 1 1000 root 189916 12月 3 11:39 DroidSerif-BoldItalic.ttf -rw-rw-rw- 1 1000 root 177176 12月 3 11:39 DroidSerif-Italic.ttf -rw-rw-rw- 1 1000 root 172532 12月 3 11:39 DroidSerif-Regular.ttf -rwxrw-rw- 1 1000 root 9247356 12月 3 11:39 uzura.ttf #
うずらフォント ver1.00が入ってますね。
(うずらフォント使いますと、ちゃんと連絡入れたのかな?)
で・・・デバイス固有っぽいファイルを探すと、「init.mv88de3010.rc」と「/system/etc/init.mv88de3010.sh」というのを発見。
PD-100とPD-100Sの差異は、ほぼ無し(init.mv88de3010.rcがPD-100Sだと「stop dhcpcd_ra0」のところがPD-100だと「stop dhcpcd」というところだけ)
cat pd100s-firmware/init.mv88de3010.rc
on early-init
device /dev/pftimer 0666 root root
device /dev/MV_CC_ICC 0666 root root
device /dev/MV_CC_SHM0 0666 root root
device /dev/MV_CC_SHM1 0666 root root
device /dev/MV_CC_SHM2 0666 root root
on early-boot
mkdir /mnt/DMS 0777 root root
# mkdir /mnt/samba 0777 root root
# mkdir /data/dms 0777 root root
# mount tmpfs tmpfs /data/dms
# symlink /dev/block/sr0 /dev/scd0
setprop ro.radio.noril no
setprop battery.fake_ac true
setprop power.fake_power true
setprop wifi.interface ra0
on boot
symlink /dev/block/mtdblock0 /dev/mtdblock0
symlink /dev/block/mtdblock1 /dev/mtdblock1
symlink /dev/block/mtdblock2 /dev/mtdblock2
symlink /dev/block/mtdblock3 /dev/mtdblock3
symlink /dev/block/mtdblock4 /dev/mtdblock4
symlink /dev/block/mtdblock5 /dev/mtdblock5
symlink /dev/block/mtdblock6 /dev/mtdblock6
symlink /dev/block/mtdblock7 /dev/mtdblock7
symlink /dev/block/mtdblock8 /dev/mtdblock8
symlink /dev/block/mtdblock9 /dev/mtdblock9
symlink /dev/mtd/mtd0 /dev/mtd0
symlink /dev/mtd/mtd1 /dev/mtd1
symlink /dev/mtd/mtd2 /dev/mtd2
symlink /dev/mtd/mtd3 /dev/mtd3
symlink /dev/mtd/mtd4 /dev/mtd4
symlink /dev/mtd/mtd5 /dev/mtd5
symlink /dev/mtd/mtd6 /dev/mtd6
symlink /dev/mtd/mtd7 /dev/mtd7
symlink /dev/mtd/mtd8 /dev/mtd8
symlink /dev/mtd/mtd9 /dev/mtd9
symlink /dev/mtd/mtd_mv /dev/mtd_mv
service mv88de3010_init /system/etc/init.mv88de3010.sh
oneshot
#service mv88de3010_bdp /system/etc/init.bdp.sh
# oneshot
service wpa_supplicant /system/bin/wpa_supplicant \
-Dwext -ira0 -c/data/misc/wifi/wpa_supplicant.conf
user root
group root system inet keystore
disabled
oneshot
service dhcpcd_ra0 /system/bin/dhcpcd -d ra0
group system wifi dhcp
disabled
oneshot
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd_ra0
#service flash /system/etc/init.flash.sh
# oneshot
service sm_daemon /sbin/sm_tool -d
oneshot
service buffalo_init /system/etc/init.buffalo.sh
oneshot
service wdt_process /sbin/process_wdt
oneshot
#service samba /sbin/cifs.sh
# oneshot
#service symlinker /sbin/dbread.sh
# oneshot
service autoscript /sbin/autoscript
oneshot
service automount /sbin/automount
oneshot
# cat pd100s-firmware/system/etc/init.mv88de3010.sh
#!/system/bin/sh
mount -t tmpfs nodev /data/system/wpa_supplicant
busybox cp -R /etc/dms/* /data/dms/
mkdir /data/factory_setting
mount -t yaffs2 -o inband-tags,no-hack,ro /dev/mtdblock9 /data/factory_setting
busybox ethconfig -n -d /dev/mtd4 /data/factory_setting/MAC_ADDR
netcfg eth0 dhcp
setprop net.dns1 `getprop net.eth0.dns1`
setprop net.dns2 `getprop net.eth0.dns2`
#djmount -o default_permissions -o allow_other /mnt/DMS
#
いまのところ、収集できた範囲で考えると・・・
・MARVELL社のARMADA 1000/88DE3010 HD Media Processor SoC採用のAndroid 2.2ボックス。
CPUはARMv7-A採用のSheevaコア 1GHz * 2
・PD-100とPD-100Sは基本は同じで、ハードウェア的な違いとしては
PD-100Sでは無線LAN USBアダプタが標準添付されている、というぐらい?
ただ、そうだとすると、PD-100のアウトレット品がたくさんでてる理由とか
PD-100とPD-100Sとでfirmware versionが違う、というあたりの説明がつけにくい。
オンボードメモリサイズとか、SDカードリーダ部分のチップが置き換わっている可能性あり?
・Omoject.apk、Omoject-release.apkがメインとなるアプリの模様。
だいぶサイズが変わってるので、機能差がそりゃあるだろうな、という感じ。
アプリ構成からすると、このアプリがホームアプリも兼用しており、基本的にはこの世界脱出はできないような雰囲気がある。
・他のAndroid TV-BOXからfirmwareを流用できないか、というあたりでは
initrcなどに含まれていたキーワードを元に探したところ、Meteorit MMB-322.HDTVってのが近いような雰囲気。
ただ、MMB-322のfirmware updaterは形式が全然違うので、流用は難しそう。
↓は、バッファローダイレクトのリユース品です。
|