[2020年9月19日追記]iOS14の方は、もう一度IPCCを2つ作成する必要がありますが、iOS13からiOS14へのアップデート自体はIPCCを作る前に行ってしまって問題ありません。iOS14におけるIPCC作成手順の差異も本文に追記してあります。iOS14にアップデート後、iOS14用のIPCCが2つ作れたら、まずデフォルトのUnknown.bundle(iOS14で作ったやつ)に戻す→UQのバンドル(iOS14で作ったやつ)を充てるという手順を踏めば使えるようになるはずです。
楽天モバイルを契約して、普通に使えると思ってたらまさかのパートナーエリア(auエリア)でSMSが受信できないなんて困る!国内版5s/SE/6/6s/7/8/Xに至っては電波すら掴まない!
という方。めちゃくちゃ分かります。自分もそうでした。旧楽天モバイルで普通にiPhone使えてたんだからRakuten UN-LIMITでも普通に使えると思いますよね。それで自分もMVNOの楽天モバイルからMNOの楽天モバイルにMNPで引っ越したのですが、その時使っていたXで使えないことを知ったのはMNP転入完了後。仕方ないし11Pro買うかあ…と思ってXを売却してから例のバンドル書き換え方法が世に上がってきたので、そりゃもうちょっと早く言ってよとは思いました。そんな矢先の新型SE発表だったのが不幸中の幸いでしょうか。
で本題に戻りますが、自分なんかは、SMS認証なんてよくあるのでSMS認証するたびに電車で往復1時間以上かけて楽天エリアまで行くなんて面倒くさすぎます。
そこで、比較的古いiPhoneでも楽天モバイルを使えるようにする&比較的新しいiPhoneでもパートナーエリアでSMSを使えるようにしてテザリングも使えるようにする方法を開拓したのでこの記事を読んでくださっているみなさんにシェアします。仕組みに関しては最後で述べています。
注意事項
自分の環境で実証済みですし、流石に壊れることはないと思いますがあくまで自己責任でお願いします。何かトラブルが発生しても一切責任は負いません。
また、IPCCファイルの作成・キャリアバンドルの適用作業は、どれもPC操作・知識において初歩的なものばかりですので質問には一切回答しません。自己解決してください。この記事では手法を紹介しているのであって、サポートをするとは言っていません。言い方はきついですが、IPCCファイル1つ作るにしても、iTuesnのキャリアテスティングモードを有効化させるにしても、そういった事ができないのでしたら、今後キャリアバンドル適用後何かトラブっても自己解決に至るのは難しいかと思います。
目次 [非表示]
IPCCファイルを作る
このページで各モデル用の移植版IPCCファイルを配布していましたが、権利問題について指摘があったので配布をやめます。IPSWからキャリアバンドルを引っ張ってIPCCファイルを作る方法に書き換えます。
IPSWをダウンロードする
ipsw.meを開くと歴代iPhoneのリストが表示されるので、IPCCを作りたい端末をクリックします。
尚、GSMとGlobalの2種類項目が存在する端末がありますが、日本国内で購入したiPhoneの場合はGlobalを選択してください。海外購入の場合は、国によってGSMかGlobalか違うのでご自身で調べてください。
端末のページを開くと出てくるリストから、これから楽天モバイルを使用可能にしたいiPhoneにインストールされているiOSのバージョンをクリック
するとダウンロードページが表示されるので、ページ下部の青いダウンロードボタンをクリックしてダウンロードします。
TransMacをインストールする
Windowsをお使いの方は、こちらのページよりTransMacのセットアップファイルをダウンロードしてPCにインストールしてください。
Macの場合はこの手順はスキップして結構です
ダウンロードしたIPSWを展開する
Windowsの方は7zip、Macの方はThe UnarchiverなどでダウンロードしたIPSWファイルを展開してください。
DMGファイルを展開する
IPSWファイルを解凍すると、このようなファイル構成になっていると思います。この中で、一番サイズが大きいDMGファイル(約3~4GB)を、Windowsの方はTransMacで、Macの方はダブルクリックで開きます。
TransMacの場合、ファイルツリーにあるDMGファイルを開くと、更にフォルダーが出てきますので、そのフォルダーを開くと
このように処理が始まりますのでしばらく待ちます。
キャリバンドルを引っ張ってくる
展開が完了したら、このようにフォルダーがずらずら出てきますので、
System→Library→Carrier Bundles→iPhone→と進みます。
すると世界中のキャリアが出てくるので、iPhone11シリーズ以外なら「KDDI_UQ_LTE_only_jp.bundle」というフォルダー、iPhone11シリーズなら「Turkcell_tr.bundle」と、これはデバイスに関わらず「Unknown.bundle」というフォルダーを任意の場所にコピーしておきます。TransMacの場合は、フォルダー選択→右クリックで「Copy to」を選択して、任意の場所を選択してください。Macの場合は、FinderでDMGを開いているので、いつもフォルダーをコピペするのと同じ要領で、どこかにコピーしてください。そして、Macの場合はコピーしたフォルダーの「.bundle」という拡張子を消しておいてください。フォルダーとしてMacが認識してくれません。
IPCCファイルを作る
ここからはWindows、Mac共通の操作です。
注:iOS14の方は、「Unknown.bundle」や「Unknown」を「unknown.bundle」「unknown」に読み替えてください。先頭の「U」が小文字になりました。
まず、「Payload」というフォルダーを作り、その中にWindowsなら「Unknown.bundle」、Macなら「Unknown」というフォルダーを作ります。
そして、そのUnknown.bundle(Win)もしくはUnknown(Mac)フォルダーの中に、先程コピーした「KDDI_UQ_LTE_only_jp.bundle」や「Turkcell_tr.bundle」の中身をコピーします。
念の為確認しておきますが、今は、先程作ったPayloadフォルダーの中に、Unknown.bundle(Win)フォルダーもしくはUnknown(Mac)があって、その中にcarrier.plistファイルやsignaturesフォルダーがある状態(「KDDI_UQ_LTE_only_jp.bundle」や「Turkcell_tr」の中身がある状態)です。デバイスによって、ファイルの構成に差が少しありますが、だいたい画像通りになります。
これができたら、Macをお使いの方は、Payloadフォルダー直下の「Unknown」フォルダーを「Unknown.bundle」にリネームして下さい。その後、Windows、Macどちらをお使いの方も、PayloadフォルダーをZIP形式で圧縮してください。その時、ファイルの拡張子はzipではなくipccにしてください。ファイル名は何でもいいです。これでIPCCファイルの完成ですが、初期状態に戻す用のIPCCも作っておきます。
先程DMGから持ってきた「Unknown.bundle」フォルダー(このフォルダー名に関してはiOS14であっても先頭のUが大文字です)も同じように、Payloadの中にUnknown.bundle(Win)もしくはUnknown(Mac)フォルダーがあって、その中にDMGから持ってきた方のUnknown.bundleフォルダーの中身があるという状態にします。フォルダーが作れたら、同じようにZIP形式で圧縮してIPCCファイルを作ります。
確認しますが、今、「KDDI_UQ_LTE_only_jp.bundle」や「Turkcell_tr.bundle」から作ったIPCCファイルと、「Unknown.bundle」から作ったIPCCファイルの2種類があります。
これ以降で述べているIPCCは「KDDI_UQ_LTE_only_jp.bundle」や「Turkcell_tr.bundle」から作ったIPCCファイルの事を指しています。
やっぱり元に戻したいなあってときは、「Unknown.bundle」から作ったIPCCファイルを当てはめてれば元に戻ります。
iTunesでキャリアテスティングモードを有効化させる
既に有効化させている場合はこの手順はスキップして結構です
Windowsの場合
コマンドプロンプトにて
"C:\Program Files\iTunes\iTunes.exe" /setPrefInt carrier-testing 1
というコマンドを実行してください。iTunes.exeのパスは適宜変更してください。ほとんどの方はこのパスだと思いますが。
macOSの場合
macOS Catalina 10.15以降であれば、ターミナルにて
defaults write com.apple.AMPDevicesAgent carrier-testing -bool YES
というコマンドを実行してください。
macOS Mojave 10.14以前であれば、
defaults write com.apple.iTunes carrier-testing -bool YES
というコマンドを実行してください。参考
キャリアバンドルをiPhoneに適用させる
iTunes(macOS Catalina以降はFinder)からiPhoneの概要画面を開き、Windowsは「Shift」Macは「Option」キーを押しながら「iPhoneを復元」ボタンを押します。
するとファイル選択ウィンドウが開くので、ipccファイルを選択してください。なお、Windowsの場合は、右下のプルダウンメニューからipccを指定しないとファイルが選択できませんので指定するようにしてください。
すると、「iPhoneのキャリア設定をアップデート中」というモーダルが表示された後すぐ消えると思いますので、モーダルが消えたらiPhone本体を再起動してください。
※macOS Catalinaでもipccを当ててみましたが、モーダルが表示されませんでした。CatalinaからFinder管理に変わった影響かもしれません。Mojave以下の挙動はわかりませんが、Windowsならモーダルが表示されます。
APNの設定をする
iPhoneよりこのページを開いて、ダウンロードボタンをタップし、構成プロファイルをインストールしてください。
すると、Rakutenという名称の電波を掴みます。(実際にはau)
これで完了です!
このように、テザリング、SMSの受信ともに完璧です。(SMSの送信に関しては、課金が発生するので試していませんがおそらくいけると思います。)
もし、動作しましたらコメント欄にて動作報告していただけると幸いです。
一応証拠と言ってはなんですが、バンド18です。
と長々と書いてきたわけですが、理解不能な方でかつMacを使ってる方はこのページの解説が分かりやすいのでおすすめです。
手法発見に至った経緯
数週間前から、しゅうさんのブログにて紹介されている手法を用いれば、国内版iPhone 6s・SE(第1世代)・7・8・Xでも楽天モバイルが使える!といったものがありました。しかも、パートナーエリアでSMS受信までできるようになると言うのです。「これはすごい!手元にSEが届いたら自分も試してみよう!」と思って、少しばかりiPhoneのキャリアバンドルについて勉強しました。その後、格安SIMとスマホ比較というブログで、「(本当は普通に使えるはずの)iPhone XRで検証してみたらパートナーエリアでSMSは使えるようになったけどテザリングできなくなった」という情報を得ました。まあSMS受信できればテザリングは犠牲にしてもいいだろうと思っていたのですが、いざSEが手元に届いて試してみてもSMSを受信せず。色々なキャリアのipccを試してみたのですが、やはり無理で完全に詰んだと思いました。
そこで、新型iPhone SE用のプロファイルがipccに入っていないからいけないのでは?と思いつき、新型iPhone SE用のipswからipccを抽出してみることにしてみました。既にこの時、auのリソースを使ってるんだからauのキャリアバンドルを抽出するのが妥当だろうという考え(SMSの規格が他と違ってSMS over IMSだったりするし、とかいう考え。ソース)がありました。なので、なんでしゅうのブログではわざわざdocomoのバンドルを使った手法を紹介しているんだろうという疑問がありました。とりあえずauのキャリアバンドルを抽出。すると中にD79という見たこと無いモデル用のプロファイルが。この時点で「これは勝ったな」と思いました。早速Unknown.bundleに書き換え、ipccにパッケージング、iPhoneにインストール。最初は圏外のままだったので、やはりだめかと落胆していたのですが、APNを設定するとアンテナピクトの横に「Rakuten 4G」の文字が。しかもメッセージアプリにバッチが溜まってる….。この瞬間はまじで目を見開きました。
しかしこれだけではまだいけません。テザリングできない問題が残っています。これも元から目星はついていて、おそらくauのテザリングは、一旦auで申し込みをしないと使えないからデフォルトでは制限されているのだろう、ならau系のUQとかBIGLOBEのキャリアバンドル(更に付け加えるとau系でJCOMのキャリアバンドルもあります)を使えば解決するだろうという考えはありました。早速UQのキャリアバンドルで試してみるとビンゴ。SMSの受信は可能だし、テザリングも可能です。
でさらに思ったのが、この手法が可能ならSE以外の端末でも、それぞれの端末のipswから同じようにキャリアバンドルを抽出して、UQでUnknown.bundleを置き換えればパートナーエリアでSMSも受信できるし、テザリングも使えるのではということです。
ということで、SE以外用のipccをいくつか置いておいたのですが、検証してくださった方がいて動作確認が取れたので、記事の趣旨をSE向けからiPhone全般向けに変更しました。
そもそもなぜ楽天モバイルをiPhoneで使えないのか?
「楽天はなぜiPhoneを使えないようにしているのだ!?」という感じの勘違いをなさっている恥ずかしい方(笑)のツイートをたまに見かけることがあるので書いておきます。まず、iOSに楽天モバイル用のキャリアバンドルが内包されていないため、iPhone等に楽天モバイルのSIMカードを刺すと、Unknown.bundleがロードされるのですが、そのUnknown.bundleに原因があります。X以前が圏外になるのは、Unknown.bundleでVoLTEが無効化されていて音声通話モードでIMSに登録できないからです。それ以降のモデルでも、パートナーエリアでSMSが使えないも似たような理由で、Unknown.bundleが、IMSに音声通話のみ登録してSMSは登録しない仕様になっているからです。auの設備的にSMSを使う場合はIMSへの登録が必須なのでこのような自体になります。参考
ということで、楽天モバイルでiPhoneが使えないのはどちらかというとApple側の問題です()
日本において高いシェア率を誇るiPhoneで使えないのに特に言及もせずに広告打ちまくる楽天もどうかと思いますがね!
iPhone11シリーズに関して(解決済み)
11シリーズのipswを覗いてみたところ、過去のバージョンのものも含めて、UQ版の11シリーズ用のプロファイルが存在しませんでした。普通のauやdocomoのキャリアプロファイルには存在していたので、UQ側が11シリーズのプロファイルをそもそも作っていないのだと思います。BIGLOBEやJCOMのバンドルも覗いてみましたが、同じく存在しませんでした。なので苦肉の策ということにはなりますが、11/11Pro/11ProMAXの場合は、UQではなくauのキャリアバンドルを使うことによってテザリングを犠牲にする代わりにパートナーエリアでSMSの使用が可能になります。
→SMS受信も不可能のようです。(auバンドル・docomoバンドル共通)
APN直接指定・バンド3問題
APN直接指定問題
自分が知る限り、日本のキャリアで、iPhoneでAPNの直接指定を許可しているキャリアはないのですが、UQモバイルも例によってその日本のキャリアの中の1つです。なので構成プロファイルを使ってAPN設定をするわけですが、この場合、MVNO+楽天モバイルという使い方をすると、iOSでセットできるAPN設定用の構成プロファイルは1つだけなので、どちらかを犠牲にする必要がある問題が発生します。
対して、海外のキャリアの多くはAPNの直接指定を許可しています。ならば、海外キャリアのバンドルで楽天モバイルが使えるものを探し当ててみれば良いと見当を付けていました。
とりあえず、海外キャリアはAPN直接指定可能なことが多いという事実だけ把握しておいてください。次に行きます。
バンド3問題
「UQのバンドルを使うと、楽天エリアにいてもバンド18しか掴めない。」や、「楽天エリアに行くと圏外になる」といった報告がありました。この問題に関して、5chにいる有志(主にMakotoさん)によって色々な議論がなされ、「ならバンド3だけ掴む海外のキャリアバンドルを探し当てればいいじゃん」ということになりました。そこで、バンド3しか掴まない”はずの”海外キャリアをMakotoさんがいくつかピックアップ、そのうちTurkcellというトルコのキャリアのキャリアバンドルが、バンド3だけ掴むはずだったのが、バンド18も掴んで更にはパートナーエリア(バンド18エリア)でSMSも使えるといったミラクルが起きました。
はい、ここでさっきの話とつながってきます。海外キャリアであるTurkcellのバンドルは読み通り(?)APN直接指定可能でした。そして、バンド3も掴めるバンドルです。
つまりTurkcellのバンドルを使えば、APN直接指定問題とバンド3問題を一気に解決できるはずです。
ということだったのですが、環境によって挙動が左右されるっぽいです。
海外バンドルに関してはMakotoさんが詳しく書いているので参考にしてみて下さい。
楽天モバイルに応用できる海外バンドルはTurkcell以外にもありますが、動作検証の多さということでこのページではTurkcellを使った手法を紹介しています。
楽天回線エリアに行ってみた
SEを買ってから楽天エリアには1度も行ったことがないので、バンド18からバンド3に切り替わった時の挙動などを確認してきました。
Turkcellのバンドルを使用して確認していますが、UQのバンドルでも全く同じ挙動です。
(検証した場所:石神井公園駅)
まず受信バンド(電波)の切り替えに関してですが、Turkcellのバンドルを適用させた状態で楽天エリア付近に行くと、
アンテナピクトの表示がどんどん小さくなっていって、
一瞬圏外になります。
そしてアンテナピクトもマックス、キャリアもRakuten LTE表記に戻ります。
と、ここで今受信してるバンドを確認してみると、
「やったー!バンド3だー!」てな感じです。
次に、楽天エリアにいて、仮にバンド18を掴んでいてしまっても手動でバンド3を掴めるかに関してですが、設定->モバイル通信->ネットワーク選択にある「自動」のトグルスイッチをオフにしても、ネットワーク一覧が表示されませんでした。何度やっても同じでした。結構待ってもですよ。動画
これはどこで撮ったのか忘れたのですが、少なくとも楽天エリア付近ではあります。何回か周囲の電波は検索していますが、PLMNが44011の電波は1回も見かけませんでしたし、「Rakuten」が2つ並んでるなんてこともありませんでした。
追記:どうやら東京23区ないではそもそもバンド18が吹いていないらしいです。
あぁ
コメントの時系列が変わったんだね?
改めて、お久です。
iOS14.4.1環境でSIM下駄不要のipcc適用ができるようになりました。
ただ、今までのバンドルやunknownは使えなくなってるので、別のになります。
詳細はブログで。