2013年2月9日土曜日

SO-03D の自動調光を無効にする

自動調光が on になっていると、画面がチラチラって感じで明るさが変わり気になって仕方がない。”アンドロイド 自動調光" でぐぐると、同じようなことを考えている人が多数。機種によっては unrootな状態でも有効/無効化できるものもあるが、残念ながら SO-03D ではできない。

自分の場合は root化しちゃっているので、次の手順でサクッと変更を行う。

DOSプロンプトで
adb pull /system/etc/hw_config.sh

サクラエディタで編集、最下行から4行目当たりにある
echo 1 > $dev/lcd-backlight/als/enable  #Sensor on/off. 1 = on, reg 90h

echo 1 > $dev/lcd-backlight/als/enable  #Sensor on/off. 1 = on, reg 90h ← 記述をミスってた(3/11)
echo 0 > $dev/lcd-backlight/als/enable  #Sensor on/off. 1 = on, reg 90h
に変更

DOSプロンプトで
adb push hw_config.sh /data/local/tmp/hw_config.sh

アンドロイド端末でESエクスプローラー(別のものでもいいけど)を起動し、ルートオプションで/system を書き込みでマウントしておく。

ESエクスプローラーで /data/local/tmp/hw_config.sh を /system/etc/hw_config.sh にコピー。多分パーミッションは 644 になっていると思うけど、念のために確認をしておく。

ルートオプションで/system を読み取りモードに変更しておく。

再起動して、チラチラしないことを確認。

おしまい

2012/02/12 追記

うむ、まだ時々ちらつく。さらに hw_config.sh に変更を加えてみる。

echo 1,0,0,0 > $dev/lcd-backlight/als/params  #[gain],[filter_up],[filter_down],[offset]

echo 0,0,0,0 > $dev/lcd-backlight/als/params  #[gain],[filter_up],[filter_down],[offset]
に変更。

これで所望の動作となってくれればいいのだが。

2012/02/13 追記

うむ、まだ時々ちらつく。さらに hw_config.sh に変更を加えてみる。

echo 1,80,255,5,16,9,16 > $dev/lcd-backlight/als/curve  # ALS curve for group1

echo 1,80,255,0,0,9,16 > $dev/lcd-backlight/als/curve  # ALS curve for group1
に変更。

xda だとオール255 にしているけど、参考にしたページに合わせてみることにした。機種が違うので、何ともいえないところだが。

5 件のコメント:

  1. 1ヶ月も前の記事に横槍。別機種ですが私もハマったので。

    /sys/devices/i2c-0/0-0040/leds/lcd-backlight/als/
    と辿るとenableというファイルがあると思いますが、それを開いて1になっていればセンサーがonのままだということです。

    自分の場合hw_config.shの末尾に
    echo 0 > /sys/devices/i2c-0/0-0040/leds/lcd-backlight/als/enable
    と追記してやるとoffにできました。
    なぜ書き換えでは無理で追記だとできるのか不思議ですが・・・。

    返信削除
  2. こんにちは、情報ありがとうございます。
    ご指摘の enable ファイルですが、文中の「サクラエディタで編集、
    最下行から4行目当たりにある~」での変更が該当します。enable
    の値も 0 になっておりました。

    /sys/class/leds/lcd-backlight は
    /sys/devices/i2c-3/3-0040/leds/lcd-backlight へ
    シンボリックリンクが貼られていました。

    初期状態と比べて、ちらつき度はかなり抑制されているので、いい
    といえばいいのですが...

    返信削除
  3. 分かりにくい書き方ですみません。私も元から書かれていた
    echo 1 > $dev/lcd-backlight/als/enable
    を0に書き換えたのですが、enableファイルの方が1のままでした。
    同じXperiaシリーズとはいえ機種によってやはり違いがあるのでしょうかね。

    ちなみに前述の追記をしたあとはちらつく感じはないように思います。
    (今後変化があるのかもしれませんが・・・)

    返信削除
  4. 只の物干しさん

    確かに Xperia でも機種によって微妙に違っているみたいですね。
    ググっても色々と情報があり、どれが当たるかやってみないと
    分からないですからね。

    本来はいじれない領域なので、仕方ないですけどね :-) でも、
    いじるのが面白いんですよね~

    今後も情報ありましたら色々教えて下さい!!

    返信削除
  5. ごめんなさい、試験が足りていなかったようです。

    今再起動をかけ、enable の値を見たら 0 になっていました。
    只の物干しさんの方法で変更し、追試をすることにします。

    返信削除