2013/08/21

海外ROM環境のSC-02Bで通話通信を両立させる

これまで様々な方の努力により2010年10月に発売されたSC-02B(Galaxy S)において最新環境(Android 4.3)で通話やモバイル通信が可能となっています。
しかしひとつ問題があり通話とモバイル通信を両立させることができませんでした。

SamsungExynos3DocomoRIL

以前考察しましたが通話時とモバイル通信使用時ではro.telephony.ril_classを編集する必要がありました。通話機能を主に使う場合はRILに、データ通信を主に使う場合はSamsungExynos3RILするといったような感じです。

しかし双方を両立することができるRILに置き換えるパッチが公開されていたため試してみることにしました。

準備するもの
sc02b_cm_rilpatch3.zip
【ROM焼き】docomo GALAXY S SC-02B root26で780氏がアップロードしているもの。

テスト環境ですが以前と同じです(cm-10.2-20130814-NIGHTLY-galaxysmtdとcm-10.2-sc02b-kernel-20130814)。

手順
・ダウンロードしたファイルを展開。


・SC-02BのUSBデバッグをオンにする。またCMはSuperuserが統合されているので設定-Superuser-設定-Superuser Accessに入りアプリとADB経由の両方を選択しておく(上記画像参照)。
・SC-02BをPCに接続。
・展開したフォルダ内でコマンドプロンプトを開きrilpatch.batを実行。


・何かキーを押して続行。


・SamsungExynos3DocomoRILのみ、SamsungExynos3DocomoRIL+セルスタ対策、telephony-commonとbuildpropを端末にコピーの3つから必要な物を選択する。
・作業が終わると端末が再起動するのでwipe cache partitionとwipe dalvik cacheを行う。
・端末を再起動して終了。

これで完了です。再起動後にBuildPropEditorでro.telephony.ril_classを確認するとSamsungExynos3DocomoRILになっていました(最初の画像参照)。


通話ですがXiSIM(通話契約のみ)で発着信を確認できました。


データ通信ですがIIJmioのSIMで動作確認できました。先ほどの作業時にセルスタ対策を加えておけばアンテナピクト表示も可能です。

ちなみに何度かアンテナピクトが表示されなくなり通話ができなくなる(ベースバンドは認識)という現象に見舞われることがありました。この現象が今回導入のパッチが原因なのか、ROMなのか、私の使用環境のみなのか今のところトリガーはわかりません。

解決方法としてはsc02b-OMLL1-modem.zipとsc02b-OMLL1-ril-gps-blobs.zipの焼きなおしで復活しました。この時は再起動だけでは復旧しませんでした。

というわけで海外ROM環境のSC-02Bで通話通信を両立させるパッチでした。これでSC-02Bで海外ROM使用時に通信が可能になった時からの問題が解決されました。うまくいけばかなり実用的になりそうです。

以下のサイトを参考にさせていただきました。
【ROM焼き】docomo GALAXY S SC-02B root26 (2ちゃんねるスマートフォン板 より)

関連記事
GALAXY S(SC-02B)のカスタム記事まとめ

4 件のコメント:

  1. こんばんわ
    私も導入してみましたが、
    通話中、近接センサー作動すると画面off になり
    そのまま回復しませんでした。
     >何度かアンテナピクトが表示されなくなり通話ができなくなる
    私もなります。
    その度に、wipe cache partitionとwipe dalvik cacheすると使えます。
    まだ若干不安定みたいですね。

    返信削除
    返信
    1. 私の端末では近接センサーによる画面のオフでの問題は今のところ起こっていません。SC-02BのJBにおいての通話通信は海外ROM、SC-02B専用カーネル、RILなどいろいろと複雑な環境の上に成り立っているので安定運用は難しいのかもしれませんね。
      本当は自分で突っ込んだ開発ができればいいのですがそこまでの情熱も無く…。それでも2年も前の端末でここまで遊べるとは思いもしませんでした。

      削除
  2. はじめまて、上記方法でrilpatch3を当てても失敗してしまいます。どこかのサイトで『Samsung公式で配られてるUSBドライバだとUSBデバッグモードにしても記憶装置と認識されてしまうので、ハードウェアIDをandroid_winusb.infに直接書き込んでインストール。あとpath通すのはてっきりtoolsとplatform-toolsだけかと思っていましたが、エラーをよく見たらjavaの方もpath通しが必要みたい。』と書かれていたのですがやり方がわかりません。rilpatch3の当て方を伝授していただけないのでしょうか?

    返信削除
    返信
    1. Samsungのドライバの件は良くわかりませんがパスに関してはtool、platform-toolおよびjavaに通す必要があります。

      削除

スパム対策のためコメントは承認制になっています