24時間稼働予定のラズベリーパイで、接続している外付けHDDを常時起動しておくのは、電気代的に避けたい。
バックアップ用途であり、頻繁に使うものでもないので、一定時間アクセスがなければ、スピンダウン(休止状態)になるようにしたい。
環境:
RaspberryPi 3B+
Description:Raspbian GNU/Linux 10 (buster)
sdparm version: 1.10 20160222 [svn: r279]
USB-HDD:HD-AD4U3 4TB
外付けHDDの電源管理としては、sdparmとhdparmというものがある。
私の環境ではsdparmが利用可能だったので、sdparmの設定方法の備忘録。
sdparmのインストール
$ sudo apt update
$ sudo apt install sdparm
デバイスの接続場所を確認
$ df -h
/dev/sdb1 3.7T 428G 3.3T 12% /media/pi/HD-ADU3
USB-HDDは /dev/sdb1として接続されている。
sdparmによるHDDスピンダウンのコマンド
$ sudo sdparm --command=stop /dev/sdb1
>>1回ではゆっくりとした点滅後に点灯に戻るが、同じコマンドで2回目を実行することで、アクセスランプが消灯した。
HDDを監視し、一定時間アクセスがなければ、上記のコマンドを実行するスクリプトを新規作成する。(adu3_spindownは任意のファイル名でOK)
$ sudo nano /usr/local/bin/adu3_spindown.sh
--------------------
#!/bin/sh
disk=$1
interval=$2
state=`grep " $disk " /proc/diskstats`
count=$interval
up=1
while [ true ]; do
sleep 60
count=$(($count-60))
newstate=`grep " $disk " /proc/diskstats`
if [ "$state" = "$newstate" ]; then
if [ $count -lt 0 ]; then
count=$interval
if [ $up = 1 ]; then
echo "spin-down"
sync
state=`grep " $disk " /proc/diskstats`
sudo sdparm --command=stop -r /dev/$disk > /dev/null 2>&1
up=0
fi
fi
else
count=$interval
state="$newstate"
if [ $up = 0 ]; then
echo "drive is up"
up=1
fi
fi
done
--------------------
・whileループ関数で監視し続ける
・sleepで60秒ごとに実行するようにする
・/proc/diskstatsの内容を監視し、指定した時間(下記の/etc/rc.localに記載する第2
引数)経っても変更がなかったらスピンダウンさせ、echoでlogにメッセージ記載
・upがHDDの稼働状態の管理。起動時にup=1に設定。スピンダウンしたらup=0に変更。スピンアップしたらup=1に変更。
・ページの下にフローチャートを追記。
上記のファイルを作成したら、実行できるようにパーミッションを変更。
$ sudo chmod 755 /usr/local/bin/adu3_spindown.sh
chmod 755=「rwxr-xr-x」 所有者:全部、グループ&その他:読み出し&実行
起動時に動作させるために上記のスクリプトをrc.localに登録する。
$ sudo nano /etc/rc.local
以下の内容を文末のexit 0 の直前に追記する。
--------------------
/usr/local/bin/adu3_spindown.sh sdb1 3600 2>&1 | logger -t adu3_spindown &
--------------------
・1時間=3600秒。/proc/diskstatsの内容に変更がなかったら、スピンダウンするように設定した。
・3600は使用目的に沿った秒数に変更可能。
・"&"と文末に記載することでバックグラウンドで稼働。
スピンダウン、スピンアップの状況は以下のコマンドで確認可能。
$ tail /var/log/user.log
>>Dec 18 00:07:54 raspberrypi adu3_spindown: spin-down
>>Dec 18 00:11:55 raspberrypi adu3_spindown: drive is up
最初はrc.localへの記載を3600秒等ではなく、120秒など短い秒数で設定して、きちんと動作しているかの確認を行うとよい。
rc.localへの記載は再起動しないと反映されないので、変更した際には、再起動を行う。
2019.12.22追記
シェルスクリプトの内容をフローチャート化してみた。
2019年12月18日水曜日
2019年12月9日月曜日
ラズベリーパイ イーサネットコンバータ化(失敗)
ラズベリーパイ3B+(以下RPi)をイーサネットコンバータ化
※注意:結局挫折します。
条件:
1.DHCPサーバはRPiではない。RTがDHCPサーバとなる。
2.同一セグメント内で完結させたい。
環境:
RaspberryPi 3B+
Description:Raspbian GNU/Linux 10 (buster)
セグメント:192.168.0.0/24(既存のネットワーク)
192.168.0.1:RT(DHCPサーバ)
以前のネットワーク環境
RT---AP①~conv---AP②---RPi
~PC ---BDレコーダー等
AP②にはイーサネットコンバータ(conv)モードがないため、別途コンバータを導入していた。150Mb/sのはずだが、以前の記事の通り、1MB/s程度しか速度が出ないため、いろいろと検討していた。
PCの無線ラン子機には BUFFALO『WI-U3-866DS』を購入。11ac対応で、5GHz866Mb/s、2.4GHz300Mb/sとなる。
イーサネットコンバータもボトルネックになっているため、RPiをコンバータにする(今回の記事はここ)。
構想:
RT---AP①~RPi(conv)---AP②---BDレコーダー等
~PC
単純にブリッジ設定すれば、できると思っていたが、、、、
802.11には有線と無線をブリッジする仕様がない?らしく、brctlにてブリッジ設定することが出来なかった。
手を付けすぎて訳の分からなくなった、
----------dhcpcd.conf-----------------------
interface wlan0
static ip_address=192.168.0.209/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
static domain_search=192.168.0.1
metric 200
noipv6
interface eth0
static ip_address=192.168.0.208/24
noipv6
static routers=0.0.0.0
static domain_name_servers=0.0.0.0
static domain_search=
denyinterfaces wlan0
------------------------------------------------
手順1.
Interfacesを操作するのは非推奨ではあるが、他の方法だと上手くいかないので。
$ sudo nano /etc/network/interfaces
----------interfaces-----------------------
auto lo
iface lo inet loopback
auto eth0
allow-hotplug eth0
iface eth0 inet manual
metric300
auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
metric 100
metric 100
-------------------------------------------------
※メトリック設定はwlanを優先的にInternet回線に接続させるため。気休め。
手順2.
ip_forwardを有効にする。
$ sudo nano /etc/rc.local
----------rc.local-------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward(追加)
exit 0
---------------------------------------------------
※文末のexit 0の前に挿入
----------rc.local-------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward(追加)
exit 0
---------------------------------------------------
※文末のexit 0の前に挿入
手順3.
$ sudo apt dhcp-helper
$ sudo nano /etc/default/dhcp-helper
----------dhcp-helper---------------------
DHCPHELP_OPTS="-b wlan0"
-----------------------------------------------
手順4.
$ sudo nano /etc/default/dhcp-helper
----------dhcp-helper---------------------
DHCPHELP_OPTS="-b wlan0"
-----------------------------------------------
手順4.
Proxy ARPブリッジを使う。parproutedというデーモンが一般的らしい。
$ sudo apt install parprouted$ sudo nano /etc/rc.local
----------rc.local---------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.0.209 dev wlan0(追加)
parprouted wlan0 eth0(追加)
exit 0
----------------------------------------------------------
文末exit 0の直前に挿入。
ここで一度再起動($ sudo reboot)
手順5.
マルチキャストルーティング
$ sudo apt install smcroute$ sudo nano /etc/rc.local
---------rc.local---------------------------------------
echo 1 > /proc/sys/net/ipv4/ip_forward
ip addr add 192.168.0.209 dev wlan0
parprouted wlan0 eth0
smcroute -j eth0 239.255.255.255(追加)
smcroute -a eth0 0.0.0.0 239.255.255.255 wlan0(追加)
smcroute -j wlan0 239.255.255.255(追加)
smcroute -a wlan0 0.0.0.0 239.255.255.255 eth0(追加)
exit 0
----------------------------------------------------------
マルチキャストルーティングが上手くいってない。(><)
他にもいろいろ試しましたが、、、
挫折しました。
1週間程度試行錯誤しましたが、結局eth0がDHCPを取得してくず、諦めました。最終的には、RPi ~wlan0~ AP ~WI-U3-866DS~ PC にて接続して、以下の速度となりました。
挫折して、新しいコンバータを購入した。I-Oデータ製無線ランルータWN-AX1167GR2/E。
新構想
RT--AP~conv(WN-AX1167GR2/E)---RPi---USBHDD
---BDレコーダー等
~PC
2019年11月20日水曜日
ネットワークデバイス名変更
Raspberry Pi 3B+ のネットワークデバイス名が”enxb827********”となっているので、”eth0”にしたい。
環境:
RaspberryPi3 B+
Description: Raspbian GNU/Linux 10 (buster)
命名規則が”enx+MACアドレス”となっている様子。
$ sudo cp /lib/udev/rules.d/73-usb-net-by-mac.rules /lib/udev/rules.d/73-usb-net-by-mac.rules.bak
>>バックアップを取っておく。
$ sudo nano /lib/udev/rules.d/73-usb-net-by-mac.rules
---/lib/udev/rules.d/73-usb-net-by-mac.rules---
# Use MAC based names for network interfaces which are directly or indirectly
# on USB and have an universally administered (stable) MAC address (second bit
# is 0). Don't do this when ifnames is disabled via kernel command line or
# customizing/disabling 99-default.link (or previously 80-net-setup-link.rules)
# or if the interface name was provided by user-space.
ACTION=="remove", GOTO="usb_net_by_mac_end"
SUBSYSTEM!="net", GOTO="usb_net_by_mac_end"
ATTR{name_assign_type}=="3", GOTO="usb_net_by_mac_end"
IMPORT{cmdline}="net.ifnames"
ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"
SUBSYSTEMS=="usb", NAME=="", \
ATTR{address}=="?[014589cd]:*", \
TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \
TEST!="/etc/systemd/network/99-default.link", \
IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"
------------------------------------------------------------
"$env{ID_NET_NAME_MAC} "を"eth0"に変更する。
今後の更新でこの修正が上書きされないようにするには、次の手順を実行。
$ cp /lib/udev/rules.d/73-usb-net-by-mac.rules /etc/udev/rules.d/
環境:
RaspberryPi3 B+
Description: Raspbian GNU/Linux 10 (buster)
命名規則が”enx+MACアドレス”となっている様子。
$ sudo cp /lib/udev/rules.d/73-usb-net-by-mac.rules /lib/udev/rules.d/73-usb-net-by-mac.rules.bak
>>バックアップを取っておく。
$ sudo nano /lib/udev/rules.d/73-usb-net-by-mac.rules
---/lib/udev/rules.d/73-usb-net-by-mac.rules---
# Use MAC based names for network interfaces which are directly or indirectly
# on USB and have an universally administered (stable) MAC address (second bit
# is 0). Don't do this when ifnames is disabled via kernel command line or
# customizing/disabling 99-default.link (or previously 80-net-setup-link.rules)
# or if the interface name was provided by user-space.
ACTION=="remove", GOTO="usb_net_by_mac_end"
SUBSYSTEM!="net", GOTO="usb_net_by_mac_end"
ATTR{name_assign_type}=="3", GOTO="usb_net_by_mac_end"
IMPORT{cmdline}="net.ifnames"
ENV{net.ifnames}=="0", GOTO="usb_net_by_mac_end"
SUBSYSTEMS=="usb", NAME=="", \
ATTR{address}=="?[014589cd]:*", \
TEST!="/etc/udev/rules.d/80-net-setup-link.rules", \
TEST!="/etc/systemd/network/99-default.link", \
IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"
------------------------------------------------------------
"$env{ID_NET_NAME_MAC} "を"eth0"に変更する。
今後の更新でこの修正が上書きされないようにするには、次の手順を実行。
$ cp /lib/udev/rules.d/73-usb-net-by-mac.rules /etc/udev/rules.d/
2019年11月16日土曜日
RaspberryPi ネットワーク速度改善
購入したラズパイのネットワーク転送速度が遅い。
大体1MB/s位しかでていないので、『iPerf3』を利用して計測してみることにした。
iperf は、TCP/UDPのネットワーク最大帯域幅パフォーマンスを測定できるベンチマークツール。
準備
ラズパイ側
# apt install iperf3
PC側
計測
ラズパイ側
# iperf3 -s
>>サーバーとして起動
PC側
eth0 >7.31Mbits/sec ~ 8.78Mbits/sec
wlan0>8.25Mbits/sec ~ 8.36Mbits/sec
上記から大体1MB/sというのは当たっているみたいだけど、、、遅い!!
定番の『CrystalDiskMark』でも調べてみた。
ラズベリーパイのSMBフォルダをネットワークドライブに割り当てることで、計測可能となる。
→ PC ~ ルーター ~ コンバータ --- AP --- RPi (---有線、~無線)
ルーターとPCとメディア関連の設置場所がすべてことなるので、上記のような面倒な状況となっている。
改善策1
・無線LANの反応が悪いのはパワーマネジメント機能がONになっているためらしいので、これをOFFにしてみる。
パワーマネジメント機能の切り方
ラズパイ側
# iwconfig
>>Bit Rate=135Mb/s だと!!
>>Power Management:on 現在ONになっているので、
# iwconfig wlan0 power off
# iwconfig にて確認
>>Bit Rate=150Mb/s になってるし、、、
>>Power Management:off OFFになった。
再度iPerf3で確認
eth0>7.23Mbits/s ~ 7.42Mbits/s
wlan0>6.92Mbits/s ~ 7.94Mbits/s
若干数値下がってるし。
大体1MB/s位しかでていないので、『iPerf3』を利用して計測してみることにした。
iperf は、TCP/UDPのネットワーク最大帯域幅パフォーマンスを測定できるベンチマークツール。
準備
ラズパイ側
# apt install iperf3
PC側
- https://iperf.fr/iperf-download.phpからiPerf3 Windows64bit版をダウンロード。
- zipファイルを解凍して出てきた2つのファイル「cygwin1.dll」と「iperf3.exe」を"C:\WINDOWS\system32"に移動。
計測
ラズパイ側
# iperf3 -s
>>サーバーとして起動
PC側
- コマンドプロンプトを開き、"iperf3 -c <IPaddress>"を入力
eth0 >7.31Mbits/sec ~ 8.78Mbits/sec
wlan0>8.25Mbits/sec ~ 8.36Mbits/sec
上記から大体1MB/sというのは当たっているみたいだけど、、、遅い!!
定番の『CrystalDiskMark』でも調べてみた。
ラズベリーパイのSMBフォルダをネットワークドライブに割り当てることで、計測可能となる。
→ PC ~ ルーター ~ コンバータ --- AP --- RPi (---有線、~無線)
ルーターとPCとメディア関連の設置場所がすべてことなるので、上記のような面倒な状況となっている。
改善策1
・無線LANの反応が悪いのはパワーマネジメント機能がONになっているためらしいので、これをOFFにしてみる。
パワーマネジメント機能の切り方
ラズパイ側
# iwconfig
>>Bit Rate=135Mb/s だと!!
>>Power Management:on 現在ONになっているので、
# iwconfig wlan0 power off
# iwconfig にて確認
>>Bit Rate=150Mb/s になってるし、、、
>>Power Management:off OFFになった。
再度iPerf3で確認
eth0>7.23Mbits/s ~ 7.42Mbits/s
wlan0>6.92Mbits/s ~ 7.94Mbits/s
若干数値下がってるし。
改善策2
・PCをアクセスポイント(AP)に有線接続して計測してみた。
→ PC --- AP ---RPi(---は有線)
PC - RPi 間のネットワーク改善が必要!
使用しているストレージはruf3-sp64g-bkでRPi3B+はUSB2.0接続なので、PCにUSB2.0接続するよりも高速という不思議。
ただ、通常の使用では
→ PC ~ ルーター ~ コンバーター --- AP --- RPi (---有線、~無線)
APにRPi、TV、BDレコーダーを有線接続している。
通常のマルチメディア視聴環境はAP以下で収まっているが、PCだけインターネットを使用するため、ルーターの無線ネットワークに接続させている。
PCからAPへ無線接続してみた。
→ PC ~ AP --- RPi (---有線、~無線)
ルーターとコンバータ経由より2倍は早いけど、それでも有線に比べて遅すぎ。PCのWiFiが遅いのか。
使用している無線ラン子機はTP-Link TL-WN725Nで公称150Mbpsの通信速度がある。
PCのインターネット速度を計測。
使用したのは『google』のインターネット速度テスト。
アップロードで1.3MB/s弱しか出ていない。updownで2.2MB/s。
デフォルトゲートウェイに”ping 192.168.0.1 -l 60000”してみた。平均=43ms
帯域≒(Byte*2)/s=60000*2/0.043≒2.66MB/sなので、
これは、無線ラン子機が原因か!?
スマホで上記と同じインターネット速度テストをしたところ、DL:31.8Mbps、UL:43.3Mbpsだったので、PCの無線ラン子機がボトルネックになっているという推測となった。
後日、無線ラン子機を買いなおしてみよう。
2019.12.12追記
WI-U3-866DSを購入(2019.11月)
2011.1.4追記
WN-AX1167GR2を購入(2019.12月)
PC(WI-U3-866DS)~無線~ WN-AX1167GR2 -有線ー RPi
だいぶ有線接続の値に近づいた。
・PCをアクセスポイント(AP)に有線接続して計測してみた。
→ PC --- AP ---RPi(---は有線)
PC - RPi 間のネットワーク改善が必要!
使用しているストレージはruf3-sp64g-bkでRPi3B+はUSB2.0接続なので、PCにUSB2.0接続するよりも高速という不思議。
ただ、通常の使用では
→ PC ~ ルーター ~ コンバーター --- AP --- RPi (---有線、~無線)
APにRPi、TV、BDレコーダーを有線接続している。
通常のマルチメディア視聴環境はAP以下で収まっているが、PCだけインターネットを使用するため、ルーターの無線ネットワークに接続させている。
PCからAPへ無線接続してみた。
→ PC ~ AP --- RPi (---有線、~無線)
ルーターとコンバータ経由より2倍は早いけど、それでも有線に比べて遅すぎ。PCのWiFiが遅いのか。
使用している無線ラン子機はTP-Link TL-WN725Nで公称150Mbpsの通信速度がある。
PCのインターネット速度を計測。
使用したのは『google』のインターネット速度テスト。
アップロードで1.3MB/s弱しか出ていない。updownで2.2MB/s。
デフォルトゲートウェイに”ping 192.168.0.1 -l 60000”してみた。平均=43ms
帯域≒(Byte*2)/s=60000*2/0.043≒2.66MB/sなので、
これは、無線ラン子機が原因か!?
スマホで上記と同じインターネット速度テストをしたところ、DL:31.8Mbps、UL:43.3Mbpsだったので、PCの無線ラン子機がボトルネックになっているという推測となった。
後日、無線ラン子機を買いなおしてみよう。
2019.12.12追記
WI-U3-866DSを購入(2019.11月)
2011.1.4追記
WN-AX1167GR2を購入(2019.12月)
PC(WI-U3-866DS)~無線~ WN-AX1167GR2 -有線ー RPi
だいぶ有線接続の値に近づいた。
ラベル:
PC,
RaspberryPi,
ネット
2019年11月7日木曜日
OMV4 エラー対策(仮)
環境:
RaspberryPi 3B+
カーネル:Linux 4.19.81-v7+
openmediavault:4.1.26-1(Arrakis)
OSイメージファイル:OMV_4_Raspberry_Pi_2_3_3Plus_4.img
エラー1:Web-gui に接続できない。
対策:原因がたくさんあるようなので、うちの環境での例。
$ sudo service nginx status
(nginx.serviceの状態を確認。。)
$ sudo nano /etc/nginx/sites-enabled/openmediavault-webgui
(nano で上記ファイルを開く。必要ならcpにてバックアップを取る。)
/etc/nginx/sites-enabled/openmediavault-webguiの下の方にある、
}
listen 80; #listen [::]:80 ipv6only=off;
上記のように#でコメントアウトすることで、無事WebGUIにアクセスすることが出来るようになった。
エラー2:ドライブを認識しない。
対策:デバイスを接続した状態でインストールすると認識しないらしい。
一度OMV4側で再起動する必要がある。ラズパイ側での再起動ではなく。普段はSSHで再起動してたから気が付かなかった。
エラー3:WiFiデバイスを認識しない。
対策:Raspberry Pi3B+は初期状態ではWiFiが無効になっている。ロケール設定をしないと有効にならないらしい。
状況確認に使いそうなコマンド
「ifconfig」「iwconfig」「systemctl」「nmtui」「nmcli」「locale」「ip a」「omv-firsteid」
対策1:ロケール設定
$ locale にてロケールの状態確認。
$ localectl list-locales にて表示されたリストから設定を選ぶ。ja_JP.utf8
$ localectl set-locale LANG=ja_JP.utf8
上記実施→$ logoff→$ login
をしてみたけど、上手くいかない。
対策2:
$ wget https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20190114-1+rpt2_all.deb
$ sudo apt install firmware-brcm80211_20190114-1+rpt2_all.deb
(エラーや警告が出るけどとりあえず無視)
$ reboot
※蛇足
$nmtui で確認したところ、WiFiデバイス名はB8:27:EB:75:70:FC(wlan0)にだった。
エラー4:Failed to start Raise network interfaces
上記エラー3でネットワーク周りの設定を大分いじったのが原因だと思うが、$ systemctl status networking にて上記エラーが発生していた。
対策: /etc/network/intarfaces を編集する。
$ sudo nano /etc/network/intarfaces
----------------- /etc/network/intarfaces---------------------
auto lo
iface lo inet loopback
----------------------------------------------------------------
上記の2行に変更。#でコメントアウトでもOK。bonding時の設定ミスがあった模様。
(2019.11.10追記)
エラー5:Failed to start Realtek H5 bluetooth support.(未解決)
OMV4でbluetoothを使う場面が想定できないけど、Failedになっているのが、気になるので、Activeにしたい。でも接続するbluetooth機器がないので、しばらく保留。
対策:
$ armbian-configでbluetoothがインストールされているか確認。
$ sudo apt install pi-bluetooth (version0.1.12)
エラー6:smartd.serviceがfailed
status=17の場合、smart可能なHDDがないことを示す。
対策:HDDを接続し、BOOTデバイスを変更する。
今後の対応予定:$ systemctlにてfailedとなっている項目。
watchdog.service(Failed to start watchdog daemon.)
ウォッチドッグとは、システムが正常に動作しているか監視するデバイスの総称。
$ journalctl -xe
--------------------------
Error: Cannot glob /sys/class/rc/rc0/input[0-9]*/event[0-9]*
----------------------------
$ apt install watchdog(version5.15-2)
$ update-rc.d watchdog enable
$ modprobe bcm2835_wdog
>>>modprobe: FATAL: Module bcm2835_wdog not found in directory /lib/modules/4.19.81-v7+ にてエラー
$ modprobe bcm2835_wdt
$ nano /lib/systemd/system/watchdog.service
---watchdog.service------------------------
WantedBy=multi-user.target
----------------------------------------------
$ nano /etc/watchdog.conf
---watchdog.conf--------------------------
max-load-1 = 24
watchdog-device = /dev/watchdog
watchdog-timeout = 10
---------------------------------------------
$ systemctl enable watchdog.service
$ reboot
$ :(){ :|:& };:(forkbomb)
$ systemctl status watchdog.service
wd_keepalive.service( Failed to start watchdog keepalive daemon. )
上記設定が終わり”/etc/default/watchdog”内のrun_wd_keepaleve=1にすれば大丈夫か。(上記watchdog.serviceの対策が終了しておらず未検証)
$ nano /etc/default/watchdog
---/etc/default/watchdog----------------
# Set run_wd_keepalive to 1 to start wd_keepalive after stopping watchdog or 0
# to disable it. Running it is the default. (#rundogを停止してからwd_keepaliveを開始するにはrun_wd_keepaliveを1に設定し、無効にするには0に設定します。 それを実行することがデフォルトです。)
run_wd_keepalive=0or1 (デフォルトは”0”)
--------------------------------------------
var-swap.swap (Failed to activate swap /var/swap.
RaspberryPi 3B+
カーネル:Linux 4.19.81-v7+
openmediavault:4.1.26-1(Arrakis)
OSイメージファイル:OMV_4_Raspberry_Pi_2_3_3Plus_4.img
エラー1:Web-gui に接続できない。
対策:原因がたくさんあるようなので、うちの環境での例。
$ sudo service nginx status
(nginx.serviceの状態を確認。。)
$ sudo nano /etc/nginx/sites-enabled/openmediavault-webgui
(nano で上記ファイルを開く。必要ならcpにてバックアップを取る。)
/etc/nginx/sites-enabled/openmediavault-webguiの下の方にある、
}
listen 80; #listen [::]:80 ipv6only=off;
上記のように#でコメントアウトすることで、無事WebGUIにアクセスすることが出来るようになった。
エラー2:ドライブを認識しない。
対策:デバイスを接続した状態でインストールすると認識しないらしい。
一度OMV4側で再起動する必要がある。ラズパイ側での再起動ではなく。普段はSSHで再起動してたから気が付かなかった。
エラー3:WiFiデバイスを認識しない。
対策:Raspberry Pi3B+は初期状態ではWiFiが無効になっている。ロケール設定をしないと有効にならないらしい。
状況確認に使いそうなコマンド
「ifconfig」「iwconfig」「systemctl」「nmtui」「nmcli」「locale」「ip a」「omv-firsteid」
対策1:ロケール設定
$ locale にてロケールの状態確認。
$ localectl list-locales にて表示されたリストから設定を選ぶ。ja_JP.utf8
$ localectl set-locale LANG=ja_JP.utf8
上記実施→$ logoff→$ login
をしてみたけど、上手くいかない。
対策2:
$ wget https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20190114-1+rpt2_all.deb
$ sudo apt install firmware-brcm80211_20190114-1+rpt2_all.deb
(エラーや警告が出るけどとりあえず無視)
$ reboot
※蛇足
$nmtui で確認したところ、WiFiデバイス名はB8:27:EB:75:70:FC(wlan0)にだった。
エラー4:Failed to start Raise network interfaces
上記エラー3でネットワーク周りの設定を大分いじったのが原因だと思うが、$ systemctl status networking にて上記エラーが発生していた。
対策: /etc/network/intarfaces を編集する。
$ sudo nano /etc/network/intarfaces
----------------- /etc/network/intarfaces---------------------
auto lo
iface lo inet loopback
----------------------------------------------------------------
上記の2行に変更。#でコメントアウトでもOK。bonding時の設定ミスがあった模様。
(2019.11.10追記)
エラー5:Failed to start Realtek H5 bluetooth support.(未解決)
OMV4でbluetoothを使う場面が想定できないけど、Failedになっているのが、気になるので、Activeにしたい。でも接続するbluetooth機器がないので、しばらく保留。
対策:
$ armbian-configでbluetoothがインストールされているか確認。
$ sudo apt install pi-bluetooth (version0.1.12)
エラー6:smartd.serviceがfailed
status=17の場合、smart可能なHDDがないことを示す。
対策:HDDを接続し、BOOTデバイスを変更する。
今後の対応予定:$ systemctlにてfailedとなっている項目。
watchdog.service(Failed to start watchdog daemon.)
ウォッチドッグとは、システムが正常に動作しているか監視するデバイスの総称。
$ journalctl -xe
--------------------------
Error: Cannot glob /sys/class/rc/rc0/input[0-9]*/event[0-9]*
----------------------------
$ apt install watchdog(version5.15-2)
$ update-rc.d watchdog enable
$ modprobe bcm2835_
>>>modprobe: FATAL: Module bcm2835_wdog not found in directory /lib/modules/4.19.81-v7+ にてエラー
$ modprobe bcm2835_wdt
$ nano /lib/systemd/system/watchdog.service
---watchdog.service------------------------
WantedBy=multi-user.target
----------------------------------------------
$ nano /etc/watchdog.conf
---watchdog.conf--------------------------
max-load-1 = 24
watchdog-device = /dev/watchdog
watchdog-timeout = 10
---------------------------------------------
$ systemctl enable watchdog.service
$ reboot
$ :(){ :|:& };:(forkbomb)
$ systemctl status watchdog.service
wd_keepalive.service( Failed to start watchdog keepalive daemon. )
上記設定が終わり”/etc/default/watchdog”内のrun_wd_keepaleve=1にすれば大丈夫か。(上記watchdog.serviceの対策が終了しておらず未検証)
$ nano /etc/default/watchdog
---/etc/default/watchdog----------------
# Set run_wd_keepalive to 1 to start wd_keepalive after stopping watchdog or 0
# to disable it. Running it is the default. (#rundogを停止してからwd_keepaliveを開始するにはrun_wd_keepaliveを1に設定し、無効にするには0に設定します。 それを実行することがデフォルトです。)
run_wd_keepalive=0or1 (デフォルトは”0”)
--------------------------------------------
var-swap.swap (Failed to activate swap /var/swap.
2019年10月26日土曜日
ホンダ ステップワゴン・スパーダ 電池交換
HONDA STEP WGN SPADA スマートキーの電池交換
愛車・ホンダステップワゴン/スパーダのスマートキーの電池がなくなったので電池交換。
使用する電池は『CR2032』amazonで1個140円位~送料無料。
手順1:メカニカルキーを外す。写真の赤丸の部分。
手順2:写真の10円玉の所にコインを入れるくぼみがあるので、コインを入れてひねって開ける。
手順3:電池の向き+-に気を付けて交換。
スマートキー:リモコン(鍵)に触れることなくドアロックの開閉+エンジンスタート。
キーレス:リモコンの手動操作によるドアロックの開閉。
2019年10月20日日曜日
RaspberryPi FTP導入
FTPサーバ導入
環境:RaspberryPi3B+
FTPサーバソフト:vsftpdを使用
テキストエディタ:nano
FTPクライアントソフト:FFFTP
PC:Windows10Home
ラズパイ側
$ sudo apt-get update
>パッケージリストの更新
$ sudo apt-get install vsftpd
>vsftpdパッケージをインストール
$ sudo nano /etc/vsftpd.conf
>設定ファイルの編集
/vsftpd.conf
>anonymous_enable=NO
anonymousユーザーを無効
(デフォルトで無効)
>local_enable=YES
ローカルユーザを有効
>write_enable=YES
書き込み有効
>local_umask=022
アクセス権設定
umask:新規ファイル/ディレクトリ作成時のアクセス権を設定するコマンド。
>ascii_upload_enable=YES
>ascii_download_enable=YES
アスキーでアップロード・ダウンロードを有効
(無効の方が良いかも)
ファイル転送モード:アスキー(テキスト)モード、バイナリモード
テキストの改行コードはOSによって違う。Unix/Linux系はLF、WindowsはCRLF。
アスキーモードでは環境に合わせてファイルを変換して転送する。(勝手に修正される)
>chroot_local_user=YES
ローカルユーザのchroot化。
>chroot_list_enable=YES
リスト有効
>chroot_list_file=/etc/vsftpd.chroot_list
リストのパス
chroot:ルートディレクトリを変更し、その範囲外のファイルにはアクセスできなくする。
chroot_local_user=YESの場合、chroot_listはchroot無効のリスト
chroot_local_user=NOの場合、chroot_listはchroot有効のリスト
編集が終わったら、「Ctrl+o」で保存、確認が出るのでエンター、「Ctrl+x」でnanoを修了させる。
$ sudo nano /etc/vsftpd.chroot_list
>pi
ユーザpiの追加
$ sudo service vsftpd restart
>vsftpd をリスタート
$ sudo reboot
>ラズパイの再起動
$ sudo service vsftpd status
>起動状態の確認
Active: active (running)~と書かれていればOK
PC側
・FFFTPをインストール。
『FFFTP』:FTPクライアントの定番ソフト。DL
・FFFTPを起動。
・接続先の設定 >新規ホストを選択
・ホストの設定
>ホストの設定名:適当でOK
>ホスト名:IPアドレスを記載(ホスト名:raspberrypi でも可)
>ユーザー名:pi
>パスワード:raspberry(デフォルトの場合)
(vsftpd.confファイルの編集時にanonymous_enable=YESとしていれば、anonymousにチェックを入れれば、使用可能。)
・接続をクリック
・左側にPC、右側にラズベリーパイのディレクトリが表示されれば完了。
環境:RaspberryPi3B+
FTPサーバソフト:vsftpdを使用
テキストエディタ:nano
FTPクライアントソフト:FFFTP
PC:Windows10Home
ラズパイ側
$ sudo apt-get update
>パッケージリストの更新
$ sudo apt-get install vsftpd
>vsftpdパッケージをインストール
$ sudo nano /etc/vsftpd.conf
>設定ファイルの編集
/vsftpd.conf
>anonymous_enable=NO
anonymousユーザーを無効
(デフォルトで無効)
>local_enable=YES
ローカルユーザを有効
>write_enable=YES
書き込み有効
>local_umask=022
アクセス権設定
umask:新規ファイル/ディレクトリ作成時のアクセス権を設定するコマンド。
>ascii_upload_enable=YES
>ascii_download_enable=YES
アスキーでアップロード・ダウンロードを有効
(無効の方が良いかも)
ファイル転送モード:アスキー(テキスト)モード、バイナリモード
テキストの改行コードはOSによって違う。Unix/Linux系はLF、WindowsはCRLF。
アスキーモードでは環境に合わせてファイルを変換して転送する。(勝手に修正される)
>chroot_local_user=YES
ローカルユーザのchroot化。
>chroot_list_enable=YES
リスト有効
>chroot_list_file=/etc/vsftpd.chroot_list
リストのパス
chroot:ルートディレクトリを変更し、その範囲外のファイルにはアクセスできなくする。
chroot_local_user=YESの場合、chroot_listはchroot無効のリスト
chroot_local_user=NOの場合、chroot_listはchroot有効のリスト
編集が終わったら、「Ctrl+o」で保存、確認が出るのでエンター、「Ctrl+x」でnanoを修了させる。
$ sudo nano /etc/vsftpd.chroot_list
>pi
ユーザpiの追加
$ sudo service vsftpd restart
>vsftpd をリスタート
$ sudo reboot
>ラズパイの再起動
$ sudo service vsftpd status
>起動状態の確認
Active: active (running)~と書かれていればOK
PC側
・FFFTPをインストール。
『FFFTP』:FTPクライアントの定番ソフト。DL
・FFFTPを起動。
・接続先の設定 >新規ホストを選択
・ホストの設定
>ホストの設定名:適当でOK
>ホスト名:IPアドレスを記載(ホスト名:raspberrypi でも可)
>ユーザー名:pi
>パスワード:raspberry(デフォルトの場合)
(vsftpd.confファイルの編集時にanonymous_enable=YESとしていれば、anonymousにチェックを入れれば、使用可能。)
・接続をクリック
・左側にPC、右側にラズベリーパイのディレクトリが表示されれば完了。
登録:
投稿 (Atom)





















