the nDのその後・・・?

8月に紹介したthe nD(当blogでの紹介記事)ですが、その後の進捗は・・・と見てみると・・・

フォーラムを含め、表に出てるところを見る限りでは、リリーススケジュールに関しては何も進んでない・・・としか判断できない状況に見えます。

フォーラムの管理者アカウントは11月1日にログインしているらしいので、プロジェクト自体は進めているようですが・・・

ところで、the nDについて、slashdot.jpに「自作DSソフトの発売許可を求めて立てこもったゲーム開発者、ゲームをリリースするためにオリジナルの携帯ゲームハードを開発」というのが立ってますけど、あれ、うちのblogの影響ですかねぇ?
コミケ後に短縮url経由でのアクセスがあり、それが多くなってきたところで、ああいう形で出てきてますから・・・

Androidでドコモ公衆無線LANに自動ログイン

ドコモの公衆無線LANサービス Mzoneがmopera Uスタンダードなら無料で使える、というので、mopera Uライトから契約変更してみた。

ドコモの手順によればAndroidの場合、SSID:docomoに接続した後、ブラウザ上でログイン処理を行わないといけない、ということになっている。
しかし、Windows系とか他の環境では、その処理も含めて自動的に行えるようになっているらしい。

では、標準ではないだけで、実現する方法があるはず、と探してみたところ、Android Marketで、mzoneconfというアプリがありました。
類似の機能を持つアプリは他にもありますが、mzoneconfの利点は常駐しないアプリで、Androidの無線LAN設定にMzone用の設定を追加してくれるだけ、という非常に割り切った作りである、という点です。

やってることは、手動で設定すると非常にめんどくさいことを、直接設定を書いてしまうことで実現している、という感じなようです。

Androidでは無線LANの設定をLinuxと同様にくwpa_suppilicantを使用して行っています。
Android 2.3の場合、wpa_supplicant ver 0.6.10です。

設定ファイルは、/data/misc/wifi/wpa_supplicant.conf にあります。

mzoneconfで設定を行ったあとの/data/misc/wifi/wpa_supplicant.confは以下のような感じでした。

ctrl_interface=wlan0
ap_scan=2
update_config=1

network={
        ssid="自宅のSSID"
        psk="自宅のWPA-PSKキー"
        key_mgmt=WPA-PSK
        priority=1
}

network={
        ssid="docomo"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

Android側か、無線LAN側か、どちらの要因かはわかりませんが、うちの環境では上記設定では、無線LANを検出しなくなってしまいました。
元との設定差異をみた結果、おそらくは「ap_scan=1」が「ap_scan=2」になったことが原因なのではないかと思い、wpa_supplicant.confをファイルを直接書き換えました。
また、プライオリティが1000って大きすぎ?と感じたので、10としてみました。

ctrl_interface=wlan0
ap_scan=1
update_config=1

network={
        ssid="自宅のSSID"
        psk="自宅のWPA-PSKキー"
        key_mgmt=WPA-PSK
        priority=1
}

network={
        ssid="docomo"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=10
}

この変更後、再起動を行って、正常に動作することを確認しました。

ちなみに、mzoneconfでは、Mzoneアカウントを使ってのBB モバイルポイント(mobilepoint)および成田空港エアポートネットでの有料ローミングアクセスが利用できます。
その設定を有効にした場合にwpa_supplicant.confに追加される設定は以下の様になっていました。

network={
        ssid="mobilepoint"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

network={
        ssid="NRT-AIRPORT"
        scan_ssid=1
        proto=RSN
        key_mgmt=IEEE8021X
        pairwise=NONE
        group=WEP104 WEP40
        auth_alg=OPEN SHARED
        eap=PEAP
        identity="ユーザ名-mopera@docomo"
        password="パスワード"
        phase2="auth=MSCHAPV2"
        priority=1000
}

DD-WRTでFON接続を行う[準備編]

久しぶりにFONの存在を思い出して接続してみようかな、と家捜ししてみたけど、出てこず
仕方が無いから、うちで使ってるDD-WRTをインストールしたWBR-G300Nで代用できないかな?と手段を探してみた。

まず、DD-WRTの管理画面にある怪しい「ホットスポット」の項目について調査。
SputnikHotspot SYstemWifidogChillispotというのに対応しているらしい。

で、FONは、Chillispotを利用して構築されているらしい。

じゃぁ、とdd-wrtとCHillispotについての情報を探すと、dd-wrtの公式wikiにいくつか情報がある。
Chillispot単独についてのまとめ
FONのHotspotになるための設定
FON純正LaFoneraにdd-wrtを入れた場合のFON対応方法

FON Hotspotを読む限りでは、重要なのは・・・
・FON純正ルータから、WAN側のMACアドレスを抜いてくる
・dd-wrtの管理画面からはChillispotに関する設定操作を行わない
・JFFS2モジュールを有効にしてログ保存とかできるようにする必要がある。といっても無効でもなんとかなる。

とりあえず、実際に試すのは明日かな・・・

(2012/03/08 注: いろいろ調べた結果FON純正ルータを使わないといけないので、この記事の続編はありません。)

MIPS Androidで動くアプリ

NOVO7 Basic関連でフォーラムを見ていたら、NOVO7 Basicで動くというアプリをまとめたものがあった。
[资源分享] [10月28日更新]Novo7普及版君正4770方案MIPS第三波资源分享加网友急需解决的应用程序

・第一波上传软件、游戏资源包地址: http://115.com/folder/f80f4938188#
Game.rar(20個のapk)とAinol_Mips_apks.rar(91個ぐらいのapk)

・第二波Novo7普及版常用软件单独APK整理,包括QQ for Pad 1.7等: http://115.com/folder/f8018bf3238#
 いろいろな単品apkファイル。48個のapk
 KingsoftOffice_V4.0.0.1.apkが動くらしい

・第三波重磅资源:51个在3.2安卓测试固件上实测OK的游戏资源,理论上应该2.2一样通用: http://115.com/folder/f7360580843#
 Android 3.2で動いたというゲーム群。51個のapk

ところで、最近、ronziのhttp://www.ieronzi.com/にアクセスできません。
つぶれたのかなぁ・・・

mbr-bootを作成してみる

NOVO7 Basicのfirmwareに入っていたx-bootのソースファイルからronzi A3で動くものを作ってみようと試みた。
目的としては、Cruz Tablet T301やNOVO7 BASICのように、SDカードに載せたupdate.zipからアップデートできないかなー、とか、そんなの感じで。

コンパイル手法は・・・
「make 機種名」で初期設定を行い
「make release_config」でデバグ系設定を取り除き
「make」でコンパイルを実行する
というものである。

ronzi A3の中を見ていると機種名として「lynx」とあったため、その関連と思われる設定を試した。

まず「nand」と「msc」という2種類のbootローダがあり、ronzi a3で必要なmbr-xbootを作成するのは、「msc」の方であった。

lynxのmsc向け設定は以下の3種類があり、コンパイルし書き込んで見たら、それぞれブラックアウトで起動してこなかった。
・lynx_msc_config
・lynx_jz4760b_msc_config
・lynx_jz4760b13_msc_config

画面が出てこないということは液晶操作系がうまくいっていないからかと判断。
とりあえず画面サイズである480×272を設定している箇所がどこかにないか調査。

boot/lcd/jz4760_lcd.c 内で設定されており、「CONFIG_JZ4760_ANDROID_LCD_AUO_A043FL01V2」という定数が指定されている場合に有効になる箇所に「480, 272」といった記載があることを発見。

この定数を定義しているのは「lepus_msc_config」の時のみだけであったため、「make lepus_msc_config」で作成してみたが、結果は変わらず。
「lepus_jz4760b_msc_config」は液晶コントローラが違うが、「make lepus_jz4760b_msc_config」で初期設定を行った後、手動でinclude/config.hに「#define CONFIG_JZ4760_ANDROID_LCD_AUO_A043FL01V2 1」を記載し、試行してみたがブラックアウト。

分解写真を見ると、液晶は「KD43G18-40NM-A1」らしい。
似た型番としえは「CONFIG_JZ4760_ANDROID_LCD_KD50G2_40NM_A2」というのがある。

型番の命名規則は以下のようになっているとのこと。(メーカであるK&DKD50G2-40NM-A2仕様書)
KD+「インチ」+「Productor Type」+「型番」-「インタフェースのPIN数」+「タッチパネルかどうか」+「LCDタイプ」-「レビジョン」

Productor Type: D=Digital photo frame DVD、G=GPS、M=MP、P=Mobil-Phone
タッチパネルかどうか: T=タッチパネル、N=Notタッチパネル
LCDタイプ: A=AUO、 M=CMO、 C=CPT、 P=PVI、 L=LG、 W=Wintek、 H=HSD、 T=Topply、 Y=Hydis、 I=Hitach、 S=Sharp

ということなので、GPS向けタッチパネル無しのCMO製の液晶を積んだモジュール、ということになるはずなんだけど、タッチパネル無しって・・・?

調べてみると「lepus_jz4760b_msc_config」が「CONFIG_JZ4760_ANDROID_LCD_KD50G2_40NM_A2」だったので、「make lepus_jz4760b_msc_config」で書き込んで見たが、かわらず。
次にboot/lcd/jz4760_lcd.c内のCONFIG_JZ4760_ANDROID_LCD_KD50G2_40NM_A2に関する定義で「800×600」を設定している箇所を「480×272」に変更したが、状況は変わらず。

それと平行して、どうやったらupdate.zipからのfirmware適用ができるのかを調べてみた。
発動条件が、ボリュームUPキーを押しながら電源ONということだったので、機種毎の設定があるinclude/configs/のファイルを見比べた。
その結果、「GPIO_KEY_VOLUME_INC」がボリュームUPキーの定義で、NOVO7 Basicの設定ファイルであろうnpm701.hでは「XBOOT_SEL_RCVR_KEY」に関連づけられていた。
もう1つ、「XBOOT_SEL_FAST_KEY」という機能は、ボリュームDOWNキーに割り当てられている。

Cruz Tablet T301の設定ファイルであるtablet_p2.hでは、「XBOOT_SEL_RCVR_KEY」は「GPIO_SW1=VOL ADD=ボリュームUP」に割り当てられており、「XBOOT_SEL_FAST_KEY」については未定義になっている。

さて、ronzi A3について見てみる。lynx.hかlepus.hのどちらがそうなのかによって、状況が違う。
lynx.hでは「XBOOT_SEL_RCVR_KEY」は「GPIO_KEY_MAIN」、おそらくMAINキーとはHOMEボタンに割り当てられている。
「XBOOT_SEL_FAST_KEY」は「GPIO_KEY_VOLUME_INC」に割り当てられているが、存在はしていない。

lepus.hでは「XBOOT_SEL_RCVR_KEY」は「GPIO_KEY_VOLUME_DEC」、ボリュームDOWNボタン
「XBOOT_SEL_FAST_KEY」は「GPIO_KEY_VOLUME_INC」、ボリュームUPボタンに割り当てられている。

このことから、ronzi A3は、やっぱりlynxなんじゃないかなーとは思う。

で、これを見る限りでは、ronzi A3でも、ちゃんとupdate.zipを作ってやれば、アップデートできる可能性があるのではないかと思う。

(recovery.img.cpioはsplit_bootimg.plでkernelとcpio.gzに分離できた。)

モバイルバージョンを終了