docomoのXperiaシリーズ(他の機種でも?)だと、特定のAPNでないとテザリングが出来ないようになっている。
普通のdocomo SIMでないSIM(Xiとかb-mobileとかイオンSIMとか?)だとつらい。
対象外のAPNでテザリングをONにしても以下のように「Network error occurred」とエラーメッセージが表示されてすぐにOFFになる。
/data/data/com.android.providers.settings/databases/settings.db を覗くと以下のようなテザリングの制限設定がされている。
(左端の数値は勝手に振られるただの連番なので意味はない)
sqlite> select * from secure where name like 'tether%';
29|tether_dun_apn|docomo tethering,dcmtrg.ne.jp,,,,,,,,,440,10,0,*
30|tether_dun_required|1
参考にした次のページによれば、これのtether_dun_requiredの値を0にしてやれば制限が外れる。
俺達のメガネ Xperia arc(SO-01C) 2.3.4アップデートでの Network error occurred 対策
http://chaosore.blog38.fc2.com/blog-entry-317.html
参考ページではSQLite Editerを使っているが余計なアプリをあまりインストールしたくないので、SQLを直接叩くことにした。
必要なsqlite3コマンドは、本来はAndroid SDKのエミュレータ上でしか使えない。ここでは、インストール済みだったTitanium Backupが自身の機能のために持っているsqlite3コマンドを使った。
以下、一通りの操作。
user@localhost:~$ adb shell
$ su
# /data/data/com.keramidas.TitaniumBackup/files/sqlite3 /data/data/com.android.providers.settings/databases/settings.db
SQLite version 3.7.6.3-Titanium
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from secure where name = 'tether_dun_required';
30|tether_dun_required|1
sqlite> update secure set value = 0 where name = 'tether_dun_required';
sqlite> select * from secure where name = 'tether_dun_required';
30|tether_dun_required|0
sqlite> .exit
# exit
$ exit
※ 2回のselectは値の確認のためで、別に必要な操作ではない。設定を書き換えたらrayを再起動。
テザリングをONにしても「Network error occurred」が出なくなってる筈。
※ パケット通信料についてはどうなるか知らん。
1 件のコメント:
XiのSIMでは何もいじらなくても問題なく使えます。(要spモード契約)
コメントを投稿