やりすぎたか・・・(´∀`;
仕方ないので、ファームを一から入れなおしてるときに気が付いた。
scriptcmd中を覗くと、
setenv wifi_powerdown D8110064|0x4,D811008C|0x4,D81100B4&~0x4( ゜д゜)・・・おまえかっ!!
setenv wifi_powerup D8110064|0x4,D811008C|0x4,D81100B4|0x4
<略>
saveenv
こんなところにデバイスon/offの隠しコマンドが入ってた。
そういや、玄箱いじってたときに同じようにu-Bootでカーネルパラメータ渡してたなぁ~と、いまさら気付いたわ。
てか、その他の環境変数を眺めてみると、ぞろぞろとデバイスコントロールの変数が格納されているようだ。
こいつらは、ファームのアップデート処理の段階でsetenvされた後、saveenv、つまりM001内蔵のフラッシュメモリに格納され保存される。
ファームのアップデート処理が終わり、普段どおりu-Bootからカーネルが起動していくと、格納されているものが読み込まれる。って按配。
で、書いてある通り、
GPIO : 0xD81100B4 の 0x4 ビットを立てると内部USBが活性化。
0x4ビットを寝かせるとUSBが切れる。
あとは簡単。
wifi_powerdown のときでも0x4ビットを立てっぱなしにすればいい。
setenv wifi_powerdown D8110064|0x4,D811008C|0x4,D81100B4|0x4で、、、、
環境変数領域を直接読み書きする方法が分からなかったので、scriptcmdを作り直してアップデータを利用する。
修正した内容でテキスト記述したコマンドファイルを作り、
Linux上で mkimage して scriptcmd を作り直した。
SlateDroidの記事を参考にmake。
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'wifi never off' -d scriptcmd.txt scriptcmdたまたま、VMwareなubuntuを入れてたのでサクッと。
Win用のmkimageがあればそれでもいいと思う。
で、、、
ファームを再インストールww
めんどくせー(笑)
でも、、、、、
ばっちりww
wifi offでもUSB切れませーん\(^o^)/
でも、wifiへの電源供給は続くって事なのでバッテリを食う。
実際には、ネットワーク自体は繋がってないからいいんだけど。
ログの様子。
wifi power up:D8110064|0x4,D811008C|0x4,D81100B4|0x4
gpio op: 0xD8110064 | 0x4
gpio op: 0xD811008C | 0x4
gpio op: 0xD81100B4 | 0x4
wifi power down:D8110064|0x4,D811008C|0x4,D81100B4|0x4
gpio op: 0xD8110064 | 0x4
gpio op: 0xD811008C | 0x4
gpio op: 0xD81100B4 | 0x4
え?フライトモード??
フライトモードなんてただの飾りです。
偉い人にはそれがわからんのです。キリッ。
これで、USBメモリもキーボードも切れる事が無くなった。
今なんかこんな感じ(^_^;
ところで、
setenv hibernation_ui noこれナニ?
おおお?ということは、ハイバーネーション(スリープ)が
返信削除出来るようになるって事ですか???PDAみたいに、
スリープ時に電源が食われないと、一気に使い勝手があがりますね!
yesにしても何も変わらないんですけどね(・ω・)
返信削除何かそんなアプリがあるのかな。
オリジナルファームのscriptcmdに入ってるので、何かテスト的に入れてみたのが残ってるだけなのかも。
ていうか、最近ファームの更新がされないから、そろそろ放置の方向なのか!?えぇぃ!w
swapで動かしてるとバッテリーの消費が激しい今日この頃。