EdgeRouter-X v2.0.9 をインストール
Edgerouter-X の新しいファームウェア ver 2.0.9 が 11/19 に公開されていた。
v.2.0.9 インストール
EdgeRouter-ERX は、HDD? 領域が不足しているので、インストール前に古いバージョンのイメージファイルを消す必要がある。
$ slogin ubnt@edgerouterx ubnt:~# delete system image
EdgeRouter の管理画面を開き、v2.0.9 をインストール
v2.0.9の新機能
リリースノートを見ると、
CLI - Add new CLI command "add system image" to automatically download and install latest stable firmware.
と書いてあるので、今後は firmware 更新作業は、以下の様にするだけ…ということかな。便利。、
$ slogin ubnt@edgerouterx
ubnt:~$ sudo add system image ubnt:~$ sudo bash
ubnt:~# add system image
再起動 自作の l2tpd 接続通知の設定ファイルのインストール
$ scp /...../edgeos_ubnt_20180914-notify-l2tpd.tar.gz ubnt@edgerouterx $ slogin ubnt@edgerouterx ubnt:~$ sudo bash ubnt:~# cd / ubnt:~# tar zxvf ~ubnt/edgeos_ubnt_20180914-notify-l2tpd.tar.gz
homebridgeの一部が不具合
便利に使っている音声制御機能、しかし昨日から照明が消えない。google-home ではなく、元の Apple の Homeアプリで動かすと、アイコンに ! マークが付いている。ブラウザのリモコン機能は動くので、赤外線の光が届かないのかと思って気づくのが遅れた。(ブラウザ版は raspberry-pi でなく、自宅サーバで動いている)
原因は、raspberry-pi を stretch から buster に更新して、python の設定がおかしくなったみたい。
$ /usr/local/bin/broadlink bed-light power Traceback (most recent call last): File "/usr/local/etc/python-broadlink/cli/broadlink_cli", line 8, in <module> import broadlink ModuleNotFoundError: No module named 'broadlink'
しかたがないので、python-broadlink を入れ直し。default の python が 2.x 系か 3.x 系かの違いが原因のようなので、明示的に python3 系でインストール。
$ sudo install python3-dev python3-pip $ sudo pip3 install broadlink
Raspberry Pi buster 更新でトラブル
自宅の Raspberry-Pi を buster に更新してみた。
定番の /etc/apt/sources.list の stretch を buster に書き換えて、
$ sudo aptitude update ; sudo aptitude safe-upgrade 大量にインストール... $ sudo reboot
しかし、起動時に eth0 も認識せずに、emergency mode になってしまった。
root パスワードでログインし、手作業で eth0 を認識させて…。
原因としては、raspi-copies-and-fills が原因のようなので、削除。
$ sudo aptitude purge raspi-copies-and-fills
二酸化炭素レベル測定で換気判定
コロナ対策で、空気中の二酸化炭素レベルを測定して換気を行う事例をテレビでやっていたので、I2C接続のセンサーをAmazonでポチって、ちょいプログラム作成。(取り付け時のメモ) センサー値が安定するまで時間がかかるというものなので、daemon化させる必要もあって、ちょっと面倒だったけどうまく動くようになった。
考察
センサーのeCO2が400ppm以下は判定できないので、こんなグラフが取れるようになった。ファンヒーターをつけるとグラフが上がっていく。1000ppm以上だと換気推奨レベル。とはいえ、朝の冷え切った部屋が温まるまでは、換気もできんけど。
グラフ中の8:00-12:00は、daemon化させていたプログラムのバグ直しまでの影響だけど、このセンサーはeCO2の値は、2000ppm が上限みたいだな。ソースコード確認したら、eCO2>2000 , TVOC>1200 は異常値扱いしていた。販売元のページには、測定レンジもう少し広い値だったので、プログラムの方を修正。
グラフの立ち上がりは、ファンヒーターが原因だけど、夜中の3:30にグラフが立ち上がってるのが原因不明だなぁ…。
一番ありそうな仮説。猫が「コレ何?」と、センサー周りでクンカ・クンカでもしたのかなぁ….Raspberry-Pi+センサー、テレビの台に置いてあるからなぁ…
温度湿度センサーをBME280に切り替え
自室の温度測定には、USBRH というセンサーとそれに伴うソフトを使っていたけど、使っていたライブラリの都合で、Raspberry-pi のバージョンを最新にできずにいたけど、今回 同じようにI2Cの温度・湿度・気圧のセンサー BME280 を購入し温度測定のプログラムを切り替えた。
ということで、そろそろ Raspberry-Pi のOS更新もやろうかな。
bind9でfilter-aaaaがpluginになる
自宅サーバを使っていて、raspberry-pi の更新をかけていたら、IPv6アドレスにつながらないトラブル発生。
我が家では、上流が IPv4-only だけど、自宅内の機器間のに IPv6 も使えるようにしている。このため、DNS の設定では、bind9 に、filter-aaaa-on-v4 の設定を加え、IPv4 の機器からの問い合わせには、IPv4 のみを返答することで、対応していた。
しかし、改めて “nslookup www.google.com 192.168.xx.xx” を実行したら、IPv4からの問い合わせの癖に、しっかり IPv6 が返ってきている。
調べてみると、bind9 (9.14)から filter-aaaa 機能は plugin になるみたい。んで、自宅サーバは 9.11→9.16 により filter-aaaa がoffになったのが原因…と思ったけど、syslog をみると “–enable-filter-aaaa”付きでcompileされてるし、”option ‘filter-aaaa-on-v4’ is obsolete and should be removed” と表示されてるから、現状では、まだ使えているはず。
ひとまず IPv6 オフ
ラズバイは、ひとまず下記の設定で、IPv6 をオフにしておく。
$ sudo /etc/sysctl.conf ((下記を追加)) net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 $ sudo sysctl -p
これは、IPv6 が戻ったら、元に戻そう。
bind9 に plugin の filter-aaaa 設定
plugin になったら、下記のような設定をするようだけど、うまくいかないので近日中に要対応。
$ sudo vi /etc/bind/named.conf.options plugin query "/usr/lib/x86_64-linux-gnu/named/filter-aaaa.so" { filter-aaaa-on-v4 yes ; filter-aaaa-on-v6 yes ; filter-aaaa { any ; } } ;
UbuntuなMacbookair(2011)、WiFi動かず
以前に愛用していたMacbook Air(2011)だけど、性能不足からUbuntuを入れていたけど、ちょい Terminal として使おうと起動させたら、Ubuntuは立ち上がるけど、WiFiがつながらない。色々再起動もかけたけど、やっぱり起動せず。限界かなぁ…
どうも、アップデートでインストール時に入っていた WiFi のドライバが消えたみたい。macbookair の WiFi ドライバは、別途入れる必要があるみたいだな。
$ sudo aptitude install firmware-b43-installer bcmwl-kernel-source
ということで、無事 WiFi が復活。まだまだ、使い倒そう。