0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

番外.古いコード置き場

0
Last updated at Posted at 2026-01-12

ラズパイ4を使った地上波録画サーバーを作る
にあたりまして、OSやソフトウェアの更新等の都合により、使わなくなったコードをメモしておきます。基本、見直すことはないとは思いますが、「あれ、以前●●●って書いてあった気がするけど何がどうなってこうなったんだ?」という記憶を整理する等に役に立っていただければと思います。

新規記事をテキトーに見てここに来ていただいた方へ。
申し訳ないが見るものはないです...

ラズパイ録画サーバーに興味を持っていただければ幸いです。

~~~~~~~~~~~~~
今後逐次追加予定。↓

<古いバージョンでのネットワーク設定>

dhcpcdあり環境のIPアドレス固定(再起動前ならどこでもOK。再起動後にIPが適用される).
少なくともbullseyeまではこれで行けたはず
sudo nano /etc/dhcpcd.conf

--- dhcpd.confの内容-----
# 無線の場合wlan0、有線はeth0にする。基本、どちらかに。
# ip_address:ラズパイのIP
# static routers、static domain_name_servers:ルーター
interface wlan0
interface eth0
static ip_address=192.168.1.11/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
--------------

・dockerのビルドが動かない現象2024.1/6

sudo docker-compose pullなどでエラー.
TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'

この場合、

暫定処置.
sudo pip install docker==6.1.3
を行い、そのあとでdockerのビルド等を。pipdockerが7.0.0だとSSLのバージョンが何たらだったか、でバージョンを下げるとOK。詳しくはググる等でお願いします。

固定IPアドレスを設定するためのファイルを編集。なおこの方法はdhcpcdの機能によるものなので、

ターミナルなどを開いたうえで.
エディタにnanoを使う場合
sudo nano /etc/dhcpcd.conf
ファイルの中身がない場合はこの方法ではできないということ

nanoはCtrl+Oで上書き保存、Ctrl+xで閉じる。エディタ一番下のショートカットキー一覧も参照。
ファイルを開いたら、一番下までスクロールし、下記の項目を追加。

dhcpd.confの内容
無線の場合
interface wlan0
有線はeth0にする。両方繋ぐ必要は通常はない
interface eth0
ラズパイのIPを192.168.1.11にする場合
static ip_address=192.168.1.11/24
ルーターのIPが192.168.1.1の場合
static routers=192.168.1.1
ルーターのIPが192.168.1.1の場合
static domain_name_servers=192.168.1.1

"static ip_address"は固定IPアドレス。"/24"はサブネットマスク長。
"static routers"はデフォルトゲートウェイのIPアドレス。通常はルーターのIP。
"static domain_name_servers"はDNSサーバーのIPアドレス。通常はルーターのIP。

ドライバのインストール.
wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip : 'ダウンロード'
unzip PX-S1UD_driver_Ver.1.0.1.zip : '解凍'
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/ : 'ファームウェアのフォルダにコピー'

PX-S1UD用ですが、Q1UDも共通。ドライバのアップデートはたぶんない?なお、ここではQ1UDを使うので該当しないが、PLEXのチューナーによっては非公式チューナーが一般に使われるものもあるとのこと。

もしくは ↓ のコマンドで入れているサイトもあったような。詳細忘れた
sudo apt-get install -y firmware-siano

公式ドライバからファームを抽出する
git clone https://github.com/nns779/px4_drv
cd px4_drv/fwtool/
make
curl -O http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip
unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys
./fwtool PXW3U4.sys it930x-firmware.bin
sudo mkdir -p /lib/firmware
sudo cp it930x-firmware.bin /lib/firmware/

続いてドライバのインストール。最後にmodprobeで読み込ませる
cd ../
*現在px4_drvディレクトリ
sudo apt -y install raspberrypi-kernel-headers
cd driver
make
sudo make install
sudo modprobe px4_drv

python-pipおよび関連パッケージ導入
 (今後、composeバイナリなどの状況でここら辺は変わるかもしれない)
sudo apt install -y libffi-dev libssl-dev python3 python3-pip python3-dev

docker-composeパッケージインストール
(なおmirakurun-epgstation入れる場合、どのサイトだったかcompose不要という記述があったが、私が試した限りではcomposeは必須のようです。)
sudo pip3 install docker-compose

→■現在はpipを使おうとするとエラー(警告)が出て、無視するオプションを指定しないとダメな模様。そもそも、dockercompose自体、現在は別な方法もあるようなので、そちらで入れた方がいいかもしれない。今後まとめたい。

ちょっと古い夢を見た。そのうちもう少し新しい夢も見たいな。

/usr/lib/arm-linux-gnueabihf/libpcsclite.soというファイルがCASの複合化を行っている。通常はこれがカードリーダーにアクセスしている?のだが、softcasのlibpcsclite.soに置き換えるとリーダーなしで複合化できる。なお余談だがWin版softcasではwinscard.dllを置き換えることで可能になる、詳しくは適当にググってね。
なお、libpcsclite.soがwifiにも関係しているのかよくわからないが、そのまま置き換えてしまうとwifiが(そのpiで)使えなくなるとのこと。piは有線のみならそのまま置き換えの方法(1)でいいでしょう。wifiが使えた方がいい場合はsoftcas版libpcsclite.soを置いて復号化のリンクだけをそちらにする方法(2)をとる必要がある。
libpcsclite.soについては本来はどこかからソースを持ってきてビルドする必要がある。ただ、事情は分からないが必要なファイルが欠けて公開されていて...?まぁ「libpcsckai.so ダウンロード」でググるなりで...どうにか入手した方が楽ではないかと。libpcsckai.soが古いと有料放送は無理?地上波はCASの更新はないはずなので大丈夫か?。新しくするのはバイナリを書き換えれば大丈夫?らしいですね。

なお、ARM以外のCPUの場合はarm-linux-gnueabihfフォルダの名前が異なるはず。以下同様

まず、バックアップとリストアの方法を。

libpcsclite.soをlibpcsclitebup.soでバックアップ
sudo cp /usr/lib/arm-linux-gnueabihf/libpcsclite.so /usr/lib/arm-linux-gnueabihf/libpcsclitebup.so
libpcsclite.soを戻す(リストア方法).
sudo cp /usr/lib/arm-linux-gnueabihf/libpcsclitebup.so /usr/lib/arm-linux-gnueabihf/libpcsclite.so

★ 方法1.有線のみになるが、簡単に行う方法

上書きでlibpcsclite.so書き換え
sudo cp /home/pi/libpcsckai.so /usr/lib/arm-linux-gnueabihf/libpcsclite.so
*softcasのlibpcsclite.soをpiフォルダに置いている場合

これだけでOKだったはず。思ったより簡単かも?
なお、先日cockpitを入れたあとでsoftcasが効かなくなった、ファイルコピーを再度&OS再起動で復活。正確な理由は不明だが、こんな事もあったということで。

★ 方法2.wifiも可能にする
(現段階ではなぜか成功せず)

上記のlibarib25のところ*では、

libarib25ビルドファイルの書き換え.
(/home/pi/libarib25上で実行)
nano CMakeLists.txt
[編集]
set(PCSC_CFLAGS "pkg-config libpcsckai --cflags")
set(PCSC_LIBS "pkg-config libpcsckai --libs")
 の2行を先頭行「cmake_minimum_required(VERSION 2.8.5)」の後に追加
set(WITH_PCSC_PACKAGE "libpcsckai" CACHE STRING "pkg-config package name for PC/SC")
の「libpcsclite」を「libpcsckai」とし、保存する

nano cmake/FindPCSC.cmake
[編集]
「libpcsclite」を「libpcsckai」とし、保存する 

を行い、上記の通りビルドをしておく。

改変libarib25からここにリンクされる?
設定ファイルlibpcsckai.pcを作成する。

コピーでlibpcsckai.pc作成
sudo cp /usr/lib/arm-linux-gnueabihf/pkgconfig/libpcsclite.pc /usr/lib/arm-linux-gnueabihf/pkgconfig/libpcsckai.pc
sudo nano /usr/lib/arm-linux-gnueabihf/pkgconfig/libpcsckai.pc
[編集]
Libs: -L${libdir} -lpcscliteをLibs: -L${libdir} -lpcsckaiとする

これで、libpcsckai.soを読み込んでくれる?

Win版ではsoftcasでwinscard.dllの改変で、tvtestと同じフォルダに入れれば可能だったはず。録画時のみ必要で、視聴するときはb-cas/softcasは必要なかったはず。

むにゃ、ああ、これは夢か...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?