いまさらNanonoteについてと、ついでにGCW-ZERO、あとKDEタブレット

Slaanesh Dev
DOSBoxというMS-DOSのソフトウェアを動かすためのソフトをBen Nanonoteに移植
DOSBox 0.74 v2.0 A320 Open Dingux and Ben Nanonote OpenWRT
まぁ、ここでいうMS-DOSのソフトとは、ゲームのことです。
「A320」というのは、「Dingoo A320」というLinuxのゲーム機です。
ハードウェア的にはかなり似てる点があります。

自動生成型ダンジョンの元祖Rogue(ローグ)と、その発展系Nethackの移植版
Nethack 3.4.3 and Rogue for Ben Nanonote
Nethackをさらに進化させてったものが、風来のシレンとかポケモンダンジョンになります。

・Jirka’s notesの「カテゴリー Nanonote
いまでも使ってるようで、いろいろ日記的なものを書いていますね。

GCW-ZERO
Jz4770搭載のLinux系ゲーム機。
Dingoo A320の後継機みたいなもの。
最初はほそぼそとやっていて、2012年10月頃に初期出荷をしたあと、「kickstarterで募集」したら大規模になっちゃっていろいろ大変だったみたいです。
今月になってようやくkickstarter分の発送が終わったようですね。
GCW-ZERO firmwareアップデートを見ると、firmwareの更新も順調そうですね。

KDE Tablet 「Flying Squirrel」製造計画(英語)
Nanonoteとは関係ないけど、メーリングリストを見ていたら出てきたので紹介。

EOMA-68というフォームファクターのCPUカードを使用したKDE搭載のタブレットを製造しようとしている。
進捗状況」を見ると、試作基板はできており、5月には第2次試作基板製造に向けた調整を行っていたようだ。
overlay

なお、EOMA-68は、物理形状はPCMCIAカードを流用している。

Ben NanoNoteをバージョンアップ

最近あまり動きがなかったBen NanoNote

Nano Noteがどんなのかというと・・・

・2年ぐらい前に$99で買えるLinuxパームトップ機!として話題に
・物理キーボードあり、タッチパネル無し
・CPUにJz4720 336MHz使用。
・メモリは32MBしかないので、そこそこの動作しかしない。

で、そんな感じのBen Nano Noteですが、最新版の2011年11月13日版でいろいろ面白い変更が取り込まれていました。

最大の変更は、Linux kernelがver 3.0(前はver 2.6.37.6だった)になったということ。
そして、IEEE 802.15.4を利用したWPANの取り込み。

さて、アップデートですが、うちの環境では、以前はUbuntuノートを使ってアップデートしていたのですが、現在そのパソコンが稼働してないので、CentOS5のサーバを使ってアップデート。

まずは、firmwareをダウンロードしておくか、とNanoNoteをつながない状態でreflash_ben.shを実行。

3downloads.qi-hardware.com をDNSに問いあわせています... 88.198.75.224
4downloads.qi-hardware.com|88.198.75.224|:80 に接続しています... 接続しました。
5HTTP による接続要求を送信しました、応答を待っています... 302 Found
6場所: http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/file/master/nanonote-files/data/qi_lb60/scripts/reflash_ben.sh [続く]
7--2011-11-24 14:40:37--  http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/file/master/nanonote-files/data/qi_lb60/scripts/reflash_ben.sh
8projects.qi-hardware.com をDNSに問いあわせています... 88.198.75.224
9downloads.qi-hardware.com:80 への接続を再利用します。
10HTTP による接続要求を送信しました、応答を待っています... 200 OK
11長さ: 7310 (7.1K) [application/x-sh]
12`reflash_ben.sh' に保存中
13 
14100%[==========================================>] 7,310       26.2K/s 時間 0.3s
15 
162011-11-24 14:40:38 (26.2 KB/s) - `reflash_ben.sh' へ保存完了 [7310/7310]
17 
18# chmod a+x reflash_ben.sh
19# ./reflash_ben.sh
20working dir:      /root/.qi/nanonote/ben/latest
22chosen version:   latest
23===
24present files are identical to the ones on the server - do not download them again
25booting device...
26usbboot: error while loading shared libraries: libconfuse.so.0: cannot open shared object file: No such file or directory
27===
28fatal error occured - ABORTED
29===
30can't boot device - xburst-tools setup correctly? device in boot-mode? device connected?
31===
32Before reporting this as a bug
33Please ensure you're using the latest available version of this reflash script
35#

あ~、libconfuseなんて入れてないよな・・・と「yum install libconfuse」追加。
ちなみに、他にも、/root/.qi だと/パーテーションを圧迫しちゃってるので、.qiディレクトリを他のパーテーションにシンボリックリンクで逃がしたりしています。

つなげて、NanoNoteの「U」キーを押しながら電源を入れて、reflash_ben.shを実行…

1# ./reflash_ben.sh
2working dir:      /root/.qi/nanonote/ben/latest
4chosen version:   latest
5===
6present files are identical to the ones on the server - do not download them again
7booting device...
8clean bootloader env data ...
9flashing bootloader...
10Done:  2/2
11[########################################################################################]
12flashing kernel...
13Done:  4/4
14[########################################################################################]
15===
16fatal error occured - ABORTED
17===
18error while flashing kernel:
19Error - can't read bulk data from Ingenic device:-110
20===
21Before reporting this as a bug
22Please ensure you're using the latest available version of this reflash script
24#

失敗・・・

1# usbboot
2usbboot - Ingenic XBurst USB Boot Utility
3(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
4This program is Free Software and comes with ABSOLUTELY NO WARRANTY.
5 
6Now checking whether all configure args valid: YES
7Current device information:
8CPU type is Ingenic XBurst Jz4740
9Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
10SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
11Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
12usbboot :> exit
13 exiting usbboot software
14#

usbbootコマンドで接続してみると、それなりに動いていそう。

じゃぁ、手動でアップデートしてみるか・・・ということで、手順を見ながらやってみる。

1# usbboot
2usbboot - Ingenic XBurst USB Boot Utility
3(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
4This program is Free Software and comes with ABSOLUTELY NO WARRANTY.
5 
6Now checking whether all configure args valid: YES
7Current device information:
8CPU type is Ingenic XBurst Jz4740
9Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
10SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
11Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
12usbboot :> boot
13 CPU data: Boot4740
14 Already booted.
15usbboot :> nerase 0 4096 0 0
16 CPU data: Boot4740
17 Erasing No.0 device No.0 flash (start_blk 0 blk_num 4096)......
18 Finish! Return: 00 00 08 00 00 00 00 00 (position 4096)
19 Force erase, no bad block infomation!
20usbboot :> nprog 0 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-u-boot.bin 0 0 -n
21 Programing No.0 device, flen 617312, start page 0...
22 CPU data: Boot4740
23 Erasing No.0 device No.0 flash (start_blk 0 blk_num 2)......
24 Finish! Return: 00 01 00 00 00 00 00 00 (position 2)
25 Force erase, no bad block infomation!
26 Size to send 617312, transfer_size 524288
27 Image type : without oob
28 It will cause 2 times buffer transfer.
29 Writing NAND page 0 len 524288...
30 CPU data: Boot4740
31 Finish! (len 524288 start_page 0 page_num 128)
32 Checking 524288 bytes... no check! End at Page: 128
33 Writing NAND page 128 len 94208...
34 CPU data: Boot4740
35 Finish! (len 94208 start_page 128 page_num 23)
36 Checking 94208 bytes... Comparing 94208 bytes - SUCCESS
37 End at Page: 151
38usbboot :> nprog 1024 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
39 Programing No.0 device, flen 2087718, start page 1024...
40 CPU data: Boot4740
41 Erasing No.0 device No.0 flash (start_blk 8 blk_num 4)......
42 Finish! Return: 00 06 00 00 00 00 00 00 (position 12)
43 Force erase, no bad block infomation!
44 Size to send 2087718, transfer_size 524288
45 Image type : without oob
46 It will cause 4 times buffer transfer.
47 Writing NAND page 1024 len 524288...
48 CPU data: Boot4740
49 Finish! (len 524288 start_page 1024 page_num 128)
50 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
51 End at Page: 1152
52 Writing NAND page 1152 len 524288...
53 CPU data: Boot4740
54 Finish! (len 524288 start_page 1152 page_num 128)
55 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
56 End at Page: 1280
57 Writing NAND page 1280 len 524288...
58 CPU data: Boot4740
59 Finish! (len 524288 start_page 1280 page_num 128)
60 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
61 End at Page: 1408
62 Writing NAND page 1408 len 516096...
63 CPU data: Boot4740
64 Finish! (len 516096 start_page 1408 page_num 126)
65 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
66 End at Page: 1534
67usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
68 Programing No.0 device, flen 2087718, start page 2048...
69 CPU data: Boot4740
70 Erasing No.0 device No.0 flash (start_blk 16 blk_num 4)......
71 Finish! Return: 00 0a 00 00 00 00 00 00 (position 20)
72 Force erase, no bad block infomation!
73 Size to send 2087718, transfer_size 524288
74 Image type : without oob
75 It will cause 4 times buffer transfer.
76 Writing NAND page 2048 len 524288...
77 CPU data: Boot4740
78 Finish! (len 524288 start_page 2048 page_num 128)
79 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
80 End at Page: 2176
81 Writing NAND page 2176 len 524288...
82 CPU data: Boot4740
83 Finish! (len 524288 start_page 2176 page_num 128)
84 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
85 End at Page: 2304
86 Writing NAND page 2304 len 524288...
87 CPU data: Boot4740
88 Finish! (len 524288 start_page 2304 page_num 128)
89 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
90 End at Page: 2432
91 Writing NAND page 2432 len 516096...
92 CPU data: Boot4740
93 Finish! (len 516096 start_page 2432 page_num 126)
94 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
95 End at Page: 2558
96usbboot :>

あれ?手順に時間がかかるってあるのにすぐに終わったのはなぜ?
と確認してみると指定するファイルを間違えている・・・

1usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-root.ubi 0 0 -n
2 not enough argument.
3 Usage: nprog (1) (2) (3) (4) (5)
4 (1)    start page number
5 (2)    image file name
6 (3)    device index number
7 (4)    flash index number
8 (5) image type must be:
9        -n:     no oob
10        -o:     with oob no ecc
11        -e:     with oob and ecc
12usbboot :>

正しいファイルにして再実行してもエラー。

その後、どうにもうまくいかないので一度usbbootを終了して、再実行。

1# usbboot
2usbboot - Ingenic XBurst USB Boot Utility
3(c) 2009 Ingenic Semiconductor Inc., Qi Hardware Inc., Xiangfu Liu, Marek Lindner
4This program is Free Software and comes with ABSOLUTELY NO WARRANTY.
5 
6Now checking whether all configure args valid: YES
7Current device information:
8CPU type is Ingenic XBurst Jz4740
9Crystal work at 12MHz, the CCLK up to 252MHz and PMH_CLK up to 84MHz
10SDRAM Total size is 32 MB, work in 4 bank and 16 bit mode
11Nand page per block 128, Nand page size 4096, ECC offset in OOB 12, bad block offset in OOB 0, bad block page 127, use 1 plane mode
12usbboot :> boot
13 CPU data: Boot4740
14 Already booted.
15usbboot :> nerase 0 4096 0 0
16 CPU data: Boot4740
17 Erasing No.0 device No.0 flash (start_blk 0 blk_num 4096)......
18 Finish! Return: 00 00 08 00 00 00 00 00 (position 4096)
19 Force erase, no bad block infomation!
20usbboot :> nprog 0 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-u-boot.bin 0 0 -n
21 Programing No.0 device, flen 617312, start page 0...
22 CPU data: Boot4740
23 Erasing No.0 device No.0 flash (start_blk 0 blk_num 2)......
24 Finish! Return: 00 01 00 00 00 00 00 00 (position 2)
25 Force erase, no bad block infomation!
26 Size to send 617312, transfer_size 524288
27 Image type : without oob
28 It will cause 2 times buffer transfer.
29 Writing NAND page 0 len 524288...
30 CPU data: Boot4740
31 Finish! (len 524288 start_page 0 page_num 128)
32 Checking 524288 bytes... no check! End at Page: 128
33 Writing NAND page 128 len 94208...
34 CPU data: Boot4740
35 Finish! (len 94208 start_page 128 page_num 23)
36 Checking 94208 bytes... Comparing 94208 bytes - SUCCESS
37 End at Page: 151
38usbboot :> nprog 1024 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-uImage.bin 0 0 -n
39 Programing No.0 device, flen 2087718, start page 1024...
40 CPU data: Boot4740
41 Erasing No.0 device No.0 flash (start_blk 8 blk_num 4)......
42 Finish! Return: 00 06 00 00 00 00 00 00 (position 12)
43 Force erase, no bad block infomation!
44 Size to send 2087718, transfer_size 524288
45 Image type : without oob
46 It will cause 4 times buffer transfer.
47 Writing NAND page 1024 len 524288...
48 CPU data: Boot4740
49 Finish! (len 524288 start_page 1024 page_num 128)
50 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
51 End at Page: 1152
52 Writing NAND page 1152 len 524288...
53 CPU data: Boot4740
54 Finish! (len 524288 start_page 1152 page_num 128)
55 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
56 End at Page: 1280
57 Writing NAND page 1280 len 524288...
58 CPU data: Boot4740
59 Finish! (len 524288 start_page 1280 page_num 128)
60 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
61 End at Page: 1408
62 Writing NAND page 1408 len 516096...
63 CPU data: Boot4740
64 Finish! (len 516096 start_page 1408 page_num 126)
65 Checking 516096 bytes... Comparing 516096 bytes - SUCCESS
66 End at Page: 1534
67usbboot :> nprog 2048 /root/.qi/nanonote/ben/latest/openwrt-xburst-qi_lb60-root.ubi 0 0 -n
68 not enough argument.
69 Usage: nprog (1) (2) (3) (4) (5)
70 (1)    start page number
71 (2)    image file name
72 (3)    device index number
73 (4)    flash index number
74 (5) image type must be:
75        -n:     no oob
76        -o:     with oob no ecc
77        -e:     with oob and ecc
78usbboot :>

何が間違ってるんだ???

ためしに、いまいるディレクトリに「openwrt-xburst-qi_lb60-root.ubi」をおいて再実行したら、ちゃんと動き始めた・・・

1usbboot :> nprog 2048 openwrt-xburst-qi_lb60-root.ubi 0 0 -n
2 Programing No.0 device, flen 423624704, start page 2048...
3 CPU data: Boot4740
4 Erasing No.0 device No.0 flash (start_blk 16 blk_num 808)......
5 Finish! Return: 00 9c 01 00 00 00 00 00 (position 824)
6 Force erase, no bad block infomation!
7 Size to send 423624704, transfer_size 524288
8 Image type : without oob
9 It will cause 808 times buffer transfer.
10 Writing NAND page 2048 len 524288...
11 CPU data: Boot4740
12 Finish! (len 524288 start_page 2048 page_num 128)
13 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
14 End at Page: 2176
15 Writing NAND page 2176 len 524288...
16 CPU data: Boot4740
17 Finish! (len 524288 start_page 2176 page_num 128)
18 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
19 End at Page: 2304
20 Writing NAND page 2304 len 524288...
21<略>
22 Writing NAND page 105216 len 524288...
23 CPU data: Boot4740
24 Finish! (len 524288 start_page 105216 page_num 128)
25 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
26 End at Page: 105344
27 Writing NAND page 105344 len 524288...
28 CPU data: Boot4740
29 Finish! (len 524288 start_page 105344 page_num 128)
30 Checking 524288 bytes... Comparing 524288 bytes - SUCCESS
31 End at Page: 105472
32usbboot :> exit
33 exiting usbboot software
34#

で、USBケーブルをはずして、電源長押しして、再投入。

起動時のロゴが変わった!
ブートが早くなった!

・・・gmenu2xのキー操作がよくわからない^^;;;;;
「L」キーで一番上のメニューが右に動く、というのはわかるんですが、それ以外の動作が・・・

とりあえずは、アップデートできた、ということでよしとするかな。

the nD

金曜に届いたLINUX FORMATの2011年9月(LXD148)号を読んでいると、「New $10 games console」なんてタイトルのミニ記事を発見。

Nintendo DSのゲームを作ってる人が、タッチスクリーンなし、3Dなしのゲームが、低コストで遊べるハードウェア作るぜ!とがんばってるヨー、なんて感じの記事。

なんで、ハードウェアを作ろうと思ったかというと、Nintendo DSの非公式SDKを使ってRPGを作ってたので、公式で販売するルートがない、というところから発生しているらしい。

the nD」という名前でやっているということなので、サイトを見てみた・・・・


・10ドル、というのは本体価格
・2011年末にプロトタイプハードウェアが完成予定
・製品版は2012年のWiiU発売前に出したい
・対象年齢は6~12歳
・ARM 400MHz,メモリ32MB,2.4インチ液晶 320×240。CPUとメモリは上位になる可能性あり
・内蔵ストレージ2GB。外部スロット無し
・充電式バッテリー(単3,単4電池は使わない)
・タッチスクリーンは現状どうするか未定
・Wifi経由でゲームをダウンロード
・Linux SDLベースの画面出力

・・・・・・・なんかCPUアーキテクチャが違うけど、Ben Nano Noteっぽい雰囲気が・・・
NanoNoteは設計図公開しているわけだから、それを持ってくれば良かったのに・・・とか思わなくもない

まぁ・・・プロトタイプができるぐらいに再チェックしてみるかな

IEEE802.15.4とTCP/IP

Ben Nano Noteは単独ではネットワークに接続できず、PCにUSB接続してブリッジするか、それともmicroSDカードサイズの無線LANカードを使うか、ということをする必要があります。

以前、auのau Wi-Fi WINカードが使えないかなぁ?と発売直後に入手してみましたが、ミツミ電機製のチップに対応したLinuxのドライバが発見できず、お蔵入りとなっていました。

そこに、新しい手法が現れました。

Ben WPANプロジェクトです。
IEEE 802.15.4準拠のチップを利用して、無線でTCP/IP通信を行おう、というものです。
Ben Nano Note側はmicroSDHCスロットを使用しますが、SDIOではありません。
便宜上「8:10 card」という名称にしていますが、microSDHCコネクタを利用して汎用I/Oを行わせちゃおう、というものです。

この技術を使って、IEEE 802.15.4チップを操作して、TCP/IP通信を行わせてしまうようです。

Ben Noteで、どういった感じなのかは、Ben WPANプロジェクトのwikiを見るよりはプロジェクトマネージャのWernerさんのページ「Ben-WPAN Overview」を見るとわかりやすいです。

Ben Note用基板: atben
PC用USBコネクタ基板: atusb
Linux用Device Driverは、Linux-zigbeeプロジェクト+ben-wpan kernel branchの修正

で、IPアドレスの部分は、基本IPv6で考えられているような感じで、「6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)」という単語が頻繁に出てきます。

が、詳しくみてないので、よくわかりません。

おいおいもうちょっと調べていってみようかと思います。

オープンハードウェア

去年、久々にLinux系のPDAを買いました。

といっても、Agenda VR3以来の2台目ですけど。

2001年3月に本体価格$179で輸入したAgenda Computing社のAgenda VR3 developer editionですが、いまでは関連するサイトが全滅し、再インストールとかしようと思ってもするすべがないという状況になっていたりします。
パソコンとの接続方法はRS-232Cですし、無線LANなんて無い時代ですから、いまとなっては活用も難しい状態ですね。

まぁ、スペックも
・CPU NEC VR4181 MIPS(66MHz)
・メモリ 8MB RAM + 16MBフラッシュメモリ
ですから、なんともしようもないですが・・・

でも、このマシン、とてもいい点が1つあります。
それは単4電池2本で動作するということ。
なので、約10年経過後であっても、ちゃんと動作が確認できました。

で、去年はNanoNoteを買ってみた。
キーボード搭載で$99ということでおもしろそうだったので買ってみたわけだが
正味、あまりおもしろくなかった。
パソコンとの接続方法がUSBなのは今風とはいえ、無線LANがないですし、活用が難しかったです。
ダメ元で買ってみたauのwifiカードはやっぱり使えず、情報を探してみたけど、ミツミのmicroSHDC wifiカードをオープンソースで活用する話が見つからず、利用できず。
いまはともに眠っている感じです。

こっちはバッテリー駆動なので、そこそこ電気を入れたりしていないと二度と使えなくなりそうな感じなので、時々電気をいれて確認していますw


おまけでPDA箱のコレクションですw

手前左:Palm Pilot Professional 1997年3月 個人輸入 本体価格$399
手前右:Agenda VR3 developer edition 2001年3月 個人輸入 本体価格$179
奥左:HP320LX(WinCE) ソフマップで中古購入+ebay.comでWinCE2.0アップデートボード落札
奥右:IBM Workpad c3 国内購入