2019年12月18日水曜日

HDD自動スピンダウン

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月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
-------------------------------------------------
※メトリック設定はwlanを優先的にInternet回線に接続させるため。気休め。

手順2. 
 ip_forwardを有効にする。
$ sudo  nano /etc/rc.local
----------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. 
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。こちらはコンバータ機能を搭載しており、BUFFALO製と異なり、中継器ではなくコンバータとして機能することも可能です。(取説見たら中継器としての利用でした。)中継器として使用すると本来の性能の半分しか利用できないらしいです。NECも候補にあがったけど、AP①は同じくI-Oデータ製のWN-AX2033GR2なので、同社製のコンバータにしました。


新構想
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/

2019年11月16日土曜日

RaspberryPi ネットワーク速度改善

購入したラズパイのネットワーク転送速度が遅い。
大体1MB/s位しかでていないので、『iPerf3』を利用して計測してみることにした。

iperf は、TCP/UDPのネットワーク最大帯域幅パフォーマンスを測定できるベンチマークツール。

準備
ラズパイ側
# apt install iperf3

PC側
  1. https://iperf.fr/iperf-download.phpからiPerf3 Windows64bit版をダウンロード。
  2. zipファイルを解凍して出てきた2つのファイル「cygwin1.dll」と「iperf3.exe」を"C:\WINDOWS\system32"に移動。

計測
ラズパイ側
# iperf3 -s
>>サーバーとして起動

PC側
  1. コマンドプロンプトを開き、"iperf3 -c <IPaddress>"を入力 
ラズパイには2つのNICがあるので、それぞれ2度計測してみた。
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
 だいぶ有線接続の値に近づいた。

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.

2019年10月26日土曜日

ホンダ ステップワゴン・スパーダ 電池交換


HONDA STEP WGN SPADA スマートキーの電池交換

愛車・ホンダステップワゴン/スパーダのスマートキーの電池がなくなったので電池交換。




 使用する電池は『CR2032amazonで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、右側にラズベリーパイのディレクトリが表示されれば完了。

2019年10月14日月曜日

HD-AD4U3 BUFFALO製外付けHDD

先日PCが起動しないトラブルが発生したので、HDDのバックアップを取る目的で外付けHDDを探していたら、amazonで標記のHDDを見つけた。

BUFFALO製外付けHDD HD-AD4U3
アマゾン限定モデル。\9780で購入した。

中身はWesternDigital製 WD40EZRZ-RT2
シリーズ  :WD Blue
プラッタ容量:1.33TB
回転数   :5400rpm
キャッシュ :64MB



WD40EZRZ-22GXCB0はOEM品らしく、通常流通品は00GXCB0となっているらしい。
とりあえず、ベンチマーク♪




買ったばっかりで、高速な内周を使用しているからそれなりの速度は出ている様子。
他の人のベンチマーク結果でも購入当初は同様の数字なので、これが120MB/s位まで下がっていくのかな。
今回は、子どもの動画のバックアップ目的での購入で、使用頻度は高くないから、あまり転送速度は関係ないかもしれないけど。

 ちなみにいつ購入したか分からない、WD20EARSのベンチマークも取ってみた。

 

約10年前のWD20EARSと比べて、
転送速度が2倍。
容量が2倍(2T→4T)でも値段は半額(2万円→1万円)

HDDが買いやすくなったものだ。

以下は2019.12.11に追記。
hdparmでHD-AD4U3の詳細情報を取得した。

$ sudo hdparm -I /dev/sdb1
----------------------------------------------
/dev/sdb1:

ATA device, with non-removable media
        Model Number:       WDC WD40EZRZ-22GXCB0
        Serial Number:      WD-************
        Firmware Revision:  80.00A80
        Transport:          Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
        Used: unknown (minor revision code 0x006d)
        Supported: 10 9 8 7 6 5
        Likely used: 10
Configuration:
        Logical         max     current
        cylinders       16383   0
        heads           16      0
        sectors/track   63      0
        --
        LBA    user addressable sectors:   268435455
        LBA48  user addressable sectors:  7814037168
        Logical  Sector size:                   512 bytes
        Physical Sector size:                  4096 bytes
        Logical Sector-0 offset:                  0 bytes
        device size with M = 1024*1024:     3815447 MBytes
        device size with M = 1000*1000:     4000787 MBytes (4000 GB)
        cache/buffer size  = unknown
        Form Factor: 3.5 inch
        Nominal Media Rotation Rate: 5400
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, with device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    NOP cmd
           *    DOWNLOAD_MICROCODE
                Power-Up In Standby feature set
           *    SET_FEATURES required to spinup after power up
                SET_MAX security extension
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    64-bit World wide name
           *    WRITE_UNCORRECTABLE_EXT command
           *    {READ,WRITE}_DMA_EXT_GPL commands
           *    Segmented DOWNLOAD_MICROCODE
           *    Gen1 signaling speed (1.5Gb/s)
           *    Gen2 signaling speed (3.0Gb/s)
           *    Gen3 signaling speed (6.0Gb/s)
           *    Native Command Queueing (NCQ)
           *    Host-initiated interface power management
           *    Phy event counters
           *    NCQ priority information
           *    READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
           *    DMA Setup Auto-Activate optimization
                Device-initiated interface power management
           *    Software settings preservation
           *    SMART Command Transport (SCT) feature set
           *    SCT Write Same (AC2)
           *    SCT Features Control (AC4)
           *    SCT Data Tables (AC5)
                unknown 206[12] (vendor specific)
                unknown 206[13] (vendor specific)
           *    DOWNLOAD MICROCODE DMA command
           *    WRITE BUFFER DMA command
           *    READ BUFFER DMA command
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
        not     frozen
        not     expired: security count
                supported: enhanced erase
        470min for SECURITY ERASE UNIT. 470min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 50014ee266beddfd
        NAA             : 5
        IEEE OUI        : 0014ee
        Unique ID       : 266beddfd
Checksum: correct
----------------------------------------------


PC構成

2012年11月に組んだPCの構成(2020.5.25現在)

【マザーボード】ASRock H77M-ITX(2012.11.8)
【CPU】INTEL Core i3-3225(2012.11.8)
【CPUクーラー】リテール
【ストレージ】
  Samsung SSD 750EVO(250GB)
  WESTERN DIGITAL  WD20EARS(2TB)(流用)
  BUFFALO HD-AD4U3(外付け4TB)(2019.10.2)¥9780
  →RPiに接続してファイルサーバー用
【MEM】DDR3 4GB*2
【光学ドライブ】BUFFALO BRRXL-PT6U2V
【ケース】 INWIN Waby2 (2012.11.8)
【電源】玄人志向 KRPW-AC120W(2016.8.28)¥5325
  ※ケース付属電源は撤去
【マウス】
  BUFFALO BSMBB505MBK(2018.12.31)¥2380
  →RPi用に変更
  microsoft wireless mobil 3500
【キーボード】サンワサプライ SKB-L1UBK(2019.9.19)¥672
       EWIN ZR-067-B009(2020.5.24)¥2480
         ⇒RPi用
【無線LAN子機】
  TP-Link TL-WN725N(2018.6.26)¥700
  BUFFALO WI-U3-866DS(2019.11.19)\¥253
【Bluetooth子機】???bluetooth4.0
【スピーカー】Google Home Mini  ¥3000
【ディスプレイ】LG 22MP47HQ-P
【OS】Windows 10 Home

7年前にMB、CPU、ケースを購入して作ったけど、それ以外は結構変わってる。
HDD(WD20EARS)位しかない。

MuseScore3

子どもが学芸会で鍵盤ハーモニカを披露するので、毎日その練習中。

でも、分からないところがあっても、私も音楽は良く分からないので、弾いて教えることはできない。YouTubeで曲を探しても、いろいろなパートの合奏になっているので、子どもが担当するパートをどう弾いたら良いのか分からず、、、。

ネットで探していたら、こんなものを見つけた。

楽譜作成ソフトウェア

『MuseScore3』(https://musescore.org/ja

どうやら楽譜を入力すると音楽を再生できるらしいので、早速インストール。

なんとなく直感的に使用でき、分からないところも、上記サイト内に日本語で詳細な説明があるので、サクサク進めた。

悩んだところ①
・音符の入力はキーボードで行う。
ド:c
レ:d
ミ:e
ファ:f
ソ:g
ラ:a
シ:b

悩んだところ②
繰り返しの小節を複数選択する方法が視覚的にはわかりづらい。
 「Shift」を押しながらキーボードの矢印←→で二回目は飛ばす小節を選択可能だった。

慣れていないから、少し時間はかかったが、MP3音源に変換して子どもに聞かせることが出来た。

このソフトを作り、フリーで公開してくれている方に感謝。

RUF3-SP64G-BK

子ども達と一緒に近所のヤマダ電機でUSBメモリを購入。子ども達が一緒だったから評判などを確認は一切なし。
購入したのは、64GBで一番安かった、BUFFALO製『RUF3-SP64G-BK』という製品。お値段1,880円(税別)也。


特徴:
1年保証
USB端子を片手で出せるプッシュスライド式機構採用
暗号化ソフト「SecureLock Mobile2」ダウンロード可能

仕様:
インターフェース:USB3.1(Gen1)/USB3.0/2.0
コネクター形状:USB Aソケット

>USB3.1(Gen1)とUSB3.0のインターフェースって給電能力以外は同じじゃないの?

早速、ベンチマーク♪

CrystalDiskMark6.0.2 ×64(UWP)にて計測。

環境:H77M-ITX(H77チップセット) マザボのバックパネルUSB3.1(Gen1)に直挿し。

 

FAT32で初期化されていたので、exFATにてフォーマット。

まあ、2,000円未満のUSBメモリなら、こんなものなのかな。
ちなみに、USB2.0に接続したときには↓となる。

 環境:H77M-ITX(H77チップセット) マザボのバックパネルUSB2.0に直挿し。



ラズベリーパイ3B+(openmediavault4)にUSB2.0接続し、PCからアクセスポイント経由で有線接続。本USBメモリにネットワークドライブを割り当てて、計測した。
PCにUSB2.0接続するよりも圧倒的に高性能な結果をたたき出してくれた。

どういうこと?

2019年10月12日土曜日

Raspbianの初期設定

Noobs入りSDカードの準備とかは他のサイトにたくさんあるので省略。

環境:
Description:Raspbian GNU/Linux 10 (buster)
RaspberryPi3 B+


Raspbianのデフォルト
ユーザー名:pi
パスワード:raspberry


#SSH と VNCを有効化
「設定」>「RaspberryPiの設定」>「インターフェイス」>SSH:有効、VCN:有効
※デフォルトではSSHは無効。最初からヘッドレスで操作したい場合には、bootパーティション内に”ssh”という空のファイルを作っておく。

#GPUメモリの変更
「設定」>「RaspberryPiの設定」>「パフォーマンス」>GPUメモリ:単位はMB
ラズパイでビデオ再生するわけでもなく、問題が出るまではデフォルトのまま。

#パスワードの変更
$ sudo raspi-config

 
「1.Change Use Password Change password for the current user」を選択。
新しいパスワード:●●(表示されない)
新しいパスワードを再入力してください:上と同じパスワード(表示されない)
passwd: パスワードは正しく更新されました

#IPアドレスの固定化
画面右上のWiFiのマークを右クリックして
『Wireless & Wired Network Settings』から設定可能。
あえてCUIからしようとすれば、下記の通り、dhcpcd.confを修正する。

$ sudo nano /etc/dhcpcd.conf

<<文末に追記・WiFiの場合>>
--------/etc/dhcpcd.conf------------------
interface wlan0
static ip_address=192.168.x.y
static routers=192.168.x.1
static domain_name_servers=8.8.8.8
----------------------------------------------

#日本語入力の有効化
$ sudo apt update
$ sudo apt install fcitx-mozc
※apt-get ではなく apt と使うように変更されたらしい。別に使えるからどちらでもいいと思うけど。

#sources.listの編集(別にやらなくても良い)
$ sudo nano /etc/apt/sources.list

1行目を#でコメントアウトして、下の1行を追加
deb http://ftp.riken.jp/pub/Linux/debian/debian buster main contrib non-free

$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt autoremove
$ sudo apt autoclean
$ sudo reboot


#sources.listに記述すべき最適なミラーサイトの決定
ミラーサイト一覧からpingを打って、応答速度の速いサイトトップ10を選んでくれるコマンドがある。
$ sudo apt install netselect-apt
$ sudo netselect-apt
以下は環境によって異なるが、私の環境では以下のミラーサイトが良いみたい。
>The fastest 10 servers seem to be:
>    http://ftp.riken.jp/Linux/debian/debian/
>    http://mirrors.edge.kernel.org/debian/
>    http://hanzubon.jp/debian/
>    http://ftp.yz.yamagata-u.ac.jp/debian/
>    http://debian-mirror.sakura.ne.jp/debian/
>    http://ftp.jaist.ac.jp/debian/
>    http://ftp.ntou.edu.tw/debian/


#公開鍵の更新
※sources.list に記述しているサーバの公開鍵の有効期限が切れていると、apt updateすると「公開鍵を利用できないため、以下の署名は検証できませんでした」というエラーが発生します。
私の環境では以下の3つが有効期限切れだった。
NO_PUBKEY 04EE7237B7D453EC
NO_PUBKEY 648ACFD622F3D138
NO_PUBKEY DCC9EFBF77E11517

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 648ACFD622F3D138
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DCC9EFBF77E11517

NO_PUBKEYの個数繰り返す。
$ sudo apt upgrade
$ sudo apt autoremove

#Sambaのインストール
$ sudo apt update
$ sudo apt install samba
インストール途中でSamba サーバおよびユーティリティというのが出る。
あなたのコンピュータがネットワーク上の DHCP サーバから IP アドレス情報を取得しているのであれば、DHCP サーバはネットワーク上にある WINS サーバ (NetBIOS ネームサーバ) についての情報を提供することもできます。DHCP で提供される WINS 設定は /var/lib/samba/dhcp.conf から自動的に読み込まれるため、smb.conf ファイルを変更する必要があります。この機能を使うためには、dhcp-client パッケージがインストールされている必要があります。 DHCP から WINS 設定を使うよう smb.conf を変更しすか。
 <はい>/<いいえ>
>はいを選択
$ sudo nano /etc/samba/smb.conf
文末に以下の5行を追加
----------------------------------------------
[pi]
path = /home/pi
read only = No
guest ok = Yes
force user = pi
----------------------------------------------
$ sudo service smbd restart
$ sudo systemctl enable smbd

インストールできない場合には、sources.listを元に戻してみると、上手くいくかも。

#Swapファイルの無効化
$ sudo swapoff -a
$ sudo apt-get purge -y --auto-remove dphys-swapfile
$ sudo rm -fr /var/swap
$ free -hで確認。Swapが0Bなら成功。 

OpenMediaVaultの初期設定

『Open Media Vault』(OMV4)の初期設定をしていきます。

環境:
バージョン:OpenMediaVault4.1.26-1(Arrakis)
ハード:RaspberryPi 3B+
rootでログインしているのでターミナルでの入力は常に管理者権限。#で表示。
#で記載されている場所は、ラズパイのHDMI表示画面か、SSHでの入力となる。

NAS(Network-Attached Storage)に挑戦
openmediavault4』という、DebianLinuxカーネルのフリーNASシステム。
・ソフトウェアRAID
・webブラウザから操作できる
・Raspberry Piなどのアーキテクチャをサポート

公式サイト(https://www.openmediavault.org/download.html)からダウンロードする。

ラズパイ用なので、『RaspBerry Pi images』を選択。

自分の持っているラズパイに合わせたimgファイルをダウンロードする。
今回はRaspberryPi 3B+なので、OMV_4_Rsapberry_Pi_2_3_3Plus.img.xz』を選んだ。

拡張子.xzは圧縮ファイルなので、7-Zipなどで展開する。
271MB→2,856MBと10倍の圧縮率にびっくり。

展開されたimgファイルは『Win32DiskImager』『Etcher』などのSDカードにライティングできるソフトで書きこむ。フォーマットするために『SD Card Formatter』などもあれば便利。
SDカードは8GBを用意してたけど、4GBあれば十分かも。

書き込んだSDカードをラズパイに入れて起動。

raspberrypi login:root
password:openmediavault(表示されないけど)
You are required to change your password
Changing password for root.
(current)UNIX password:openmediavault
Enter new UNIX password:新しいパスワード
Retype new UNIX password:新しいパスワード※確認用


ここまでこれば、あとはWEBブラウザからの設定となるが、どう頑張ってみても入れない。nginxが上手くサービス開始してないっぽい。

※ルーター側でIPv6を使用する設定にしておらず、IPv6のアドレスがないために起こっていた問題だったようなので、IPv4をListenするように設定。

コンソール画面で下の二つを実行
# service nginx status
# nano /etc/nginx/sites-enabled/openmediavault-webgui

/etc/nginx/sites-enabled/openmediavault-webguiの下の方にある、
}
listen 80;
#listen [::]:80 ipv6only=off;
上記のように#でコメントアウトすることで、無事WebGUIにアクセスすることが出来るようになった。(これが分かるまで丸1日かかった・・・)


最初っからヘッドレス起動させるためには、上記openmediavault-webguiファイルだけ最初に直してから、RaspberryPiにSDカードを入れて20分くらい放置。ブラウザでIPアドレスを入力、SSHを有効にすればOK。
IPアドレスはping<ホスト名>でWindows機からでも確認可能。

$ ping RASPBERRYPI



ここからはブラウザにて設定

OpenMediaVaultの設定
言語:日本語
ユーザー名:admin
パスワード:openmdeiavault

これで各種設定画面に入れるようになった。


1.システムのアップデート
 「システム」>「アップデート管理」
 ”チェック”を押して最新化する。すべて選択し”アップグレード”を押して更新可能なパッケージをアップグレードする。SSH画面の段階で「#apt upgrade」していれば不要。
 アップデート可能な パッケージがなければ次へ。

2.管理パスワードの変更
 「システム」>「一般設定」ー「Web管理者パスワード」タブ
 同じパスワードを入力し、管理者パスワードを変更する。
 ”保存”を押す。次回ログイン時から適用される。

システムに変更がかかる場合には「設定が変更されました。あなたはそれらを有効にするために変更を適用する必要があります。」と表示されるので、”適用 ”を押す。

3.時刻設定
 「システム」>「日付と時刻」
 タイムゾーン:Asia/Tokyo
 NTPサーバを使用する:ON
 時刻サーバ:ntp.jst.mfeed.ad.jp ※デフォルトのままでも良い

※NTP(Network Time Protocol)サーバとは、インターネットなどのTCP/IPネット  ワーク上で現在時刻の情報を配信するサーバ

4.ドライブをマウントする
 「ストレージ」ー「ディスク」
ここでも詰まる。

 まず、デバイスを接続した状態でインストールすると認識しない!一度OMV4側で再起動する必要がある。ラズパイ側での再起動ではなく。普段はSSHで再起動してたから気が付かなかった。

 次に、OMVはexfat(ファイルシステム)には対応していない。そもそも対応表にも載ってない。
Type Format Mount
ext4
ext3
jfs
xfs
btrfs
zfs × ×
ntfs ×
hfsplus ×
ufs ×
vfat ×

そのため、①WINDOWS標準のNTFSでフォーマットするか、②OMVでexfatを使用できるようにするか、の二択になる。

①WINDOWSパソコンに接続して右クリック>フォーマットを選択。ファイルシステムでNTFSを選ぶだけ。
②ラズパイでexfatを利用できるようにする。
# apt-get install exfat-fuse
# apt-get install exfat-utils
と入力する。ついでにWindows標準のファイルシステムであるNTFSを利用するためには、
# apt-get install ntfs-3g

「ストレージ」>「ファイルシステム」にてUSBHDDを選択し、”▶マウント”。
※表示されていな場合には、”+作成”を押してデバイスを選択、適当なラベル名をつけて、ファイルシステムを適当に選んで”はい”を選択。

5.SMB/CIFSの設定
「サービス」>「SMB/CIFS」ー「設定」
一般設定フレーム内の”有効”を有効にする。


「サービス」>「SMB/CIFS」ー「共有」
”追加”ボタンで表示された共有の追加ウィンドウを出し、デバイスでマウントしたディスクを選ぶ。



6.ユーザーの登録
「アクセス権の管理」>「ユーザー」
”追加”を押してユーザーの編集画面を出す。

この中の名前とパスワードはウィンドウズパソコンから接続するのに使用するので、覚えておく必要がある。
シェルとは:コンピュータのOS(オペレーティングシステム)を構成するソフトウェアの一つで、利用者からの操作の受け付けや、利用者への情報の提示などを担当するもの。linuxでのスタンダードなシェルは、bashらしい。

7.ウィンドウズPCからの接続
 エクスプローラーを開きネットワークを選ぶと、ホスト名のコンピュータが現れる。それを選ぶと、中にはSMBの設定で作成した共有フォルダがある。

8.MiniDLNAの設定
 DLNAサーバーとしても使いたいので、miniDLNAのプラグインを追加する。
 「システム」>「プラグイン」 検索
 「openmediavault-minidlna 3.3.11」にチェックを入れインストール。
 「サービス」に「DLNA」の項目が追加されるので、「設定」タブの一般設定で”有効”を有効にする。



 「共有」タブ>”+追加”から共有したいフォルダを選択。手順は5.SMBと一緒。
※注意!! ユニークなフォルダを選択しないといけない。SMBと同じフォルダは設定できないので、SMBで設定したフォルダの一階層下に新しいフォルダを作成し、そのフォルダを共有フォルダとして設定したら選択可能となった。

転送速度は1~1.2MB/s程度しか出ていない。


Rappbianなどでも一緒なので、環境上の問題なのか。

エラーなどへの対応は、別な記事を作成。

2019年10月6日日曜日

Raspberry Pi 3B+ 購入


すごく久しぶりの投稿

とりあえず、自分用の備忘録として記載。そのうちまとめなおすかも。

今回は、ラズベリーパイ3B+を購入した。

有線USBキーボードも併せて購入、これまで使用していたキーボードは15年もののPS/2接続だったので、ラズパイには使えない。

OSはWindowsしか使ったことがないので、LinuxベースでのCUI操作に初挑戦しながら、遊び倒したいと思う。

NAS(Network-Attached Storage)に挑戦
openmediavault4』という、DebianLinuxカーネルのフリーNASシステム。


ラズパイの準備
・RaspberryPi 3B+
・HDMIケーブル
・キーボード
 サンワサプライ 有線USBキーボード 標準日本語配列 メンブレン ブラック SKB-L1UBK
・LANケーブル
 ※WiFiでの接続は自分のスキルでは無理だった(CUIで設定ファイルをいじれば出来そうだけど、私には無理だった)ので、おとなしくLANケーブルに接続する。
・電源ケーブル(microUSB給電用)

※電源は5V/2.5Aが推奨されているが、マウスとキーボード程度のUSBバスパワー機器ならgooglehomeminiの1.9A電源でも起動した。Raspbianでは右上に雷マーク(低電圧警告)が出るけど。
 NorthPada Raspberry Pi 3 Model B B+ A+ 対応 ラズベリーパイ 電源アダプター PSE認証 5V 3A LEDインジケーター/電源スイッチ付き ケーブル長150CM

ヒートシンクは何処に貼るの?

3b+はチップセット上にヒートシンクがすでに貼られているので、表面に2枚。


裏面に1枚貼れば良い。



イメージを書き込んだSDカードをラズパイに挿していざ起動。