ADSL終了作戦のまとめ
マクさんです
楽天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をよく理解していない、ということである
と思ってしまったので、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接続を復旧し、あとはゆっくり茶でも飲みながら考える -
-
初期値 wifi無効 となります
-
sysupgrade を無効化してある。※書き込みをカラ関数にしただけ
USBメモリ運用向けの変更点はこれだけ -
LTE通信切れ対応、楽天ブチ切り対応
通信状態の監視と復旧、楽天ブチ切り対策スクリプトを統合。
楽天ブチ切り対策はネットの暇判定を改善して、直近1分間のパケット量での判断とし、Radiko程度の少量、散発的な通信でも機能が発動しずらいよう調整 -
温度、ファン制御
起動すると一応ファン制御&センサーロギングが走る、が
煩くしないのが目標で、ファン制御は適当のやっつけであり何の根拠もない
2021年の夏は熱暴走したりせず乗り切ったが、寿命に悪影響なことは間違いない -
LTEモデムの高負荷クラッシュ
OpenWrt化で解消せず
頻度は減っている気がしないでもない。ソフト的対処ができなかったので、以前のエントリで書いた SS端子マスクで運用する
- WireGuard
diffconfig でインストール指定してある
VPSとNCP-HG100とでVPN接続して、インターネットから自宅LANへのアクセスができた
楽天切断対策スクリプトとか、IPがコロコロ変わることとの相性は、まぁまぁ。
旅先からのアクセスには十分使えそう
ところで。
楽天UNLIMIT VIの調子だが、現時点では特に障害は無く、普通で、何の問題も無いです
home 5G という強敵に負けず、
コスパNo.1 で頑張っていただきたい
応援してますよ!!!!!