2022/06/13 ~ 06/19 Weekly Release Note

できごと

SA-M0

  • IIJ製のBルート読み込み機で2017年7月に購入したもの
  • 引っ越してBルートのID/パスワードが変更になったので設定しようとしたところ、スマホのアプリが消えていた。
  • 検索してみると、IIJのWebサイトからもSA-M0に関する記述が(もともと少なかったのに)削除されていた。
  • …ということは、SA-M0はもう使えないというか、新規にセットアップができない。せめてapkを配布してくれればまだどうにかしたのだが…
  • iOS、Androidともにアプリがないのでどーにもならない。まいった。
  • で、この頃のというか今でも状況はあまり変わらないけれども、中にROHMのモジュールが入ってるって書いているので、分解したらモジュールが取り出せるのではないかと思って分解してみた。
  • はい、本当にROHM BP35A1がモジュールとして入っていました。ということは、ROHM BP35A7A と組み合わせれば、ラズパイでもArduinoでもどうにかできそう。
  • ということで、BP35A7A をchip1stopに注文した。
  • アプリまで削除されて正直、腹がたったしそれってどうなの?と思っているが、中身を見てみるとなんと言うか…儲からないね、これ
  • Armadillo-Box WS1 (お値段不明。100台単価2万円以下を目指すって書いてた。)とROHM BP35A1 (単価8000円とか) これだけで原価3万円とかになってしまう。
  • オプションアンテナ2000円らしいので、まぁ…なんと言うかこれを当時19000円で売ったのはなかなかギリギリだったのではないか
  • ブツだけでなくファームウェアというかアプリも書いてるだろうし。(Armadillo-BoxはLinux積んでるので多少マシだとしても)
  • と考えるとあまり怒れないなぁ…という感じ。 ぶっちゃけBP35A1のモジュールが出てきた瞬間に、もういい。十分活躍してくれた。っていうお気持ちになった。

BP35A1活用

  • 一度はBルートのデータが取れるようになったのに取れなくなるのは気に入らない。ということでどうにかする。
  • とりあえず、BP35A7Aを注文した。
  • Arduinoでやるか、RPiでやるか。それが問題だが、なんとなくBルートの処理は文字列処理が連打されることが想定されるのと、データ送信が楽なRPiでやることにした。
  • が。手元に余ってるのはRPi Zero W (ヘッダがない)なので、スイッチサイエンスに GPIO Hammer Header を注文した。
  • 送料がかかるので、手持ちのZero Wの台数分ヘッダを注文したが… 本体にピンヘッダとソケットがついてるから追加は要らなかったかも。

水漏れ

  • 脱衣所の水栓から水漏れ。
  • どうも入居時に交換してもらったところがマズかったらしい
  • 石膏ボードが水でグズグズ、裏の木材にカビがカビカビでなかなかなことになっている
  • ちょっと想像以上に濡れていたので洗濯機も出して風をあて続けることにした。
  • しばらくはコインランドリー通い。ぶー

固定項目

今週の体調

  • 月 眠い

TODO

  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター

2022/06/20 ~ 06/26 Weekly Release Note

できごと

GPIO Hammer header

  • 取説がない、YouTubeの動画みてもよくわからない。
  • けどそれっぽくハンマーで叩くとかんたんにピンが刺さった。なにこれめちゃくちゃ楽
  • とても楽だと思って二台目のラズパイZeroに叩き込んだら、叩きすぎてピンが入りすぎちゃった。
  • なるほど、調子に乗ってはいけない。最小限に叩くのがポイントだったか

ネット回線

  • SMSで工事は来週だよ、よろしくね。って来た。はやくして

突っ張りパーティション

  • 買ったやつが届いた。思ったより良さそうという感じ。
  • 棚がもうちょっと幅広だったらなぁ…

水漏れ

  • とりあえず乾燥と消毒が済んだ
  • カビ臭さもなくなった気がするので洗濯機とかを戻した
  • けど、さすがに洗濯物は干したくないのでそこはコインランドリー

Bルート読み出しプログラム

  • 惜しいバグでずっとハマってた。割と残念。
  • SKJOINしてるので暗号化は行っている。なのでSECフラグは 0ではなくて 1
  • 受信はASCIIに出来るけれども送信はバイナリ一択
  • 送信時は末尾CRLFは不要。
  • SFEレジスタに0をセットすればエコーをオフにできる

固定項目

今週の体調

  • 月 眠い

TODO

  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター

2022/05/15 ~ 06/12 Release Note

できごと

  • しばらく間が空いてしまった。
  • とりあえず、その間にあったことを書いておく

回線工事

  • 書いている時点で、まだ開通していない。
  • 4月12日くらいに引っ越しの連絡をしていてこのザマである…さすがにちょっとひどい。
  • なんというか、こちらから電話しないと話が進まない感じ。
  • プロバイダの窓口の人はこちらから連絡します。って言うんだけど連絡が来ない。
  • 来ないというか、こちらからちょくちょく進捗を確認する電話をすると、1ステップ進めることができる状態です。この電話で日程調整させてください。って言われる感じ。
  • めちゃくちゃ困ってる旨を訴えているが多分まったく効果がない。
  • 結局の所、進捗が止まったと思ったら数日置きに進捗確認の電話をするしかなくて面倒…
  • 面倒だけれども、容量を気にしないですむ回線がないと、OSのアップデートすらできないのだ…

Alder Lake PCの故障

  • AlderLakeのPCが壊れてしまった。というか起動時にGPUを認識しなくなった
  • おそらく、MacPro改造ケースに使用したマザーボードの土台のせいでマザーが歪んだのではないか
  • HA8000改造ケースのときもマザーの土台はいじってるが、アレは鉄板が分厚くて歪みが発生する気がしなかったが…
  • MacPro改造ケースのマザーの土台はAntecのAVケースで、切ったときに歪んだ認識はあったので、割と直したつもりだった。
  • 以前にも別のマザーをつけたときに謎のシャットダウンがあったりして、それはショートかなぁと思ってビニールテープで絶縁したりもした。
  • …それはともかく、この故障でなんとなく一気に冷めてしまったのでこのPCはジャンク部品として全部売り払うことにした。

サーバーのPC化

  • サーバーとして使われてきたRyzen機だが、これを当面の間の自分用PCとすることにした。
  • とはいえ、冷めちゃったあとなのでHA8000の大型筐体(ケースだけで17kgある。剛性がすごい、鉄板が分厚いので静か)は許容できない。
  • なので、ATXマザーが入る範囲でかなり小さめの COOLER MASTER MASTER BOX Q500L を購入。
  • ものすごく小さくなった。案外取り回しも悪くないので結構気に入った。
  • 自分用PCとして使うので要らないと思っていたLEDが光る機能もまぁ、ちょっと嬉しいかもしれない。
  • ついでに、CPUファンが軸ブレしてたまに異音を出していた(今まではケースが良すぎてあまり気にならなかった)のでWraith Prismの未使用品と交換
  • 交換。と書いたが、Ryzen 1700の Wraith SpireはCPUファンの背面ブラケットにネジで固定するが、Prismはブラケットに固定パーツをつけてそこに引っ掛けて固定する。
  • 多分、固定パーツはマザーに付属していたと思うがさすがに保存してないのでブラケットごと購入した。

KDE on Wayland… again

  • 最近は、GeForceでもWaylandが動くらしいのでやってみた。
  • このサーバーにはGeForce 1060 6GB が装着されていたので。
  • 動いた。確かに動いたけれども、数年前のような画面がブレてみたりゴミが出たり、YouTubeの動画がフレーム単位でぶれたり…
  • 動くけれども使うのはつらいなぁ。という状態。ただ、動いてはいるのでここからは改善が早そう。
  • とはいえ、それではかなわないのでRadeon RX560に換装した。
  • その後、GeForceは知人に売却。まぁ…いっか。完全に冷めてる。PCでゲームやるにしてもRX560で十分だし、Linuxで使うにはGeForceは困りもの

PT3の売却

  • 録画ももういらないだろう(TVerとかParaviとかあるし)というので売却。
  • 正直、購入価格より高く売れて嬉しい
  • この頃はもうそろそろネット回線が開通するだろう。と甘く見積もっていた…

microserver gen 8 導入

  • いくらMastodonのサーバーをクラウドに上げたといっても、NASとJenkinsを動かすサーバーは必要
  • Jenkinsはクラウドにすれば…という線もあるが、家庭内のIoT機器のデータ収集とかは外に出したくない。
  • でも、大きかったり電力を食うサーバーはノーサンキュー。ということでMicroserver Gen8を選んだ。
  • Xeon E3 1220L V2、TDP 17w という少電力さ。すばらしい。
  • メモリ8GBで買ったけれども、結局全然足りなくて16GBに増設した。増設というか交換。
  • はじめて iLOを使ったけど便利。リモートKVMが特に便利。ライセンスがないのでPOST後は 90秒くらいで切断されるけれども、すぐに再接続できるのでだいぶ助かる。
  • 画面さえ見えれば、キーボードは無線キーボードを接続しておけばいいので、割とどうにかなる。
  • しかし、WindowsVMを動かすとCPUパワーが足りない。CPU使用率が50%以上になってしまうので、正直Xeon E3 1260L v2 が欲しい。
  • 1260L v2 になれば 2c4T -> 4c8T になるので、もうこれで文句はないだろう多分。

microserverのOS 1

  • 最初はTrueNASを入れた。元からそうだったしVM機能あるし良いよね。という感じで。
  • ただ、なんとなくTrueNASのコミュニティとiX Systemsのマーケティングが微妙に好きじゃないなぁと思い始めていて、TrueNASやめたいなぁとも思っていた。
  • 嫌いなところ:コミュニティが冷たい、マーケティングなんだろうけどZFSに対してハードル上げすぎ。HW RAIDカードがあるとインストールでコケるとか、メモリ8GBはマストとか…。ただ、TrueNAS自体は良いです。

microserverのOS 2

  • で、結局なんだかんだで好きじゃないものを使うのは嬉しくないので、Arch をインストールした。
  • Web GUIは欲しいよね。ということで Cockpitを入れた。RHEL専用だと思っていたが別にそんなことはなかった。
  • プラグインを入れると、Podman, libvert, ZFS がWebから管理できてまぁ許容範囲だった。
  • が。Podmanがめんどい。dockerならroot権限持ってくれているので楽なところがpodmanだとこう…みたいなところで行き詰まった。
  • あと、カーネルのバージョンが上がるとTUNがコケたりしてそのたびに再起動せざるをえなくなって面倒だなぁ…と思った。
  • そして、カーネルを5.18にしたあたりで唐突なリブートが発生したりして、あ。こりゃダメだと思って撤退。

microserverのOS 3

  • 結局proxmoxを入れた。 はい。SMB共有周りはGUIではいじれないけれども、標準でZFSに対応しているので苦労がない。
  • ProxmoxのLXCサポートは結構よくて、自分でlibvirt入れてlxc入れて…ってやると躓くのにproxmoxだとなぜかスっと通る。
  • いざとなったらproxmoxはdebianなので…という強みもあってなんだかんだで使いやすい。
  • 有償であることを気にしないのであれば、個人的にはUnraidを使うのが一番楽な気がする。困ったらプラグインが大抵ある。

録画サーバー

  • もう録画はやらないつもりだったが、光回線が来ないので仕方なく録画することにした。
  • MyGica S270が引き出しに転がっていたのでこれでとりあえず構築。
  • …これが苦労した。本当に苦労した。
  • mirakc+epgstationにしようと手順を踏んでみたがどうもうまくいかなかった。
  • privilegedコンテナにして楽しようとしたが還って面倒になったりして2日くらい潰した。
  • 結局の所、おとなしくmirakurun+epgstationのdockerコンテナで立てるのが一番楽。
  • 長いので別のエントリにしておいた。

TODO

  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター

2022/06/12 Epgstation

tl;dr

  • proxmox前提
  • lxc-unprivilegedコンテナでOK
  • 内部的には、mirakurun+epgstationのdockerコンテナで立てるのが一番楽。

やること1

  • 以下の lxc.* の設定を追記する必要がある。(これはproxmoxの設定ファイルなので純粋なlxcの場合は多分そのまま使えない)
  • 場所は /etc/pve/lxc/CTID.cfg (CTID=コンテナID。 100とか101とか数字のやつ。)
1
2
3
4
5
6
features: fuse=1,mknod=1,mount=nfs;cifs,nesting=1

lxc.cgroup.devices.allow: c 212:* rwm
lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/dvb dev/dvb  none bind,optional,create=dir
lxc.mount.entry: /dev/bus/usb dev/bus/usb none bind,optional,create=dir

やること2 dockerのfsドライバを変更

  • これはLXCコンテナ内の話
  • dockerを入れたら、overlayfsが使えないというエラーが出るはずなので、apt install fuse-overlayfs する。
  • /etc/docker/daemon.json に以下を追記
1
2
3
{
    "storage-driver": "fuse-overlayfs"
}
  • これはやらなくても動くっぽい。
  • あとからやると、dockerのキャッシュ類がすべて見えなくなるので、 docker system prune を実行する必要がある。

やること3 udev

  • これはproxmoxホストでやること
  • 必要なPCカードリーダー、チューナーデバイスはLXCコンテナ内では権限がないので使えない。
  • PCカードリーダーは /dev/bus/usb 以下のどこかにデバイスファイルがある。
  • チューナーは /dev/dvb/adapterN だったり /dev/pt3video だったり。
  • 何はともあれ、デバイスファイルの権限はudevが決定している。
  • ということで、udevのルールを追加して、PCカードリーダーとチューナーは誰でも使ってOKということにする。
  • cat /etc/udev/rules.d/99-smartcard.rules
1
2
3
4
5
6
7
8
# smartcard reader
# Gemalt
SUBSYSTEM=="usb", ATTRS{idVendor}=="08e6", ATTRS{idProduct}=="3437", GROUP="video", MODE="0666" 
# NTT SCR3310
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e6", ATTRS{idProduct}=="511a", GROUP="video", MODE="0666" 

# MyGica S270 (siano chip)
SUBSYSTEM=="dvb", ATTRS{idVendor}=="187f", ATTRS{idProduct}=="0600", GROUP="video", MODE="0666" 
  • idVendor, idProductはlsusbで調べられる。 GROUP=videoは特に意味がない。videoグループに属するユーザーのみ使えるようにしたかったができなかった。
  • グループを変えておくと、udevルールが反映されたかどうか判別しやすいので変えたままにしている。
  • 結局、unprivilegedなLXCコンテナはホストからみたときnobodyでしかないのでここまで権限を緩くしないと使えない。
  • (もちろん、さらにlxcで制限を食らうわけだ。←やること1で解決済み)
1
2
3
4
5
6
7
8
9
root@proxmox:~# ls -l /dev/dvb/
total 0
drwxr-xr-x 2 root root 100 Jun 12 01:38 adapter0
drwxr-xr-x 2 root root 100 Jun 12 01:38 adapter1
root@proxmox:~# ls -l /dev/dvb/adapter0/
total 0
crw-rw-rw- 1 root video 212, 0 Jun 12 01:38 demux0
crw-rw-rw- 1 root video 212, 1 Jun 12 01:38 dvr0
crw-rw-rw- 1 root video 212, 2 Jun 12 01:38 frontend0

やったこと4: docker-compose.yml

  • mirakurunは内部で nice コマンドを呼ぶ。そのため権限が必要…
  • unprivilegedなlxcコンテナ内で renice, ionice コマンドは使えない。
  • なのでdocker-compose.yml内で、同コマンドを上書きして何もしないようにしている。(nop.sh は中身が空で実行権限がついている。)
1
2
3
4
5
6
7
        volumes:
            - ./mirakurun/conf:/app-config
            - ./mirakurun/data:/app-data
            - ./mirakurun/dvbv5_channels_isdbt.conf:/dvbv5_channels_isdbt.conf:ro
            - ./mirakurun/dvbv5_channels_isdbs.conf:/dvbv5_channels_isdbs.conf:ro
            - ./mirakurun/nop.sh:/usr/bin/renice:ro
            - ./mirakurun/nop.sh:/usr/bin/ionice:ro
  • 外部コマンド呼び出ししてくれてて良かった…

まとめ

  • なんだかんだで一度動いてしまえばちゃんと動きます。

蛇足

mirakcのTSDサーバーについて。という項目にある socatを使って pcscサーバーとb25サーバーのコンテナを分けるというの 美しいなと思ったんだけど動かない。不思議なことに動かない。 で、結局mirakurunコンテナにチューナーもpcカードリーダーも見せちゃったらあっけなく解決した。 うーん。ちょっと不満はあるけれども仕方ない。

2022/05/09 ~ 05/15 Weekly Release Note

できごと

サーバー周り

  • 財団とテストインスタンスをOracle Cloudに移行した。
  • dockerイメージ自体は事前にビルドしてあったのでそれを使っている
  • なお、自動更新機能は動いていないので手動でしかアップデートされない
  • docker-compose.yml がてきとうだったので動かなかったがそこだけ修正したら動いた。
  • あと、env.productionのDBとかredisとかその辺の指定がk8s仕様だったのでdocker-compose仕様にした。
  • 要するに、 foundation-db みたいなホスト名だったのをただの db にした。

お引越し

  • 荷物の運び出しはすべて完了
  • 色々と事故があったがゴミ処分した。予定の3倍の金額がしたけれどもまぁ…仕方ないね。
  • 窓の断熱に貼ったフィルムの類、両面テープがあと残りして割と面倒。
  • 窓のフレームに貼る系統のフィルムはとても後始末が大変。効果も微妙だしおすすめしない。
  • 逆に、窓自体にプチプチを貼るのは割ちょっと効果アリ。後始末は… 両面テープがカスカスになってしまえばスクレイパーでもシールはがしスプレーでも行ける。
  • なので、窓の断熱をどうにかしたい場合は、窓にプチプチ+フレームに断熱テープを貼るのがおすすめ。後始末的に。とにもかくにもフィルムはいかん。
  • 例のウィルスのせいでラグとか絨毯を回収業者に頼むと別料金が発生したりするので、その類を買おうとしている場合は、処分のことも考えて購入して。

廃品回収

  • 回収費だけで予定の3倍。
  • 旧居は5階、エレベータなしだったので追加料金がかかるとのことだったが、3階までは無料です。と
  • であれば、3階まで自分で下ろせば無料の範囲でOK?という話をしたらOKしてくれた。
  • 我ながらガメついとは思うんだけども、予算的にアウト of アウトだったので…
  • …とはいえ、めちゃくちゃ重い机があるのに一人で運ぶとか、我ながら無茶。火事場のクソ力以外の何物でもなかった。
  • そしてこれを書いている現在、もう体があちこち痛い。
  • 廃品回収屋さんには大変お世話になりました。

固定項目

今週の体調

  • 月 寒め
  • 火 寒め。

TODO

  • clickup にタスクをブレイクダウンして入れる
  • 補助金申請
  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター

2022/05/02 ~ 05/08 Weekly Release Note

できごと

サーバー周り

  • オブジェクトストレージをOracle Cloudに移行した。
  • 今回の移行は深夜の人がいない時間に、まずオブジェクトストレージ自体を新しい方に切り替えてしまった。
  • 当然、既存の画像とかがロードできなくなるが並行してデータのコピーを行った。なので徐々に治ってくる
  • これにより、データコピー→切り替えの間に新規作成された分を再度コピーする手間が省けた。
  • 多分おそらく今回も。なんだけれども minio-client のMirrorを使ったが途中で勝手に終了していた。
  • しかも、Aborted by user request とか言われている。なんもしてない…
  • 5回くらい試したが見事に再現するのでなんだコレ…という感じ。
  • 結局、Cyberduckで一度ローカルに全部ダウンロードしてからアップロードした。

お引越し

  • 内装がだいたい完了した
  • 荷物の運び込みをしているが、5/3現在、小物がまだまだ残っておりこれはピンチでは…という感じ

固定項目

今週の体調

  • 月 寒い
  • 火 22度らしいけど微妙に寒い

TODO

  • clickup にタスクをブレイクダウンして入れる
  • 補助金申請
  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター

2022/04/26 ~ 05/01 Weekly Release Note

できごと

日記

  • 今週からDailyではなくWeeklyに変更した。Dailyだと書いてない日が欠けてしまって萎える
  • あと、毎日ファイルを用意するのが面倒になったというのもある

サーバー周り

  • まったく進んでない

お引越し

4/25

  • 本当に少しずつ進んでいる。
  • 正直、この速度で大丈夫か?っていう気がしている。
  • 明日から今の住居の生活を考えずに荷物を運んでいこうと思った

4/26

  • 荷物はそれなりの量運んだ。明日にはある程度運び終わりそう。
  • ただし大物と生活に使うようなものは除いて。
  • クッションフロアが届いたので新リビングに敷いている
  • ざっくり80%は完了、これも明日終わらせる
  • 台所の配置が決まらない。電子レンジと食洗機の配置に悩む…
  • 平面に置くと作業スペースが減る、立体に置くと高さが高すぎ。うーん。

固定項目

今日の体調

  • あづい

財団周り

  • rubyが3.0.2とか古いバージョンだったので 3.0.4 を指定した
  • nodejsが14.xを指定しており、古かったので 16.x に変更。

phflow

TODO

  • clickup にタスクをブレイクダウンして入れる
  • 補助金申請
  • 職務経歴書アップデート
  • 脱毛
  • 6月以降にPHドメインをcloudflareに移管する
  • @server bot 作る
  • EnvBoy Issue消化 (web settingほしい)
  • Slack古いファイル削除ツールのアップデート(deprecated API変更)

物欲

  • かばん
  • 靴修理(両足) 15K
  • シャボタイ
  • プロジェクター