バッファローが発売している「おもいでばこ」
初代モデルの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は形式が全然違うので、流用は難しそう。
↓は、バッファローダイレクトのリユース品です。
|