【悪癖】NCP-HG100をOpenWrt25.12.4にしたらIPv6が使えないから適当に対策した

2026年5月28日

障害内容

NCP-HG100、modemmanager、楽天モバイル環境で、OpenWrtを24.10.5から25.12.4に更新
WWANにIPv6アドレスが降ってこない
24.10.5に戻しても直らない
etc/configの設定ファイルは変えてない

2026-05-28追記

「設定ファイルを変えてない」ことが原因だった

modemmanagerのREADME↓に書いてあったのだが、オプションが追加されたんだよね

https://github.com/openwrt/packages/tree/master/net/modemmanager

で、/etc/config/network のWWANセクションに下記オプションを追加したら解決した😅

option init_epsbearer ‘default’

原因究明

設定ファイルでipv4v6を指定しても、モデムのPDP Context(不揮発設定)にIPv4設定が書き込まれる
モデムにIPv4v6を書きこんでおいてもIPv4設定が上書きされてしまう

なのでモデムはIPv6通信しないことになる

2026-05-28追記

option init_epsbearer が未定義だと、’none’指定だそうで。Do not set an initial EPS bearer となり

どういう理屈かは知らんがモデムにIPv4設定を書きに来る。仕様変更の理由は知らんがNCP-HG100のモデムLN940A9と楽天モバイルの組み合わせに関して言えばsimple_connectで問題なく使えてたんだし。

設定ファイル引き継ぎで、なるべく従前と同じ動作をするようにしてほしいよね

つまり、optionが未定義のときは ‘default’ 推定にしてくれよな😑

って思っちゃたよね。まあなんか思想とか都合とかあるんだろうけどさ

対策方針

2026-05-28追記

設定ファイル修正のみでOK

なんか上手く動かないときにリリースノートも読まず思いつきでコードを弄り始めると以下のように無駄なことをする羽目になります

Copilotに質問してみると、上から目線で正攻法を提案してきやがった
曰く、モデム設定の書き換え判断処理をデバッグしたらいいじゃん?
というのだが、
こちとら無職のおっさんなんだから、まともなJTAGデバッガとか持ってない😉
まともなJTAGデバッガなら5分でデバッグできる内容を
gdbの準備したりログ仕込んだりしてデバッグするほどには気分が乗らず。

コードをあさってると、モデムにPDP Contextを書き込むっぽい処理を発見したので、

コイツを無効化してモデムへの書き込みを阻止すりゃ解決するんじゃね!?😆という適当方針で決定!!!!

効果確認

モデムにIPv4設定が上書きされなくなり、IPv6通信ができるよーになった

工事手順

2026-05-28追記

結局のところ、/etc/config/networkのWWANセクションには何を書いてるのか?

config interface 'wwan'
        option proto 'modemmanager'
        option device '/sys/devices/platform/soc/8af8800.usb/8a00000.usb/xhci-hcd.0.auto/usb1/1-1'
        option apn 'rakuten.jp'
        option iptype 'ipv4v6'
        option init_epsbearer 'default'

以下は、modemmanagerがモデムにPDP Contextを書き込みに来るのを完全阻止する、というヤッツケ対応の残骸なので読む必要なし

  1. make clean; make V=s で正常にバイナリができるのを確認
  2. build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/modemmanager-1.24.0/src/mm-broadband-modem-qmi.c の、 static void store_profile_run (GTask *task) で、変数初期化の後あたりに以下を追記
    /* モデムへの書き込みを無効化 */
    g_task_return_boolean (task, TRUE);
    g_object_unref (task);
    return;
  1. make V=sで差分ビルド
  2. sysupgrade
  3. モデムのPDP ContextにIPv4v6設定を書き込む
    俺環境(atinout利用)
    echo ‘AT+CGDCONT=1’ | atinout – /dev/ttyUSB2 –
    echo ‘AT+CGDCONT=1,”IPV4V6″,”rakuten.jp”‘ | atinout – /dev/ttyUSB2 –
  4. qmicliでやるなら(なんかよく競合する印象・動作未確認)
    qmicli -d /dev/cdc-wdm0 –wds-modify-profile=3gpp,1,apn=rakuten.jp,pdp-type=IPV4V6

雑感

NCP-HG100弄りブログになってる現状。なんかもうちょっと日常生活のあれこれとかを書いてくブログにするつもりだったんけどね

思ってた以上に無職ニート適性があったみたいで、日々なんもしないんだからブログ書くのもまあやらないよね

これが本当に快適で、

FIREして人生謳歌するぞー!

みたいなポジティブ野望は無いからね。

やりたくないことをやらなくていい生活。俺が求めてるのはコレだったんよ😊