ADSL終了作戦のまとめ

マクさんです

10月というのにまだ暑いですが、狙いどおりYahoo BB! ADSLを解約して楽天UNLIMIT VIへ移行しました。それとNCP-HG100 を OpenWrt化したので、顛末を記載しておきますよと。

楽天UNLIMIT VI、お試し期間後にやらかし

3カ月使った感想

速度下り 30~50Mbps、予想外の回線断やダウンタイムは、なし

これは・・・優秀じゃ~ありませんか!

ADSLを代替して問題ない!

と感じたので、9月初旬に Yahoo BB! ADSL へ解約の連絡をしました

そしたら翌日、例の通信障害が発生(爆😅

これDNS障害だったとの噂である

8.8.8.8 設定して直るまで待ってりゃ良いんじゃね?

なんて思ってた頃は平和でしたねぇ~


その後、障害は復旧したとゆーことになってるんですけど、

iPhone でYahoo見るとページ読み込み終わらない・進まない!

ひどいと全くページを開けなくなり、WIFIをoff/on するしかない、なんてことになる

遂には温厚なる奥さんからも、苦情心配の声があがる始末だ。

ADSLを解約してしまった今、ずっとこのままだったらどーすればいいんかっ!?!?

震える手で握りしめた iPhone 6s に

額から大粒の冷や汗が滴り落ちる

「そういやコイツ、今どき防水じゃないんだよな」

なんでもVPN通すと障害が出ないらしい

という有益情報がネット上にあがっていた

早速、1.1.1.1 というアプリを入れ、WARP という VPN 機能を on してみる

なるほどYahooのページがサクサク見れるではないか

proxy 作ったらこれも効いてそうだったので、位置情報日本派の奥さんはこれで凌いでもらおう

理屈はわからんが、楽天網からインターネットへ細く(?)抜ければ良い、ということなのか


VPNといえば、

海外旅行や車中泊旅行のために、そのうち設置するつもりではあった

ウイルス騒ぎで旅行行かないから手つかずになっていたが・・・これは・・・・・・

VPNを設置しておくように。というFIRE神のお告げではなかろうか!?

だが手持ちの環境で、実用的なもんができるだろうか?

出先から自宅LANへアクセスしたいし、

いつも動いてる奴は NCP-HG100 しか居ない

qsdkのコイツにVPNクライアントを入れるのは大変そうだ

「サラリーマンは45歳で一旦全員辞めろ、なんていう世知辛い昨今だが、どうかね? 本職のルーターに転職してもらえんかね?」

 

OpenWrt 21.02を野良ビルドしてNCP-HG100に入れる

NCP-HG100 の機種サポートは、himalock氏、musashino205氏らによる

https://github.com/musashino-build/openwrt

があり、まだ master branch へ取り込まれてはいないが、利用可能である。

本稿は純粋にこの機種サポートを使わせて頂いたということであり、お二方には、ここに厚くお礼申し上げます。

ただ問題は、マクさんがOpenWrtをよく理解していない、ということである

わかってないくせに stable version で使いたい!

と思ってしまったので、devadd/ncp-hg100_mcu の修正変更を21.02 のリリースブランチに入れてみた

すると動いたので、スクリプトとかアプリとかを追加して、”オレ的いい具合”になった😃

しかしまだ問題があり、マクさんが耄碌爺だということである

1年経てば全てを忘却するは必定である

セキュリティアップデートやパッケージを更新したくなる度に、幼稚園級の知識から始めることになるのだ

ので、幼稚園児でも一発でビルドできるように、ここにパッチとビルド手順を置いておく、というのが本稿の目的です

パッチ

ここに置いておく 入れ替え更新してもバージョン管理は致しません

ビルド手順

git作業
$ git clone https://github.com/openwrt/openwrt.git
$ cd openwrt
$ git checkout openwrt-21.02

パッチを持ってくる
$ cp {somewhere}ncp-hg100_21.02.0_xxxxxx.patch ./
$ git apply ncp-hg100_21.02.0_xxxxxx.patch
  空白関連エラーが出るがパッチは当たるので無視
  パッチ適用しなかった旨のエラーが出たら
  $ git apply --reject ncp-hg100_21.02.0_xxxxxx.patch
  reject されたのを手修正


OpenWrtビルド手順を実施
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a


diffconfig適用
$ cp mydiffconfigs/diffconfig_ncp-hg100_xxxxxx ./.config
$ make defconfig
$ make download
$ make V=s

ブート用USBメモリの準備

普通のOpenWrt化は本体のFlashを書き換えるため、外部ストレージを必要としたりはしないものだが、本運用では rootfs と FIT image をUSBメモリに置いてます

OpenWrtを書き込んだUSBメモリをコネクタに刺して使うということです

容量はなんでもいいのだが、16GBのを使っています

割り当ては

  • 先頭からセクタ27999968まで、f2fs
  • セクタ28000000から、FIT Image (filesystemなし)

とする

パーテション作成とフォーマットは下記な感じだが

あくまで /dev/sdb が usbメモリな場合の一例なのであり

適当にやるとシステムに惨劇をもたらす絶対識別圏と心得よ

$ sudo fdisk /dev/sdb
--- 略 ---
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 27999968 27997921 13.4G 83 Linux

$ sudo mkfs.f2fs /dev/sdb1
--- 略 ---

USBメモリへの書き込み

書き込みスクリプトから抜粋 

$ usbmem=$(lsblk | grep sdb1 | awk '{print $7}')
$ rootfs=./openwrt/bin/targets/ipq40xx/generic/openwrt-ipq40xx-generic-sony_ncp-hg100-cellular-rootfs.tar.gz
$ fit=./openwrt/build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-ipq40xx_generic/sony_ncp-hg100-cellular-fit-uImage.itb

tarを展開
$ sudo tar -xzf $rootfs -C $usbmem

fit imageを書き込む
$ sudo dd if=$fit of=/dev/sdb bs=512 seek=28000000

$ sync
$ sudo umount $usbmem
 

U-boot起動設定

USBメモリから読みだして起動するように設定する

set bootusb 'set bootargs console=ttyMSM0,115200n8 root=/dev/sda1 rw rootfstype=f2fs rootwait; usb start; usb read 0x84000000 0x1ab3f00 0x4000; bootm'
set fallback 'set bootargs console=ttyMSM0,115200n8; bootipq'
set bootcmd 'run bootusb; run fallback'
saveenv

野良ビルドのポイント

  • USBメモリを抜いて起動すると、stock ROMが起動する仕掛けにしてます
    リブートでも直らないような不具合が出たら、まずnet接続を復旧し、あとはゆっくり茶でも飲みながら考える
  • 初期状態のNCP-HG100で動くのかは未検証
    マクさんは、stock ROMの楽天運用から移行したので、初期状態での動作は知りません
    LTEモデムはnvm設定を持ってるので、依存してると初期状態の NCP-HG100 では動かないかも

  • 初期値 wifi無効 となります

  • sysupgrade を無効化してある。※書き込みをカラ関数にしただけ
    USBメモリ運用向けの変更点はこれだけ

  • LTE通信切れ対応、楽天ブチ切り対応
    通信状態の監視と復旧、楽天ブチ切り対策スクリプトを統合。
    楽天ブチ切り対策はネットの暇判定を改善して、直近1分間のパケット量での判断とし、Radiko程度の少量、散発的な通信でも機能が発動しずらいよう調整

  • 温度、ファン制御
    起動すると一応ファン制御&センサーロギングが走る、が
    煩くしないのが目標で、ファン制御は適当のやっつけであり何の根拠もない
    2021年の夏は熱暴走したりせず乗り切ったが、寿命に悪影響なことは間違いない

  • LTEモデムの高負荷クラッシュ
    OpenWrt化で解消せず
    頻度は減っている気がしないでもない。
    ソフト的対処ができなかったので、以前のエントリで書いた SS端子マスクで運用する

  • WireGuard
    diffconfig でインストール指定してある
    VPSとNCP-HG100とでVPN接続して、インターネットから自宅LANへのアクセスができた
    楽天切断対策スクリプトとか、IPがコロコロ変わることとの相性は、
    まぁまぁ。
    旅先からのアクセスには十分使えそう
    気が向いたら別記事で書く

ところで。

楽天UNLIMIT VIの調子だが、現時点では特に障害は無く、普通で、何の問題も無いです

home 5G という強敵に負けず、

コスパNo.1 で頑張っていただきたい

応援してますよ!!!!!