raspberry-pi bullseye で cec-client が動かない
最近は、google-home や Siri 経由で TVやチューナー の ON/OFF させるのに cec-client を使っているので、これが使えないと致命的。
症状
単純に apt で入った cec-client 6.0.2 では、デバイスが見つからない。(どうも 非 RPi のパッケージが入るらしい)
$ sudo aptitude install cec-client $ echo 'scan' | cec-client -s -d 1 autodetect FAILED. $ cec-client -l Found devices: NONE $ dpkg -l | grep cec ii cec-utils 6.0.2
バージョンを落としてみたけど、動かない。
$ sudo aptitude install cec-client/buster $ echo 'scan' | cec-client -s -d 1 反応なし..^C でも止まらない $ dpkg -l | grep cec ii cec-utils 4.0.7
記事を漁ると bullseye では cec-client が動かないとかいう記事もあるなか、libCEC-6.0.2 を github よりインストールを行う。
github より libCEC をインストール
((( 最初に競合しそうな cec 関連を消す ))) $ sudo aptitude purge libcec4 libcec6 cec-utils ((( 資料を参考に... ))) $ sudo apt-get update $ sudo apt-get install cmake libudev-dev libxrandr-dev python3-dev swig git ((( raspberry-pi 用の platform をインストール ))) $ cd $ git clone https://github.com/Pulse-Eight/platform.git $ mkdir platform/build $ cd platform/build $ cmake .. $ make $ sudo make install ((( libcec のインストール ))) $ cd $ git clone https://github.com/Pulse-Eight/libcec.git $ mkdir libcec/build $ cd libcec/build $ cmake -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib .. $ make -j4 $ sudo make install $ sudo ldconfig
これが入って、ようやく cec-client が動き出す。Google Home や Siri のホームオートメーションはやっぱり便利。
raspberry-pi を buster から bullseye
Raspberry-Pi も長く運用してこまめに更新はかけているけど、Debian のバージョンとしては buster(10) もoldstable になっているので、bullseye(11) への更新をかける。
/etc/apt/souces.list.d に bullseye のファイルを追加し、”aptitude update ; aptitude full-upgrade”を実行。
時間はかかったけど、普通に更新が終わった。
inetutils-inetd でトラブル
自宅では、Raspberry-Pi に接続した温湿度センサーBME280 の結果を、メインマシンで参照させるために、inetd から BME280 を読み出すプログラムを実行している。しかし、更新後に温湿度が取れなくなる。tail /var/log/syslog を実行すると、
... inetd[3470]: cannot execute /.../bme280: Bad address
といったエラーが記録されている。原因を調べると、inetutils-inetd 2.0 では、組み込まれている libwrap により、/etc/hosts.allow にて接続許可されているかを確認するようになったみたい。そこで、以下を追加する。
((( /etc/hosts.allow ))) + ALL: ::1 + ALL: 127.0.0.1 + ALL: 192.168.XX.XX/24 ((( inetd を再起動 ))) # ps ax | grep inetd # kill -HUP <<inetdのPID>>
再起動をすると、Bad address のエラーが再び発生。”/etc/init.d/inetutils-inetd stop”,”/etc/inetd.inetutils-inetd start”を行うと、Bad address が発生、”kill -HUP (inetdのPID)” を行うと、エラーが消える。意味不明状態。
なんとなく inetutils-inetd のバグのような感じに思えたので、inetd から xinetd に切り替えたら、bme280 の機能が無事に動く様になった。
eRemote mini も動かない
broadlink のモジュールが無いと言われるので、改めてインストール。
$ sudo pip3 install broadlink
eRemote mini による赤外線リモコン関係のスクリプトは、これで動き出す。
でも一番の問題は、cec-client が動かなくなる… (x_x;
@TohruSaitoh-22/08/04
- 08/04 RT @BUFFALO_melco: /
Wi-Fi6はじめませんか?
\Wi-Fi6対応!人気の
【Wi-Fiルーター】が
合計3名様に当たる?
キャンペーン開催中?
色も選べます?応募方法
? @BUFFALO_melco をフォロー
?この投稿をRT(8/10迄)… - 07/31 段落の最初は「1行」開けろ… 章の初めは # で見出しだ!^_^ https://twitter.com/sawazaki/status/1553…
作業奉仕
黒猫
- 07/29 今日の #黒猫 はいつもと違うぜ 。
長男が関東転勤で金沢まで引越しサポート。疲れた…。 https://twitter.com/TohruSaitoh/status/1…
この記事は@TohruSaitohのつぶやきのまとめです。
大雨もピークを過ぎたかな
8/4(木) 夕方の文室川
夜になり、雨も収まってたけど、夜に再び大雨がきそうな雨雲レーダーだった。
8/5(金) 朝の文室川
夜中も雨も小雨程度だったけど、AM3時頃から再び土砂降り。でもAM7時頃には雨も止んだかな。
職場では、昨日の勝山方面で電車が動かないとのことで休校が決まったけど、今朝の段階で敦賀方面の雨でJRが止まってるし、休校はやむなしだな。
@TohruSaitoh-22/07/26
- 07/26 学生さんに「mozilla って知ってる?」と聞いたけど、FireFox も Thunderbird も知らないみたいだ。ゴジラはちょっと通じた。でも、その前に Thunderbird の話を聞くときの感じからすると、そもそも「メールソフト?って何??」という感じかな。
- 07/26 @hIDDEN_xv Z80だしてきたら、シーラカンス扱い?
[$(D+)??$(D+2¨?$(D+#”k?] - 07/26 今日最後の面倒くさい仕事…と会議に行ったら、主催の先生が学生の追試してらぁ。「会議日程変更になりましたよ!?」ふーむ、グループウェアの日程修正を Google カレンダー反映し忘れてたようだ。(T_T;
- 07/26 誰じゃ、教室のリモコン持って帰るアホは…。 https://twitter.com/TohruSaitoh/status/1…
この記事は@TohruSaitohのつぶやきのまとめです。
Edgerouter-x 2.0.9-hotfix4
ふと、ファームウェアの確認などをしたら、Edgerouter-x の最新が数日前に出ていたみたい。
過去の記事をみて、インストール。暑い時期だったのか、最初ファームのルータへのアップロードに失敗して心配だったけど、リトライしたら普通に成功。
nagios4 をインストール
icinga が最新パッケージではサポートされていないので、icinga2 や zabbix をインストールしようとしたけど、データベースの初期化やらが面倒で上手く動かせていない。でも改めて確認したら、nagios3 から 更新しようとしたけど一度諦めた nagios4 のパッケージがインストールしやすくなっていた。しかもDebian12(bookworm)でも使える。
もともと、icinga は nagios からの派生だし、nagios3時代の名残りのファイルも残ってたし、設定ファイルのそれなりの変更は必要だったけど、監視コマンドなどの設定はそのまま流用できた。
設定ではまったこと
設定がそれなりに完成したけど、最初警告メールが飛ばずに悩んだ。
原因は、サービスの設定ファイルのテンプレート generic-service だった。いい加減な設定でメールが飛ぶのを防ぐために、templates.cfg で設定している generic-host や generic-service をそのままサービス監視の定義に使うと、テンプレートの設定の generic-service の定義の最後についている “register 0” によって、これはテンプレートだから…ということで、通知などの機能が動かない様になっている。
そこで generic-service から派生させた local-service などを使うべき。
# ダメなサービス定義
define service{
use generic-service ; Name of service template to use
host_name localhost
:
}
# 有効なサービス定義
define service{
use local-service ; Name of service template to use
host_name localhost
:
}
もう少し調整したいところもあるけど、ひとまず使えるようになってきた。













