2009年06月13日

ファームウェア V3.0

6/12 にファームウェア V3.0が出たので早速インストールした。

ダウンロードサイトの説明では、さらりと書いてあるだけなのだが、使ってみたところ、かなり良くなっている。

いくつか紹介してみよう。

  • 英語対応
    まず、インストール直後、キャリブレーションの前に中国語か英語か選ぶようになった。英語を選べば、メッセージが全部英語になる。V2.0 で対応できていなかった所がすべて対応済みになったようだ。V3.0 でさらにアップデートしてみたところ、そこのメッセージまで、英語が併記されるようになっていた。
    英語なら説明が簡単にできるので非常に嬉しい。

  • マウスカーソル
    デフォルトではマウスカーソルが出なくなった。はっきりいって、操作の邪魔でしかなかったので嬉しい対応。

  • サスペンドのオペレーション改善
    電源ボタンで出てくる System Manager setup のメニューにサスペンドか追加になった。2ステップだが、V2.0 と比べれば随分操作が楽になった。

  • 起動時間
    60秒ほどが40秒ほどになった。嬉しいことは嬉しいのだが、それよりサスペンド時の消費がどうなったかのほうが気になる。

    ところで、起動スクリプトの変更で、GTK なんとかかんとかというエラーが出ることがあるみたい。タイミングの問題っぽく、reboot すれば OK になる模様。... V3.1 が早々に出る予感。

  • ルートファイルシステムの拡大。
    もちろん、どこから容量を持ってくるかと言えば、/home 。/homeを 1/2 の 125MB にして、/ に割り当てている。これで、普通にインストールしても溢れにくくなった。

    日本語化キットでは、/home へ /var を移動しているので、そのままでは、今度は /home = /var が溢れそうになる。

  • 電源管理
    電源管理についても、結構改良しているようだ。まず、サスペンド時間が、バッテリー、AC で別々の設定ができるようになった。それ以外はまだはっきりとは分かっていないのだが、画面がしましまになる問題は直った模様。

    あと、g_ether 。PC 側がサスペンドしたら、再接続にモジュールの再ロードが必要だったのが直ったみたい。ただし SmartQ 側がサスペンドした場合、切断は自動だが、再接続にモジュールの再ロードが必要みたい。未サポートの機能だが、このあたりを見れば取り組み具合がわかる。

とまぁこんな具合。こんな調子で改善していって欲しいものだ。

。。。というわけで 早速日本語化キットを作ってみた。



ちなみに、前のバージョンも一応インストールできる。問題は /home が厳しくなるのと、scim が自動で立ち上がらない点。

今回は、env の設定で /var を移動するかどうか決められるようにした(デフォルトは移動する)のと、DISK を空ける工夫をいれたことが主な変更点。
(移動しない場合は、env の MINHOME を 125000 に変更のこと)


  • /usr/share/startict の削除
    辞書が残っていたので消してみたら結構空くのに気がついた。
  • /etc/xdg/lxsession/LXDE/autostart で作っているデッドスペースを 20MB から 10MB に変更。
    V 3.0 から入った? 安全性を確保する仕組みだと思うが、/var ははなから厳しいので。

ちなみに、容量が増えているのは、おまけ(ph6_omake.sh)をいれたため。ちょっとしたツール と 古き良き時代の日本発祥ソフト。... arm のパッケージがあるのを見つけて嬉しくなったため。

いずれ日本語キットのページを更新するけど、早く使いたい人はどうぞ。
    補足:
    ph3_inst_j で 90 行目シンタックスエラーが出ますが、消し忘れ。終了してるので、機にしないでください。

    ph5 まで入れた後のディスク容量


    Filesystem 1K-blocks Used Available Use% Mounted on
    /var 移動:
    /dev/mmcblk0p1 632948 435472 165324 73% /
    /dev/mmcblk0p2 122003 108166 7537 94% /home
    /var移動なし:
    /dev/mmcblk0p1 632948 542724 58072 91% /
    /dev/mmcblk0p2 122003 9293 106410 9% /home


    普通は /var 移動なしで良さそうですが ... gccと g++ すら入らないのが気に入らない。loopfile は、SD を自由に使えないので自分的には論外。

    そういうわけで /var について、少々分析。

    /var で 100MB ほど使っていますが、内訳は 

    30 MB anthy
    20 MB apt (lib)
    20 MB apt (cache)
    10 MB dpkg
    10 MB リザーブ
    5 MB scrollkeeper


    こんなかんじ。anthy + apt で 70%。

    anthy の辞書を /var/lib ⇔ /usr/share で移動させることで 30MB 分はバランスさせられそう。

    あと、apt ... パッケージを入れるときだけ必要なのだから、SD に追い出すのも手かも。
posted by すz at 01:49| Comment(0) | TrackBack(0) | SmartQ

2009年05月28日

日本語化キット

いままで書いて来たことを元に キットとしてまとめました。ここに書いてあるとおりにやれば、日本語入力が出来るようになるはず。説明は後回し。

あと、基本的に自分用です。再インストールが面倒になってきたので ..

これは何?


SD カードから、scim-anthy で日本語入力できるようにセットアップするものです。(ネットワーク接続は使いません。)
普通にインストールすると root パーティションが溢れます。このキットでは、
  • 中国語変換、中国語辞書の削除
  • /var の /home/var への移動
をすることで、root パーティションの空きをできるだけ増やすようにしています。

インストール前:
/dev/mmcblk0p1 501732 457014 18814 97% /
/dev/mmcblk0p2 243039 4307 226183 2% /home
インストール後:
/dev/mmcblk0p1 501732 403754 72074 85% /
/dev/mmcblk0p2 243039 102556 127934 45% /home

このように、標準より大幅に root パーティションを空けているので、さまざまな作業を安全にできるようになります。

また、LOOPファイルは使用しません。必要な場合は、日本語化した後で、作成してください。

準備(SDカードのセットアップ)



最初に SDカードを準備する。できれば新品が良い。お勧めは SanDisk 。新品でない場合、できれば SDformatter でちゃんとフォーマットしなおすべき。( 特に soft.img を置いたままだと 問題が出るので、要注意 )
最新のファームウェアを ダウンロードセンターからダウンロードして、(rar ファイルに含まれる SmartQ5 というファイルを) SD カードの トップディレクトリに置く。
    SmartQ Serviceというページには、Tips が載っていたり、ダウンロードセンターより早く ファームウェアが載ったりするので要チェック。

つぎに このページで説明する 日本語化キットをダウンロード。SD カードに解凍する。(場所はどこでも良い)


ファームウェアのアップデート


カードを入れた後、“+”ボタンを押しながら リブート (下の四角いボタンがリセット)。
(説明 後記)

インストールが終わり、キャリブレーション後 オペレーションが出来るようになったら、まず最初にCPU Usage Monitor を動かすこと。( フリーズしたかどうか判らないと不安になると思うので )
    タスクバーを長タップすると メニューが出る。その一番上、新増なんとかを押して出たパネルの 添加を押して、CPU監視器を追加。すぐに表示されるので、後は×で閉じればよい。


フェーズ1:準備



disk アイコンを長タップして、ファイルマネージャを起動して、日本語化キットのディレクトリに移動すると rxvt が入っているのでこれを 長タップする。
rxvt(コンソール)の画面が出るが、そのままでは使いにくいので、キーボードを出して 画面を最大化すると良い。
rxvtの画面で次を入力

    $ sudo -s
    # ./ph1_prepare.sh
    (done. reboot! と出たら)
    # reboot

    ちなみに 2 行目は、./ph1 <TAB> で入力できる。

注意)フェーズ1では、/var を 移動しており、終了後は不安定な状態。すみやかに reboot する必要がある。

(なにをやっているかの説明 後で)

フェーズ2:シュリンク



立ち上がって来たら、同じように rxvt で

    $ sudo -s
    # ./ph2_shrink.sh
    (done と出たら完了)


フェーズ3:日本語キットのインストール



そのまま続けて

    # ./ph3_inst_j.sh
    (done と出たら完了)
    # reboot


完了したら reboot する。立ち上がって来たら、漢字変換の Anthy が使えるようになる。
ちなみに ソフトキーボードの は、漢字キー。

(なにをやっているかの説明 後で)

おまけ: telnet で ログイン



これは日本語化とは関係なく、いつでもできる。フェーズ1の前でも OK 。(ただし、フェーズ1後 リブートまではダメ)
  • env の編集
    login するユーザ名(TUSER)と loginできるアドレスの指定(TNET,TMASK)を自分の環境に合わせて編集する。
  • 実行
    rxvt を出して

    $ sudo -s
    # ./ph4_net.sh
    (パスワードなどを入力)
    # reboot


おまけ2: ssh で ログイン



これは日本語化とは関係ないが、ph4_net の後でやるべき。(reboot 前にまとめてやるのは OK)
  • env の編集 (ph4_net と同じ)
  • 実行
    rxvt を出して

    $ sudo -s
    # ./ph5_ssh.sh


おまけ3:gcc/g++ パッケージ集 (sq20_devkit)



とりあえず ... 依存関係の少ないプログラムをビルドするための最低限のものを集めました。カーネルのコンパイルは OK 。

スクリプトは入れていません。dpkg -i *.deb とか適当に入れてください。
全部インストールすると、60885 ブロック消費します。本体FLASH に 日本語化キット + SSH + gcc/g++ を入れることは 一応できます。

メモ: 09/06/05 evince で 日本語が見れない。
本来は、poppler-data を入れれば見れるようになるらしいのだが ... 実はもともと入っていて 中国語 以外が削除されている。入れなおしてもうまくいかない。
なぜ? 他にも 削除されているものがあるのか?
posted by すz at 18:51| Comment(2) | TrackBack(0) | SmartQ

2009年05月21日

SmartQ 5 に ログイン

SmartQ 5 に USB NIC をつなげて ログインできるようにしてみた。

1. USB HOSTを使う


SmartQ 5 には miniB のコネクタが付いていて、PC と接続して 内蔵 SD カードを Removable Disk として使うことができる。

で、このコネクタを 使って USB HOST としても使えるのだが ソフトで切り替えなければならない。

デスクトップを一旦タップして、電源ボタンを 押すと、SysSettings メニューが出るので、

Enable BlueTooth and USB Host (Close mode of Removable Disk)

を押して、BlueTooth のマークのメニュー

Enable Removable Disk (Close mode of BlueTooth and USB Host)

に切り替える。

これをした後 USB の装置を接続。USB LANアダプタ BUFFALO LUA2-TX を接続すると、eth1 として認識されるので、

ifconfig eth1 192.168.XXX.XXX netmask 255.255.255.255 up

とかすれば、ping は通るようになる。(以下 XXX.XXX の XXX は 数字)

それは良いのだが、しばらくすると 勝手にサスペンドしてしまう。サンスペンドしたら復帰後 再度 ifconfig しなおさないといけない。すばやく再接続ことで、コネクションは切れないけど.. どきっとする。あと、一号機は RTC が動いていないので、サスペンドしたら時間が遅れるという問題もある。

勝手にサスペンドしないように設定すれば、この 2 つの問題は解決する。それをするには...

右上の電球みたいなマークが、電源管理。これをタップして、出てくるパネル最下の 没置 をタップし、休眠閑置時間のバーを 右端までもっていき 不休眠 にする。

2. telnet で login



SmartQ には、/usr/sbin/in.telnetd と /usr/sbin/inetd が入っている。まずはこれを使えるようにしてみよう。

最初に Run メニューで

sudo rxvt

あとの作業はすべて rxvt ですることにする。

  • 2-1. /etc/init.d/openbsd-inetd の編集
    15 行目に

    if [ x"($cat /proc/cmdline | grep factory)" = x"" ]; then exit 0; fi

    という行が入っているのでこれをコメントアウト

  • 2-2. /etc/hosts.allow /etc/hosts.deny の 編集

    次のように編集
    hosts.allow :

    ALL : 127.0.0.1
    ALL : 192.168.XXX.0/255.255.255.0

    hosts.deny :

    ALL : ALL

  • 2-3. inted の起動

    # /etc/init.d/openbsd-inetd start

    で、inetd を起動する。次からは自動で 起動するので、手動はこの 1 回のみ。

  • 2-4. localhost での確認


    # telnet localhost

    で、login: が出るか確認

    Handhelds 8.04
    mojo login:

    が出力されれば OK 。ただし、ユーザを設定していないので login できない。

  • 2-5. login するための ユーザを作成。


    # adduser abc

    まずはパスワードを入力、あといろいろ聞かれるが 、最後のあっているかどうか聞かれるところまで ENTER で良い。(あと abc は 任意のユーザ名)

    で、再度 telnet localhost で 確認。OK なら 一旦 exit して、sudo できるように設定。

  • 2-6. /etc/sudoers の編集

    user の行をコピーして つぎのように追加
     
    abc ALL=NOPASSWD: ALL


    再度 telnet localhost で login して、

    sudo su -

    ができれば OK 。

  • 2-7. 外部から login できるか確認。

    ホストの PC から ping できれば、次に telnet 出来るか確認してみる。出来ないとすれば、/etc/hosts.allow が間違っている可能性大。


3. メモ


とりあえずこれで telnet できるようにはなった。これで作業そのものや 作業のログを取るのがすごく便利になる。

ファイルのコピーとか 出来ないので まだまだ不便なのだが、それは別途ということにして、いくつか作業したことを書いてみる。

  • localtime

    login すると、時刻が CST になっていることに気が付く。

    # cat /usr/share/zoneinfo/Asia/Tokyo > /etc/localtime

    とすることで、JST になる。

  • LANG の設定

    telnet すると端末にもよるが、en_US.UTF-8 では困ることも出てくる。

    # export LANG=C

    とした方が良い場合もある。

  • CPU クロックの確認と変更


    # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

    で今のクロックが確認できる。scaling_max_freq , scaling_max_freq は 使用状況にあわせて動的に変更する上限と下限。

    これを同じ値に設定することで、固定にできるわけだ。

    echo 667000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    echo 667000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

    とすることで、最高速 の 667 MHz 固定にできるし、667000 のかわりに 1000000 とすることで、通常時のクロック 100Mhz にできる。

    ちなみに、本当にそのクロックなのか確かめるには、/proc/cpuinfo の BogoMips を確認するのが良い。

  • CPU の実力を測定

    以前 使った dhrystone で比較してみる。

    SmartQ5 (ARM S3C6410 100 MHz) 218340 (gcc-4.3.2)
    SmartQ5 (ARM S3C6410 667 MHz) 877192 (gcc-4.3.2)

    LS-XHL (ARM Sheeva 1.2GHZ) 1519756 (gcc-4.1.2)
    LS-GL (ARM ORION5 400 MHz) 431778 (gcc-4.1.1)
    kurobox/HG (PPC MPC8241 266MHz) 687757 (gcc-3.4.5)
    Pentium III 1GHz 2118644 (gcc-3.3.2)
    eeePC 701SD(Celeron-M 900MHz) 3318258 (gcc-4.3.2)


    実際のアプリではどう変わってくるのか? とりあえず bzip2 で手持ちのファイルの解凍を比較してみた。


    測定方法:
    # time bzip2 -d < ファイル > /dev/null
    で user time を比較


    結果

    SmartQ5 (ARM S3C6410 100 MHz) 807 秒
    SmartQ5 (ARM S3C6410 667 MHz) 323 秒

    kurobox/HG (PPC MPC8241 266MHz) 243 秒
    Pentium III 1GHz 108 秒


    ちょっとおどろいたことに、100MHz と 667 MHz の差が、4.01 倍から、2.49 倍まで縮まっている。それだけでなく、PPC 266 MHz に負けてしまっている。Pen III との比較でも、1/ 2.42 が 1/2.99 と差が開いている。この結果から言えることは、S3C6410 は、クロックを上げてもあまり速くならないということ。メモリのクロックは変わらないようだから、メモリアクセスが多いアプリほどそういう傾向があるはず。bzip2 が典型的なアプリとどれだけ違うのか分からないのだが、6.67 倍にクロックを上げても 2.5 倍しか速くならない というのは結構残念な結果だ。

    LS-XHL との比較もしてみたかったのだが、残念ながらいま使えない状況。いずれ測定してみる予定。
posted by すz at 12:34| Comment(0) | TrackBack(1) | SmartQ

2009年05月17日

SmartQ 5 到着

5/17 10:54 ついに届いた!


開封


ダンボールの箱を開けると、20 cm 角ぐらいの立派な紙箱とおまけの巾着ぶくろが入っていた。
巾着ぶくろは、2枚重ねのフリース製。結構立派なものだった。

箱を開けると、トレイがあって本体が乗っている。トレイの下には付属品。

付属品は、AC アダプタと USB miniB ケーブル、イヤホン。その下には、保証書やら説明書らしきものが敷いてあった。

    ACアダプタは、5V 1A 。DC ジャックは 外径 2.5 mm ほどの細いタイプ。
    → ちなみに、GH-UHK204SSのACアダプタ(5V 2A)と同じ形状 同じプラグ。
    → 普通に 電圧区分1(外径 2.35 mm, 内径 0.7 mm)みたい。

    miniB は何につかうのだろう?
    → どうも Device Mode を持っていて Removable Disk として見えるらしい 。
    → SDカードのFAT領域が パーティションなしの状態で 見えた。Vendor: Linux Model: File-Stor Gadget だそうだ。

さて、本体について。ただの黒いプラスチックの直方体というかんじ。そこに液晶がはめ込まれている。精度は高く安っぽい感じはあまりしない。

とりあえず、2台買ったうちの1つ(以下1号機)に、shop99 で買った FREE CUT 液晶保護フィルムを貼ってみた。シートは 70x140 mm 。これを 64 x 100 mm にカット。適当にやったので気泡だらけ。

    買いなおして、1号機,2号機とも貼ってみた。もっとぎりぎりに 61mm x 97mm に変更。あと、気泡は ゴミがあるところが浮いているだけということが分かった。


ファームウェアのアップグレード


まずは、AC アダプタをつなげて充電しながら、起動するかどうかの確認。-- OK。

立ち上がったら最初に Power ボタンと Move ボタン同時押しをして、キャリブレーション(触膜屏校准)。-- OK 。

中国語は全然わからないので、とりあえず V2.0 にして、つぎに英語化することにした。

まずは、電源を Off 。電源ボタンを押すと、系統管理没置(System Manager Setup)パネルが出るので、下から 2 番目の電源マーク(Power off)を押す。

FAT32 でフォーマットした SD カードに、SmartQ5 をいれ、SD スロットに挿入し + ボタンを押しながらPower ボタンを押す。

正在格式化根分区なんてメッセージが出て、正在弁級プログレス。最後に 弁級成功 メッセージ。

    更新中は黄色になるはずなのだが... 1号機はなぜか緑ランプのまま。2号機は黄色なので、なんか変??

英語化


メニューの下から2番目 (Run) を実行し

    sudo leafpad /etc/default/locale

LANG を zh_CN.UTF-8 から en_US.UTF-8 に変更してリブート。

これで、メニューが読める!


    1. Accessories
    1-1. Galculator
    1-2. Leafpad
    1-3. Search for Files...,
    1-4. StarDict
    1-5. Xarchiver
    2. Games
    2-1. Gweled
    2-2. Shishensho
    3. Grafhics
    3-1. Evince Document Viewer
    3-2. Image Viewer
    3-3. rgbPaint
    4. Internet
    4-1. Claws Mail
    4-2. GNOME PPP
    4-3. GNOME PPP
    4-4. Midori Web Browser
    4-5. pidgin Internet Messenger
    4-6. Transmission BitTorrent Client
    5. Office
    5-1. AbiWord Word Processor
    5-2. E-book reader
    5-3. Gnumeric Spreadsheet
    5-4. Osmo
    6. Sound & Video
    6-1. Audacious
    6-2. SMPlayer
    6-3. Sonata
    7. System Tools
    7-1. GDebi Package Installer
    7-2. PCMan File Manager
    8. Prefereces
    8-1. Appearance
    8-2. Blutooth Manager
    8-3. Openbox Configration Manager
    8-4. SysSettings
    8-5. Wicd Network Manager
    9. Run
    10. Logout


  • SysSettings

    8-4-1. Lock touchscreen and key
    8-4-2. Enable BlueTooth and USB Host (Close mode of Removable Disk
    8-4-3. Task Manager
    8-4-4. Calibrate touch screen
    8-4-5. Power off
    8-4-6. Quit

  • Logout

    Logout LXDE session?
    10-1. Shutdown
    10-2. Suspend


SMPlayer


SMPlayer は、別に英語化する必要がある。

ドライバーのアイコン(Preferences) で出てくるパネルの、左側上から5番目が、Interface これに切り替えると、右下に、zh_CN が出ているので、en_US に切り替える。

これで手持ちのビデオをいくつか見てみた。

  • youtube flv

    ほぼ問題なし FLV1 なら 問題がないようだが、中身が H.264 の flv だと 全然ダメ。

  • youtube mp4

    全然だめ。ブロックノイズだらけになったりする。動きが少ないシーンでは普通に。

    H.264 だとダメだが、XVID だといけるとかあるかも知れない。

  • XVID

    手持ちの XVID 480x360 でアスペクト 4:3 , 16:9 共にダメ。デコードはできているみたいだが、色がずれる! 。

    320x240 は問題なし。16:9 も OK 。

    フルスクリーンにすると、横 640 になるようだ。4:3 だと 上下いっぱいになる。16:9 も 横は 640 で 縦が 360 になってしまう。

    ちなみに、CPU クロックは アプリの起動時など 最大 666 MHz になるが、通常時は 100MHz になっている。320x240 の動画は 100MHz のままで、45 % 程度のシステム負荷。

  • 全画面

    800x480 をまるまる使った全画面モードもあるのだが、操作ができない。ホットキーがないと厳しそう。

    追記:"-" ボタンで 中止が出来た。それだけだけど、できないよりマシ。


その他の問題点



SmartQ 固有のアプリが中国語のみなのはかわいい方、時計が いきなり 1970年になるとか、いろいろ問題がある。

実用で安心して使えるようになるまで時間がかかるかも。

    追記:
    時間が 1970 年に戻るのは、1号機のみだった。2 号機は リセットでも 問題ないのに、1号機はシャットダウンしても 時間がリセットされるし、サスペンドの後 時間が進まない。(サスペンドした時間のまま)

    明らかに RTC(リアル・タイム・クロック) の問題なのだが、RTC は、CPU の内部の機能。壊れることはあまり想像できない。カーネルを書き換えられなくて古いままとか、そういった問題かも知れない。

    カーネルは同じ mojo カーネル(2.6.24.7 #3530) だった。問題は何?

    dmesg 見たら s3c2410-rtc: hctosys: invalid date/time となっていた。正常なら s3c2410-rtc s3c2410-rtc: setting system clock to 2009-XX- .... となる。

    で、hctosys というのは hwclock の値を システム設定するということで、invalid と拒絶しているのは hwclock の値がおかしいため。

    で、ググってみると、 mini2440 Source & Snapshots for mini2440 linux support というページに

    Initializing the hardware clock

    The RTC chip might come with garbage in, if you see this:

    s3c2410-rtc s3c2410-rtc: hctosys: invalid date/time
    ...
    Setting the system clock.
    The Hardware Clock does not contain a valid time, so we cannot set the System Time from it.


    Use "hwclock" to force it's initialization

    # hwclock --set --utc --date="13 march 2009 09:54:00"

    # reboot

    なんて書いてある。これか! と思ってやってみたが...

    Timed out waiting for time change.

    となって reboot しても 1970 年になってしまう。

    hwclock を使わずに、RTCのmanpageを見ながら自分で設定するプログラムを作ってみた

    それで、2009 年にはなった。リブートしても 1970年までは戻らない。... しかし、cat /proc/drivers/rtc としても 同じ時刻。

    S3C6410 と (RTCは)互換らしい S3C2410Aデータシートを見てみたのだが、専用の端子は 専用の電源と 32KHz 水晶のみ。バックアップは出来ているみたいだから、水晶のところがおかしくて発振していないに違いない。どうしよう。

rxvtのインストール


無線LAN環境で、ちゃんとつながるかの確認 -- 両方OK。で、midori (ブラウザ)は、英語環境でもちゃんと日本語のページ (このページとか)を見ることができた。

2ch の情報より

http://repository.handhelds.org/hasty-armv6el-vfp/pool/universe/r/rxvt-unicode/
にあるrxvt-unicode_8.4-1_arm.debを内蔵ブラウザでダウンロードしてダブルクリックしてインストール。

    よくわからないのだが、SD カードを挿して loopback ファイルを作れるようにしておかないと エラーが出る。???

あとは、Run メニューで

    sudo rxvt


ついでに

    sudo leafpad /etc/apt/sources.list

で、次のように修正


あと rxvt の文字がすごく小さい。初めて 800x480 を実感。

それはともかく、これで dmesg とか を見れるようになった。後で整理してまとめる予定。

カーネルメッセージ



  • dmesg
    ( 実をいうと、いんちきで 103 行目で 2つのログをつなぎ合わせている。)

    以下抜粋

    8686 sdio: sd 8686 driver
    8686 sdio: Copyright HHCN 2009

    ※ 写真では WM-G-MR-09 だったのに ドライバは Marvel SD8686

    Bluetooth: Core ver 2.11
    NET: Registered protocol family 31
    Bluetooth: HCI device and connection manager initialized
    Bluetooth: HCI socket layer initialized
    Bluetooth: L2CAP ver 2.9
    Bluetooth: L2CAP socket layer initialized
    Bluetooth: RFCOMM socket layer initialized
    Bluetooth: RFCOMM TTY layer initialized
    Bluetooth: RFCOMM ver 1.8
    Bluetooth: SCO (Voice Link) ver 0.5
    Bluetooth: SCO socket layer initialized
    Bluetooth: BNEP (Ethernet Emulation) ver 1.2
    Bluetooth: BNEP filters: protocol multicast

    ※ これ以外のものは使えない?

    LCD TYPE :: TD043MTEX will be initialized

    ※ ほう TD043MTEX という型番なのか

    input: gpio-keys as /devices/platform/gpio-keys.0/input/input1
    input: gpio-keys as /devices/platform/gpio-keys.1/input/input2
    ※ ボタンは GPIO 。



おまけ:よくわからないものの、興味深げな リスト。

    /sys/devices/platform/:

    bluetooth/ s3c-hsmmc.0/ s3c-uart.1/ s3c2410-wdt/
    dm9000/ s3c-hsmmc.1/ s3c-uart.2/ s3c24xx_led.0/
    gpio-keys.0/ s3c-hsmmc.2/ s3c-uart.3/ s3c24xx_led.1/
    gpio-keys.1/ s3c-ide.0/ s3c-vpp/ s3c24xx_led.2/
    hhtech_gpio/ s3c-jpeg/ s3c2410-iis/ s3c24xx_led.3/
    onenand/ s3c-keypad/ s3c2410-lcd/ s3c6410_OTGHCD/
    power/ s3c-mfc/ s3c2410-nand/ s3c64xx-i2c.0/
    s3c-ac97/ s3c-rotator/ s3c2410-ohci/ s3c64xx-i2c.1/
    s3c-adc/ s3c-ts/ s3c2410-rtc/ smc911x/
    s3c-camif/ s3c-tvenc/ s3c2410-spi.0/ soc-audio/
    s3c-g2d/ s3c-tvscaler/ s3c2410-spi.1/ uevent
    s3c-g3d/ s3c-uart.0/ s3c2410-usbgadget/
posted by すz at 17:06| Comment(3) | TrackBack(0) | SmartQ

2009年05月13日

SmartQ 5 MID 用にいろいろ購入

SmartQ 5 MID で遊ぶためにいろいろ買ってみた。

miniA ⇔ Aメス (20cm): Arvel AUMA02WH


miniA ⇔ miniB (1M): Arvel AUM20MA04


    まずは、USB ケーブル。miniA しかないから なにかを接続するには必須。
    普通は、Aメスタイプを買っとけば事足りるはずだが、すっきりとはいかない。miniB タイプの機器もいくつか持っているし、すっきりさせるためにケーブルを付け替えるようなことも考慮して、miniB のケーブルも複数買ってみた。

    ちなみに、amazon ではなく、ValueMore!というショップにした。ここだと ケーブルは 500円台。

    注意: 05/18
    なんと、本体のコネクタは、一般的な miniAB ではなく miniB だった。miniB は装置側の規格。Host にもなる場合は miniAB のコネクタを使う。ところが、SmartQ5 は miniB ... miniA のケーブルがほぼ無駄になってしまった。無駄になった以上にやっかいなのは、miniB ⇔ A メス なんてケーブルは存在しないこと。自作するしかない。

    実をいうと、miniAB のコネクタは、Digikey などで売っていて 持ってたりする。付け替えたりするのも一つの方法かも。

    とりあえず、一番楽なのは、Aメス⇔Aメス のいわゆるジェンダーチェンジャーを作ること。2本の延長ケーブルを使えば(見栄えは別として)安く作れるはず。

    Aメス⇔Aメス変換器ならいくつかあることが分かったのでメモ:

    AD-USB2 (サンワサプライ)
    AUSB-AFAF (ケーブルダイレクト)

USB LANアダプタ BUFFALO LUA2-TX


    V2.0 の ファームウェアから USB LAN アダプタのドライバが入っている。やっぱりあると便利なんだろう... ということで、定番らしき、BUFFALO のやつ(ドライバは pegasus)を購入。


USB接続 テンキーボード BSTK01BK

    PC に接続するときは、ネットワークでつなぐし、キーボードは特別には必要ないはず。でも持ち歩くときにキーボードがあると便利なこともあるかも知れない。

    で.. 検討してみた。

    超小型キーボード(幅17cm) の AOK-EN56BKが一見良さそうだったのだが、レビューみて パスすることに決定。なんでも 初代 LOOX-U とほぼ同じ配列らしい。


    次に BlueTooth 系 。なんか良さそうなのが結構ある。

    サンワサプライのSKB-BT11BKとか結構安くなっているし、I/O DATA の CPKB/BTもすごく良さそう。あと、リュウドの 2100BTJも定番っぽい。


    でも、結構高いし ... 使う場面も結局はあまりなさそう。とりあえず保留 ... 。



    で、結論がコレ。持ち歩きながら使うとすれば、テンキーで携帯入力でしょう。サイズも 120x80x16 mm と 120x74x14 mm の SmartQ 5 とサイズが近い。うまく加工できれば なんか微妙なガジェットぽくなって面白いかも。

    もちろん、ソフトのアテはない。... それだけでなく、携帯入力は苦手。

    なんというか... ものづくりのネタとして 採用というところ。


5/14 追記 テンキーについて調査

まず、Xのプログラムを作れば キーに割り当てられた キーコードが取得できる。これについて /usr/share/X11/xkb/keycodes/xfree86 を見て調査してみた。ちなみに、USB キーボード自体にも 決められたキーコード体系があって X のものとは違う (参考→ USBキーボードのキーコード)


    NumLock / *
    77 (NMLK) 112 (KPDV) 63 (KPMU)

    7 8 9 -
    79 (KP7) 80 (KP8) 81 (KP9) 82 (KPSU)

    4 5 6 +
    83 (KP4) 84 (KP5) 85 (KP6) 86 (KPAD)

    1 2 3
    87 (KP1) 88 (KP2) 89 (KP3) ENTER
    108 (KPEN) or 36(RTRN)
    0 .
    90 (KP0) 91 (KPDL)




この表は 109キーボード(英語キーボードも共通) のもので、USB テンキーとは違う。

BSTK01BKはまだ入手できていないのではっきりとは分からないのだが ...

右上 が BS キー、下の真ん中に 000 キーが付いている。(たぶん 000 は 0 x 3連打) そして、NumLock は、本体キーボードとは連携しない。--- ローカルに切り替えるのだろう。さらに、最近のものは、大概 NumLock の位置が TAB キーになっている。(NumLock はその上の小さなキー)。

携帯風入力 ソフトを作るなら上の表のキー( NumLock以外) だけで使えるようにすべきだろう。

どのように作るかは、あまりイメージできていないが、上の表のキーを Hotkey みたく横取りするアプリケーションで、確定文字列を 入力バッファー(?:良くは知らない)に送り込むとか そういうものが良いような気がする。あと、NumLock で切り替えた場合、矢印キー と INS,DEL,HOME,END,PgUp,PgDn のコードが出ると思うが、これらは 関知しないことにする。(フォーカスしたアプリケーションに渡る)



  • ちなみに、上の方針ではどうにもならなかったり不満が出れば、電子工作で、コントローラを入れ替えるなんてことも可能なはず。
  • 参考 : HIDKeys - An Example USB HID
  • いっそのこと 12mm角のタクトスイッチで好きなものを作るのもアリかも。


携帯キーボードの配列はこんな感じか?
       
           112 (KPDV) 63 (KPMU)

           HOTKEY1 HOTKEY2

    79 (KP7) 80 (KP8) 81 (KP9) 82 (KPSU)
    1 2 3
    あ か さ 文字種
    . / @ ABC DEF
    83 (KP4) 84 (KP5) 85 (KP6) 86 (KPAD)
    4 5 6
      た な は CLR
    GHI JKL MNO
    87 (KP1) 88 (KP2) 89 (KP3)
    7 8 9 108 (KPEN) or 36(RTRN)
      ま や ら   
    PQRS TUV WXYZ ENTER
    90 (KP0) 91 (KPDL)
    0 #
    わをんー 、。?!
    - +


HOTKEY1、HOTKEY2 は未定のキー。必要なければ HOTKEY にするという程度の意味。

... とまぁ設計を始めてしまっているが、ただのメモ。気が向かないと作らないかも知れない。

メモ: X(Xorg)での Hotkey

  • http://lists.freedesktop.org/archives/xorg/2006-February/013131.html

    > I am looking for some informations how xorg handle hotkeys, how i can
    > register/unregister hotkeys and how i can get notifyed for a hotkey.

    Search docs about XKB. Config files are:
    AT keycode to X keycode
    /etc/X11/xkb/keycodes/xfree86
    "hotkey" to keysym
    /etc/X11/xkb/symbols/inet

    Probably hotkey on press produces keycode 130 , which is .
    # setxkbmap 'us+inet(azonaRF2300)'
    command set up layout 'us' plus "internet keys" for keyboard
    model "azonaRF2300". That means hotkey (keycode 130) now have
    keysym XF86WWW .
    X applications can recognise keysyms ;o)

    Aivils


実を言うとよくわからないが、これが答えらしい。

追記:USB HOST ケーブルを作ってみた




細いケーブル同士をつないで絶縁するのは面倒なので秋月の 16ホールユニバーサル基板を使って 2つの USBケーブルをつなげてminiB⇔Aメスにしてみた。

とりあえずテストするぐらいには使えるが、見栄えも耐久性も難がある。

ケーブル同士をつなぐぐらいなら、基板取付用USBコネクタ(Aタイプ、メス)に直接つないだほうが良さそう。

もっと良いのは、すなおに Aメス⇔Aメス 変換器を使うことだろう。普通の miniB ケーブルが、手間なしに miniB⇔Aメスになる。ただ、入手が難しいかも。

千石で、こんなものを発見 カモン AF-5M mini-B ⇔ Aメス変換!


    追記:
    SHINO BLOGでこんなの作っている。

    千石で USB miniB 端子を入手できたので ... なんて書いてある。入手できるものなのか ... メモメモ。
posted by すz at 05:45| Comment(3) | TrackBack(0) | SmartQ

2009年05月06日

SmartQ 5 MID 購入中

前々から、Linux が乗っていて(PCではない)情報端末が欲しいと思っていた。いままで候補は Pandora しかなかったのだが、ひょっこり SmartQ 5 MID というのが発表された。こいつがとても欲しい。


いったいこいつは、どこで買えるのか?

国内のショップで買えるのが一番嬉しいのだが、いつになったら買えるようになるのか?

結局しびれを切らし、いま買えるところを探すことにした。

まずは、ここで買えることはわかった。

http://www.gbax.com/smartq5.html

ただし、商品代金だけで、£ 129.99 (2万円弱)とかなり高価。(中国での価格は、1万3千円ぐらい)

それ以外だと、(現在は)中国から直接買うほかなさそう。でも、とても直接の取引はできそうにない。個人輸入代行業者というものがあるらしいので、今回は ジャスティンに頼むことにした。

ここを通す場合は、中国のネットショップを自分で探して URL を教えればよいらしい。淘宝網の定額オークションも OK そうなので、smartq で検索して出てきたところのうち、安心そうなところを見繕ってみることにした。

値段は、898 元。ジャスティンを通すときのレートが、14.7 円。手数料はこれの 16%。計算すると、15320 円。他にも送料とか、いろいろかかるが、実費に近いかんじ。




ところで、なぜ PCではない 情報端末なのか?

PC は便利すぎて、持込み不可のケースがある。こいつは PC ではないからそういう制限には引っかからないというのが理由の一つ。

あと、PC はどうしても 消費電力が増える。軽くて、長時間動作するものはまだ無理そう。たとえば mbook M1は 4時間前後とかなり健闘しているが 2 セル使っても そのあたりが限界。それに比べて Pandora なんかは 10時間前後と 倍近く持ちが違う。SmartQ 5 MID はどれぐらいなのか分からないものの Pandora 並が期待できるような気がする。

もっとも重要なことを書き忘れていた。瞬間のサスペンド&レジューム。PC は、とろい。701SD-X (XP) など 画面が点灯するまで 20秒ぐらいかかる。これでは、いつでも どこでも使うのは無理。

つぎに なぜ Linux 情報端末が欲しいのか?

ubuntu が載っていれば、したいことはなんでも出来そういうのが理由。無線LAN で接続して、キーボードもつなげれば もっさりはするが、701SD 程度には使えそうだし。うまくカスタマイズできれば、どこでも使えそうな感じがする。Windows Mobile と比べればはるかに自由度が高い。

最後に、なぜこの SmartQ 5 MID なのか?

いま買えるのがこれだから。

将来 Pandora なんかも買えるようになるかも知れない (予約組以外は 2009 年末〜?)し、最近発表された SmartQ 7 Internet Tablet MIDなんてのも良さそう。

そして本命は、 NVIDIA Tegra とか TI OMAP4 が載ったものだと思うのだが、自由に使えるようになるのは Pandora 以上に先の話になりそうだ。(ものが出ても iPhone みたいなものだと自由には使えない。そういう意味でも時間がかかる可能性がある。)

というわけで、これを買って当面遊んでみるのだ。あ、でも SmartQ 7 は、なんか良さそうな気がする。安いだろうし、これも買ってしまうかも。

SmartQ 7 追記:


engadget(中国版)記事を見ると、解像度は 800x480 と Q5 と同じみたい。新たに違うCPUで開発するのは大変そうだし、Q5 と同じ CPU, OS に違いない。ちなみに バッテリーは 2000mAH → 4500mAH と増えていて、48 時間 音楽を鳴らせるらしい。
そうして、その程度のものなら、Q5 の 3〜4 割増しの価格に違いない。... というわけで Q5 が使い物になったなら たぶん Q7 も買ってしまうに違いない。

(追記の追記)淘宝網 で 1199元なのを発見。... ということは、3.3 割増し

(追記の追記2)engadget日本語版では 1000元との情報が ...

(追記の追記3)200 x 120 x 24mm、480g だそうだ。

5/8 追記

5/6 に ジャスティンに頼んだのだが、5/7 に 入金依頼が来て 5/8 に確認メール。で、5/8 中に発注してくれるそうだ。

ぼんやりしていると なにも分からない状態でモノが来てしまいそうだ。

というわけで、ググって情報を集めてみた。

まず、ファームウェアとはいかなるものなのだろう?

ダウンロードセンターにいくと、164MB の V1.0 のファームウェア(ファイル名:SmartQ5)と なんだかよくわからないツール(SDUpdateToolV1.0.rar)が落とせるようになっている。

実際落としてみると、ファームウェアはなんだかよくわからない形式。ツールの方は Windows のツールで SD になにかするものらしい。ドキュメントらしきファイルもあるのだが、中国語プレインテキストらしく読むことすらできなかった。

結局さっぱりわからず、はたして使いこなせるのか不安になってくる。

で、ググっていって http://bbs.imp3.net/archiver/tid-583519-page-1.html というページを発見。

このなかのドキュメントに SD カードにシステムをインストールして dualboot にする方法が書いてある。

これをベースに勝手に(想像で)改変。

    SmartQ5システムをSDカード上にインストール

                    zhongzf 2009.5.4 08:23

    1. SDカードに対して次のように 4つのパーティションを作る。
    ID
    1. fat32 0x0b FWを格納 200MB 以上
    2. ext3 0x83 rootfs 512MB 以上
    3. ext3 0x83 home 任意の量
    4. swap 0x82 128MB 以上

    注意) 最後の 1MB 程度 を 割り当てずにおくこと。ここに
    ブートストラップのコードを後で書くため

    2. 最新のファームウェア(SmartQ5)をダウンロード
    第一のパーティション vfat 領域に置く。
      ※ 置かないほうがいいかも。

    3. SmartQ5Extractor を使って SmartQ5 から
    rootfs.tar.gz , home.tar.gz を取り出す。

    http://zhongzf.cnblogs.com/
    ※ .net 2.0 が必要

    4. rootfs.tar.gz を SDの第二パーティションに展開する。
    tar -xvpf rootfs.tar.gz
    ※ カーネル(zimage) と initrd(initramfs.igz) は、
        第一パーティションに置いた SmartQ から取り出して
        ロードするように思える。

    5. rootfsパーティション(つまりSDの第二パーティション)の
      /etc/fstabを次のように変更する

    # /etc/fstab: static file system information.
    #
    #
    proc /proc proc defaults 0 0
    /dev/mmcblk1p2 / ext3 relatime 0 1
    /dev/mmcblk1p3 /home ext3 relatime 0 2
    /dev/mmcblk1p4 none swap sw 0 0
    /dev/mmcblk0p1 /mnt/rootfs ext3 relatime 0 1
    /dev/mmcblk0p2 /mnt/home ext3 relatime 0 2


    6. home.tar.gz を SDの第三パーティションに展開。

    7. ダウンロードセンターのツール(SDUpdateToolV1.0.rar)を
      インストール(実行はまだ)

    8. u-boot.bin.zipをダウンロードし、解凍。u-boot.bin を
    SDUpdateTool のインストール先のファイルと入れ替え
      ツール実行

    http://www.imobile365.com/forum/download/file.php?id=29

    ※ ファームウェア(SmartQ5) にも u-boot.bin がある。
      V1,Tool : U-Boot 1.1.6-gdae20df8-dirty (Apr 2 2009 - 17:20:56) for SMDK6410
    download: U-Boot 1.1.6-gb3eb2e07-dirty (Apr 30 2009 - 16:41:29) for SMDK6410
    V2 : U-Boot 1.1.6-ge752a817-dirty (May 8 2009 - 13:54:19) for SMDK6410
      単に新しいのを使えということらしい。
    → V2 の u-boot.bin が良さそう。

    9. 作ったSDカードを挿入して、ALT ボタンを押しながら、マシンを起動する。


こんな感じらしい。

とにかく、ボタンを押しながらのreboot で、SDからシステムを立ち上げられることだけはわかった。

そして、そのためには、u-boot を SDカードの最後に書き込まないといけない。

あと、内蔵 FLASH が /dev/mmcblk0 で SDカードが /dev/mmcblk1 らしい。.... ひょっとして 内蔵 FLASH も SD/microSD なのか?

実は、内蔵 FLASHの寿命というのが気になっている。swap もあるようだし、使い方が悪いと壊れてしまいそうだ。
取り出せないだけの SD/microSD なら 壊れても自分で治せそうだし嬉しいのだが ... 実際はどうなのだろう?

最後に ... SmartQ5Extractor で、rootfs.tar.gz を取り出せるので、別 の ARM マシン(つまり LS-XHL)でいろいろ 試せそう。ちょっとやってみる予定。

    ちょっとやってみた。結論からいうとダメ。

    rootfs.tar.gz を展開して、chroot してみると Illegal Instruction 。

    LS-XHL のカーネルは、2.6.22 。gnueabi をサポートしている。
    なんかまったく動かないのではなく、サポートしていない命令を本当に使っているような感じ。

    S3C6410は、

    cpuinfo:
    Processor : ARMv6-compatible processor rev 6 (v6l)
    BogoMIPS : 665.54
    Features : swp half thumb fastmult vfp edsp java

    だそうだが、
    LS-XHL は、

    cpuinfo:
    Processor : ARM926EJ-S rev 1 (v5l)
    BogoMIPS : 1199.30
    Features : swp half thumb fastmult edsp

    たぶん vfp を使っているのだろう。残念。
    追記:
    CONFIG_VFP=y なカーネルだと エミュレーションしてくれるらしい。でも カーネルをビルドするのは 面倒だったり。

おまけ:

スペック

(追記) q5 startup prcessという記事を発見。嬉しいことに英語で書いてくれている。


    Q5 upgrade tool flash the u-boot.bin, zImage and initramfs into NAND, their location are 0x0002, 0x0202 and 0x1000;

    And unzip the rootfs.tar.gz and home.tar.gz into inner SD, the partions of the inner SD are structed 1. rootfs(ext3), 2. home(ext3), 3. swap.

    ※ Q5 upgrade tool は、initrd の /bin/upgrade のことらしい。

    Normally while Q5 starts, the cmdline is "console=ttySAC0,115200n8 root=/dev/mmcblk0p1 rootwait splash", the zImage loaded, then boot the system on the inner SD.

    While "Alt" down, the cmdline is "console=ttySAC0,115200n8 rdinit=/sbin/init", after load zImage, the initramfs is loaded, and there is a "upgrade" tool on the ramfs under /bin is executed, the "upgrade" tool will check the /dev/mmcblk1p1 for the rom file SmartQ, then load the rom file, extract it and check crc, then flash them on their location.
    ※ ここの the "upgrade" tool も /bin/upgrade

    ps. and I guess, u-boot.bin can also read SmartQ on mmcblk1p1, and load the zImage and initramfs from the rom file, so that while the files on the NAND are destoried, it can also bootstrap, and flash them again.

    ※ NAND と inner SD は別もの


要するに u-boot.bin, zImage and initramfs は、NAND FLASH に置かれ、内部に システム用 SD があるということらしい。

なら、分解すれば、もっと高容量のものと交換できるかも。

まぁ、いろいろはっきりしないことがあるが、その辺りは実機が来てからボチボチやれば良さそうだ。

5/11 追記 ファームウェア V2.0

5/8 に ファームウェア V2.0 が リリースされた。

SmartQ5Extractor (v2.4) を使って展開すると ..

    header
    qi.nb0 不明 (SDUpdateToolV1.0にも添付) 3208バイト
    u-boot.bin u-boot ブートローダ 99032 バイト
    zimage Linux カーネル (u-boot 形式)
    initramfs.igz initrd (u-boot 形式)
    rootfs.tar.gz rootfs イメージ
    home.tar.gz /home イメージ

のファイルを取り出せる。

まず、qi.nb0 はなんだろう。strings でチェックすると

    Qi Bootloader s3c6410 debian master_316aa06163e44f90
    Read SDMMC
    sdhc
    sd
    uboot success
    uboot fail
    SMDK6410

なんて文字列が見える。すなおに考えると uboot を起動するブートストラップに思える。そして、SD から読み込むのだから uboot は SD に置いてあれば良さそうに思える。

つぎに u-boot.bin に strings をかけて、興味を引いた文字列をピックアップ

    U-Boot 1.1.6-ge752a817-dirty (May 8 2009 - 13:54:19) for SMDK6410

    Error iNAND START 1
    Error iNAND START 2

    Load upgrade image from SD(%s)
    /SmartQ5
    Load upgrade image from SD(%s)
    /u-boot.bin

    Board: SMDK6410
    ## Loading Ramdisk Image at %08lx ...
    Bad Magic Number
    No Linux ARM Ramdisk Image
    Starting kernel ...

    FAT32
    FAT12
    FAT16


この u-boot は、1.1.6。 SMDK6410 というのは、SAMSUNG が出している評価ボードで 2個の SD スロットと 800x480 の LCD が付いている。これ用にカスタマイズされたものを ベースにしているらしい。(参考:SMDK6410 User's Manual (pdf)

で、この u-boot は、SD (FAT) の /SmartQ5 というファイルを使って upgrade することができるようだ。
    SmartQ5 のファイルフォーマットは、u-boot の ROM File というものかも。strings で調べてみると、上記の 文字列が見えるので、圧縮とか暗号化はされていないようだ。tar みたいな 割と単純なフォーマットではないかと思う。

もちろん主機能は、zimage と initramfs.igz をメモリにロードして、Linux を ブートすること。

その u-boot すら、qi.nb0 で SD カードから ロードされるみたいだから、zimage と initramfs.igz も SD カードに置くのが普通に思えるのだが ...

    ところで、qi.nb0 をブートするのは誰なのだろう?
    よくわからないのだが、S3C6410 データシート をみると、S3C6410 に Secure Boot ROM というのが載っているようだから、ここから ブートするのではないかと思う。

カーネルがブートすると、initramfs.igz が動作して、必要なら、rootfs.tar.gz home.tar.gz を展開して、upgrade を完了させるのだろう。

で、initramfs.igz は 普通の initrd フォーマット(cpio+gzip)ではないようだ。file コマンドで見ると PPCBoot image と出る。ダンプしてみると、header に Compresssed initial ramdisk と出る。

    initramfs.igz は u-boot の形式で 64 バイトのヘッダが付いている。(忘れてた) 。たとえば

    dd if=xxx of=yyy bs=64 skip=1

    とすることで中身が取り出せる。中身の形式は普通の cpio + gzip

    中身を見ると ほとんどの初期化処理が /etc/inittab に直接書き込まれている。

    console::sysinit:/bin/upgrade /mnt/mmcblk1p1/SmartQ5 /dev/mmcblk0 1
    #console::sysinit:/bin/upgrade /mnt/mmcblk1p1/SmartQ7 /dev/mmcblk0 1

    なんて記述もあり、自動的に upgrade できるようになっているようだ。

あと rootfs.tar.gz を展開して、ファイルをチェックしてみた。

ディストリビューションのベースは、ubuntu Hasty ARMv6EL-VFPで、これのベースは、ubuntu hardy(8.04LTS) らしい。

S3C6410 は、ARM11 で ソフト見えのアーキテクチャは、ARMv6 。 ARMv6 というのは、ARMv5 の拡張だった VFP と java(jazelle)が標準になったもの。

5/11 追記 SDUpdateToolV1.0 で ブートストラップのコードをSD の後に書くのは本当か?

ほんとうにブートストラップが SD の後ろに書き込まれるのかどうか確認してみた。

    手順:
    まず、1GB の microSD を用意して、あらかじめ すべての領域を 0 クリア。

    つぎに パーティションを 4 つ作り 最初の vfat に SmartQ5 ファイルを置く。

    SDUpdateTool を実行。

    Linux で、パーティション外の領域をチェック


しらべてみたところ .. オフセット 7168 から u-boot.bin のイメージが書き込まれていた。ただし、まったく同じではなく後ろの 数百バイトの内容が違う。

また、その後ろ ほとんど最後のあたりに、qi.nb0 のイメージが書き込まれていた。これも 最後の方の内容が違う。

違うのは、設定データなのだろう

これらが書き込まれたということは、S3C6410 内のブートローダが、まず SD から qi.nb0 をブートし、qi.nb0 が u-boot.bin をさらにブートする ということを意味している。

u-boot.bin さえ ブートしてしまえば、SmartQ5 ファイルを読み込んで アップグレードとかできるようになるはず。


ところで、なぜ ブートの仕組みを延々調べているかについて説明しておく。

ブートの仕組みが分かると、たとえば、自分でビルドした Linux カーネルを動かすとか ... 他の ディストリ、他の OS を動かすとか といったことができる範囲に入ってくる。ただし、入れ替えに失敗したら JTAG とか特別な装置が必要になるのでは、非常に困る。

安全に OS を入れ替えられるかどうか ... というのは 重要なのだ。

その点で、SmartQ 5 は、非常に良さそうだ。あとシリアルコンソールがあれば ...

それについても ブートパラメータに console=ttySAC0,115200n8 とかが入っているなど、期待できる要素はある。基板に シリアルのパターンがあったりするかも知れない。

あとは、inner SD が交換できると さらに嬉しいのだが ...

なんだかんだで、期待が膨らんできた。到着が待ち遠しい。

5/12 追記 ボード写真を発見!

これ見ると SanDisk の iNANDというデバイスを使っている。X線のほうを見るとよくわかるが、BGA で交換できるようなものではなさそう。ちなみに iNAND は MLC で Read 10MB/sec, Write 9MB/sec だそうだ (追加の製品情報(pdf)より)。

    こっちの商社のページの方が分かりやすい。ウェアレベリング機能があるみたいだから、壊れることはそれほど心配することはないのかも知れない。データシートのリンクがあるので見てみたが、ピン数の割りに信号線が少なく SD + αという感じ。世の中には こんなひとたちもいるらしいから、交換とか改造は不可能というレベルではないかもしれない。

    ちなみに、私の実験では SanDisk の MLC 2GB に対して Write し続けて 37 日で壊れた。この 1GB iNAND が 同等のものだと仮定すると 1/2 の 19 日ほどで 壊れる計算。普通 Write ばかりしているということはないので その 数十倍(3年以上?)は使えると思っていいと思う。


ちなみに、無線LAN は USI WM-G-MR-09 (SDIO) 。Bluetooth は、USB 接続っぽいモジュールが 金属のSD スロットの上に載っていて見るからに適当。(ひょっとして試作品?)

あと、バッテリーとは 2本の線で接続されているのみ。( バッテリー自体には制御基板が付いている )

シリアルコンソール? 全然判りません。

おまけ: 左上のブロックは、イヤホンジャックで その下に内蔵マイクが見える。あと ボタン状の物体は、電池じゃなくて 小型スピーカ。

追記: 5/13

書留番号のお知らせ なんてのが来た。航空書留で発送したそうだ。今週末に入手できるかも。

追記:

http://www.eletroworld.cn/nb/SmartQ_service.htm

ここに、有用な情報が!


  • SmartQ5 MID Quick Guide
    ファームウエアのアップグレードの正式な手順とか、最初に知るべき内容が書いてある。

    例:
     o キャリブレーション開始: Power ボタンと Move ボタン同時押し
    o 大きすぎる Window を Move: Move ボタンを押した後ドラッグ。
    o アップグレード: SD カードに ファームウェアを入れる。
    shutdown のときに "+" ポタンを押す。
    書き込み中は 黄色の LED が点灯する。

    ※ SDUpdateTool でブートローダを入れて reboot
    でも出来るかも。

  • Hand writing input software
    コメントできず。

  • To install the program in the SD Card
    V2.0 に入った loopback イメージファイルを SD に移動する方法。


5/15 追記 発送のお知らせ というのが来た。

    発送:2009/5/12日
    航空書留:153.8元(重量:1664g)
    検品手数料:25元

    ご請求合計:178.8元=2,610円(レート14.6)


この金額を ジャパンネット銀行 に振り込めばよいらしい。

ところで、実をいうと、2 個買った。
前回、払った金額はこれ。

    商品代金合計:1796元
    国内基本送料:30元(超過の場合は国際送料で精算)
    手数料:287元(16%)+追加1品目×20元=307元
    合計:2133元=31,570円(レート14.8)


2個合計で 34180 円 + 振込み手数料 x 2 の金額がかかったことになる。

振込み手数料は条件によって変わるし気にしないことにすれば、1個あたり 17000 円ほど。1 個の購入なら 18000円ぐらいか。もっとも 問題はこれから。良品かそうでないかで 面倒やコストが全然違う。

5/12日発送で、1週間〜10日ほどかかるそうだが、全然 追跡サービスで見えない。こっちも リンク先の中国のサイトもだめ。

いったい何時になるのだろう?

5/16 追記 追跡サービスに情報が出た!

    5月12日 17:55 引受 CHINA
    5月16日 0:22 国際交換支店/局に到着 XX国際支店
    5月16日 0:23 通関検査待ち XX国際支店
    5月16日 17:27 国際交換支店/局から発送 XX国際支店
    5月16日 23:03 通過 YY支店
    5月17日 6:42 到着 ZZ支店
    5月17日 10:54 お届け先にお届け済み
posted by すz at 15:33| Comment(8) | TrackBack(0) | SmartQ

2009年03月23日

SmartQ 5 MID

engadget に WVGAタッチスクリーンにUbuntu入りのSmartQ 5 MID、約1万2000円という記事が出ている。

とっても興味があるので、smartdevices.com.cnの記事も見てみた。

「ARMコアプロセッサ」の正体は未詳とのことだが ... スクリーンショットを見る限り CPU が 2 つある。

wikipediaの ARM_architectureを見る限り、MPCore なのは、NVIDIA Tegra (APX 2500)TI OMAP4しかないようだ。どちらかは分からないが 仮に OMAP4430 だとすると、720 MHz x 2Core SMP -- ATOMの Z系と比べられるぐらいかも。

追記:09/03/29

おもいきり外してしまった。CPU は、S3C6410/667MHzだそうだ。もちろん CPU は 1 Core。内蔵 FLASH は 1GB で、RAM は DDR 128 MB。

おおきさは、120x74x14 (mm) 。あとバッテリは 2000mAH

iPhone (S3C6410/560Mhz) のバッテリーは、1400mAH だから、バッテリーの持ちは同等(6 hours (internet) 7 hours (video))以上が期待できるかも。

あとストレージは SDHC スロットが 1つ。USB は Host の場合 12Mbps らしいので ストレージ向きではなさそう。

メモリが 128 MB というのは今となっては結構厳しい。Pandoraは、ubuntu をサポートするにあたり 128 MB → 256 MB に変更した。あと ARM の 667MHz ではサクサク動くとはあまり思えない。それでも ワクワクする。

参考 → http://mp4nation.net/blog/2009/03/smartq-mid-more-confirmed-specs-meizus-jwong-crys-a-little/


889元ですでに発売しているらしい。あと AC アダプタは 5V 1A 。

CreativeStation::Blogが詳しい。

それはともかく、どこで入手できるようになるのだろう? 中国製 高級 PMP の扱いみたいだから、ゲーム関係のショップとかで買えるようになったりするのだろうか?

とりあえず、カッパドキアマジカル上海ゲームツールあたりに期待か?
posted by すz at 09:19| Comment(0) | TrackBack(0) | SmartQ