OpenRD Ultimateお陀仏

debian 8→9へアップデートしたところ、カーネルのNANDフラッシュ書き込みでエラーが出た。

[ 6508.167779] __nand_correct_data: uncorrectable ECC error
[ 6508.173165] end_request: I/O error, dev mtdblock0, sector 8
[ 6508.178767] Buffer I/O error on device mtdblock0, logical block 1

NANDフラッシュは起動時に読み込まれる起動プログラムが書いてあるところで、そいつの書き込み失敗という事は、もう寿命という事だな。

起動はするが、Debian 9 で、カーネルは4.9.0なのに
Linux silverfox 3.16.0-10-kirkwood #1 Debian 3.16.70-1 (2019-07-22) armv5tel GNU/Linux

なんてのが動いている。多分、NANDに書き込まれているカーネルだろう。

1GbpsのEthernetでファイルサーバーにしていたが、置き換えるとしたら、1Gbps Etherになった raspberry pi 4 かな。

まだ発売してないから、発売したら早速置き換えよう。

Raspberry pi 3アップグレード jassie→stretch

情報源: [メモ] (らずぱい) Raspbian: Jessie から Stretchへアップグレード – Qiita

このページを参考にアップグレード。更新時間は 2.5時間位。

途中新しい設定への上書き確認があり、次の様にした。

  1. 設定ファイル ‘/etc/systemd/timesyncd.conf’ N
  2. 設定ファイル ‘/etc/skel/.bashrc’ Y
  3. 設定ファイル ‘/etc/login.defs’ Y
  4. 設定ファイル ‘/etc/ntp.conf’ N
  5. 設定ファイル ‘/etc/lightdm/lightdm-gtk-greeter.conf’ Y
  6. 設定ファイル ‘/etc/lightdm/lightdm.conf’ Y

*.dpkg-old *.dpkg-dist と現在のファイルを比較して内容を確認

1. は時刻サーバーを
Servers=192.168.11.254 ntp.nict.go.jp
に変更したものだけなので、元のファイルでOK
2. は弄ってないので、新設定ファイル上書きOK
3. はPATH関係だが、/usr/local/sbin は使ってないから新設定ファイル上書きOK
4. は時刻サーバー設定関係なので、元のファイルでOK
5. 6.はGUIを使ってないので、新設定ファイル上書きOK

Raspberry Pi3設定メモ

自分の投稿を参考に、mjpg-streamerの最新版を取ってきてコンパイル。
必要なライブラリ等はインストール済なので、mjpg-streamerだけ。

# mv mjpg-streamer mjpg-streamer.old
# svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
# cd mjpg-streamer/
# make USE_LIBV4L2=true clean all

起動スクリプトは /root/bin/camera_stream.sh に記述してあって
#!/bin/bash
cd /root/mjpg-streamer
./mjpg_streamer -i “./input_uvc.so -f 16 -r 640×360 -d /dev/video0 -y -n” -o “./output_http.so -w ./www -p 8081” >/dev/null 2>&1 &

これを、/etc/rc.local から呼び出してraspberry pi 3が起動した際に起動させている。

Raspberry pi3のWifi

新しい無線LANルータの環境になったので、IEEE802.11nで接続したら、今までIEEE802.11g の 56Mbps だったRaspberry pi3 のWifi も高速化できるかなと思って、新無線LANルータ用に接続設定を作成。

繋いでみたが、72.2Mbpsになる。
IEEE802.11nって150Mbpsとかじゃないの? なんで? と色々調べたら、謎が解けた。

実は、今までIEEE802.11nを詳しく理解して居なかったのだが、「IEEE802.11nとは」を読んだら分かった。物によって、150Mbpsだったり、300Mbpsだったり、600Mbpsだったりするのはボンディングとストリーム数が関係する訳ね。

安物の無線LANドングルだと、1ストリームの40MHzの帯域幅で 150Mbpsくらい。
Raspberry pi3 は Broadcom の BCM43430 で、今どきありがちな安物Wifi の firmwareドライバをPCで制御するSDIO方式。

性能的には、150Mbpsくらい行けるはずなのだが、
/lib/firmware/brcm/brcmfmac43430-sdio.txt の先頭には次の文言がある。

# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode

2.4GHz の 20MHz Band Width modeって、要は 72.2Mbpsが最大速度な訳ね。
1ストリームでも40MHz使えば、150Mbpsまで速度アップが見込めるから、今後のlinuxのfirmwareの更新に期待しよう。

raspberry pi3 ログをramdisk化

ラズパイ壊れた?

結局、micro SDが壊れてたっぽい。

正常起動確率50%位でだましだまし動かしてたが、新しいmicro SDにしたら起動確率100%になった。

二年位で寿命とは情けない。とはいえ、/var/log に毎日ゴリゴリ書き込んでるんだからしょうがないか。

そこで!

Ubuntu 9.04 on USB Memory

こいつの出番。
/etc/init.d/ramdisklog を作成。

ramdisk 作って log コピーして、その ramdisk を bind で/var/logに被せるというしくみ。

# insserv ramdisklog

ついでにswapも無効化
# insserv -r dphys-swapfile

# reboot
で完了。

マウント状況はこんな感じ。

ラズパイ壊れた?

Raspberry pi3をネットワークカメラ化

我が家の監視カメラとして活躍している Raspberry Pi3 が12月7日0:30をもって映像を送って来なくなった。

家を出る時に、扉の外に設置している Raspberry Pi3 を確認すると、電源ランプが光ってない。24時間稼働はさせてたけど、1年半位で壊れるか?

家帰って、取り外して家のコンセントに挿したらランプ点いた。
でも、ssh は応答しない。さては、取り外す時に落としてしまったが、それで壊れたか?

ネットに繋がらないとなると、HDMIで直接見るしかないが、ディスプレイ繋ぎ替えるのマンドクセから、E4甲第一ゲージ削ってる艦これ攻略してからにしよう。 🙂

rpi-updateでカーネルバージョン4へ

raspberry pi 3 で、前にファームウェアアップデートの rpi-update を実行したら、「カーネル4になるで、ええか?(Y/n)」って出たので、ビビって置いておいた。

今日、rpi-update を実行したら、何も聞かれず、進捗表示されて、「reboot しやがれ」と抜かすので、「大丈夫かな…」と思いつつ再起動したら、

pi@raspberrypi:~ $ uname -a

Linux raspberrypi 4.9.28-v7+ #999 SMP Tue May 16 14:03:19 BST 2017 armv7l GNU/Linux

と、無事更新され、UVCの監視カメラの映像も zoneminder に送られていて大丈夫なようだ。

一体、何が変わったのやら…

Raspberry Pi3設定メモ

OpenRD UltimateがDebian 8だから多少は知ってるが、Systemdベースは今までのノウハウが使えんから面倒くさいのでメモ。

Web見てると、意外にやってる人少ないけど、piアカウントでrootになるには
$ sudo su –

WiFi設定
# wpa_passphrase [SSID] [パスワード]>>/etc/wpa_supplicant/wpa_supplicant.conf

日本語フォント
# apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname

MJPG-Streamerインストール
# apt-get install subversion libjpeg-dev imagemagick
# svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
# apt-get install libv4l-dev
# cd mjpg-streamer/
# make USE_LIBV4L2=true clean all

CUIへ切り替え(headless)
# systemctl set-default multi-user.target