2019年5月15日水曜日

ラズパイ6

ラズパイを色々弄っていて広告ブロックをしようとしてみたが、あまり調子がよろしくないので一時中断。もともと実現したかったSoftEtherサーバ機能はどうやらうまく動いている(Windows環境でサーバ設定が出来るので楽です。)ようなので、DDNS設定(ieserver)をしてみようと思う。

https://qiita.com/yoh-nak/items/bce6893b9b7eb3eec70f

この説明の中に無いことがある。それは、もとのテキストファイルは文字コードがSJISなのです。なので、cron登録する際に文字コードを指定時にSJISとしなければなりません。私はテキストファイルの文字コードをUTF-8に変換したつもりになって、cron登録もUTF-8と記載していて、エラーが出てスクリプトが動かなくてハマった。

あと、動作したら兎に角メールでお知らせしようという仕様がcronなんで、「MAILTO=""」を追加して、メールしないようにしました。

更に、我が家のASUSルータはポートフォワーディングがLAN側なら可能だがWiFi側はダメっぽいので、急遽有線LANに切り替えた。有線LANなら安定して外部からスマホで接続も確認出来た。

cronなどの動きを観察するには以下を実行。
tail -f /var/log/syslog
http://itkatsuyounikki.blog.fc2.com/blog-entry-22.html

【まとめ】
1.ddns-update.txtをダウンロード
2.テキストエディタでログ保存場所とアカウント情報を編集&上書き
3.ddns-update.txtのあるフォルダで端末を開きコピー↓
  sudo cp ddns-update.txt /usr/local/bin/ddns/ddns-update.pl
4.ファイル・フォルダのパーミッションを変更
  sudo chmod 755 ddns-update.pl ←ファイルの実行を許可
  sudo chmod 777 ddns ←フォルダにフルアクセスを許可
5.crontab -eでcronに登録
  MAILTO=""
  8,38 * * * * export LANG=ja_JP.SJIS; /usr/local/bin/ddns/ddns-update.pl
7.tail -f /var/log/syslogでcronで動いているのを確認
  私の環境ではCMD実行と終了時刻が出てた↓
   May 1 10:18:01 raspberrypi CRON[4537]: (pi) CMD ([4541] /usr/local
   /bin/ddns/ddns-update.pl)
   May 1 10:18:03 raspberrypi CRON[4537]: (pi) END ([4541] /usr/local
   /bin/ddns/ddns-update.pl)

というような手順でした。SoftEtherにはl2tpも設定し、VNCもポートフォワード設定もしたので、VPN経由せずともスマホからラズパイの様子を見れるようになった。

【重大だけど余談】
tail -f /var/log/syslogを見たらDDNS以外でエラーが出ていた。何かのデータをロストしたとか延々と30秒おきに繰り返し出る状況が続いている。

May 5 16:18:33 raspberrypi kernel: [ 179.908087]
May 5 16:18:33 raspberrypi kernel: [ 179.908184] EXT4-fs (sda2): Delayed block allocation failed for inode 12599329 at logical offset 56 with max blocks 1 with error 117
May 5 16:18:33 raspberrypi kernel: [ 179.908197] EXT4-fs (sda2): This should not happen!! Data will be lost
May 5 16:18:33 raspberrypi kernel: [ 179.908197]
May 5 16:19:03 raspberrypi kernel: [ 210.147956] EXT4-fs (sda2): Delayed block allocation failed for inode 10230340 at logical offset 313 with max blocks 4 with error 117
May 5 16:19:03 raspberrypi kernel: [ 210.147980] EXT4-fs (sda2): This should not happen!! Data will be lost
May 5 16:19:03 raspberrypi kernel: [ 210.147980]

MicroSDで作ったRaspbian環境を余っていたHDDにコピーし動作テストをしてたワケですが、過去にバッドクラスタの出たハードディスクだったのが悪かったようです。動かし続けていたら、反応が鈍くなってきたので再起動しようとしたら「システム中のファイルを開きすぎです」というメッセージが出て「Shutdown,Reboot,Logout」の選択画面が出なくなってしまい、止む無く電源を引っこ抜いた。他Linuxでは英語で「Too many open files」という風に出るヤツのようです。
というわけで、結局、半壊HDDで稼働させるのは止め、MicroSD起動に戻しました。とりあえずスワップ増量もしましたが、私の用途では殆どスワップは使われないようなので、MicroSD寿命にも大した影響は無さそうです。


SoftEther環境が出来たし、どこからでもVNCで操作出来る利便性も手に入れた。モニタ・キーボード無しのラズパイは個人で使うにはとても便利。今後は、現在ルータにUSBHDDを接続してNAS機能を使っているが転送速度が3MB/sしか出ないので、ラズパイにUSBHDDをぶら下げ速度向上させようようと思っている。
こんなに小さくて省電力で楽しいPCは他に無いので、次世代ラズパイが出たら使う使わないは関係なく絶対買うと決意しましたよw。

2019年5月8日水曜日

ラズパイ5

ラズパイをNAS化しようと思うと容量単価の安いHDD増設に魅力を感じるが、セルフパワーUSBハブが必要になる気がする。それがイヤで私はMicroSDXC128GBをラズパイに刺している。ただね、私もブラウザ使用時に安定性が欲しい(実メモリ1GB+スワップ100MBじゃ辛い)のでスワップファイルは2GBにしたいとは思うが、なるべくならMicroSDでは積極的スワップファイル使用は避けたい。HDD繋いでる人を検索してみたら、ラズパイ設定変更でUSB給電は1.2Aまで上げられる。しかもその後の調べで、ラズパイ3B+だと設定変更も不要らしい。
http://akkagi.info/20160402_web/

と言うことは、バスパワー駆動USBHDDでOS起動でき、心おきなくスワップを2GBを試す事が可能。手持ち機器で可能なので俄然興味が沸いた。なんならHDDケースを土台にしてラズパイを固定してもいい気がしてきた。とりあえず試しに手持ちのHDD(250GB)とUSBメモリ(32GB)を使って、MicroSDXC128GBのシステムをコピーして起動してみようと思う。

システムのコピーだが、Raspbianに「SD Card Copier」というアプリが入っていて、SDからSDにコピー出来るらしい。といってもコピーされる側にはSDリーダーを用意しUSB接続しなければならない。となると、そもそもUSBなら何でも良いだろうと思い、やってみる事にした。

【USB起動のための下準備】
何はともあれ下準備。MicroSDで動いているシステムのアップデートをしておきましょう。これをして再起動しないとSD Card Copierで領域確保段階で躓いたりします。やっても躓くけどw。一応USBを自動マウントするusbmountというパッケージをインストールします。入ってるかもだが保険。ついでに、パーテーションサイズ変更等をGUIで弄れるGPartedも入れておきましょう。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install usbmount
$ sudo apt-get install gparted
$ sudo reboot

それでもうまくUSB自動マウントが動かないので調べたら、以下もあったので、これも施術した。
http://studior.synology.me/wordpress/2018/01/04/raspberry-pi%E3%81%A7usb%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%92%E8%87%AA%E5%8B%95%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88/

次のページの下拵え部分を実行し、USB起動するようシステム設定を変更します。
https://jyn.jp/raspberrypi-usb-only-boot/

【システムのコピー】
下準備が完了したら、SD Card CopierでSDカードからUSBにシステムをコピーします。チェックボックス「New Partition UUIDs」は、新しいUSBメモリ・HDDのUUIDがシステムに書き込まれるようにするため、チェック必須です。じゃないと自分でUUIDを編集しなければなりません。
何故かSD Card CopierはFAT32でフォーマットするのに失敗したりするので、何度かシステムリブートして試したり、WindowsでUSBメモリを予めFAT32にしてみる等を繰り返したら、なんとかシステムコピー出来ました。この不定愁訴、原因がさっぱり分かりませんでした。というワケで、USBにコピー出来たら、MicroSDを外し、USBのみで起動してみましょう。

【USB起動開始】
USBメモリ32GBでの起動は可能だったが、USBHDD250GBでは起動しませんでした。起動時ディスクシークが5秒とか書いてるので、それが間に合わなかったんだろうと思います。で、USBメモリ32GBで起動しましたが、再起動に失敗することもあります。USB端子を右側に差し替えてみたら、USBメモリで再起動も大丈夫になった。
また、USB移行後のシステムは、起動直後はGUIのメニューバー(パネルの設定)が崩れてました。これを下に移動したり上に移動したりしてたら、パネルが二重になっていたようです。二つ目のパネルを下に移動してから、パネルの削除で消しました。これで治った。

【スワップファイルを2GBにする】
とりあえずUSBメモリ32GB環境で、SWAPファイルを2GBに拡張してみました。

https://www.fabshop.jp/%E3%80%90step-38%E3%80%91swap%E9%A0%98%E5%9F%9F%E6%8B%A1%E5%A4%A7%E3%81%AE%E3%81%99%E3%81%99%E3%82%81/

【ケース交換したらHDDで起動】
ここまでやってからなんだけど、HDDケースを玄人志向GW2.5SC-SU2に交換してみたら、HDDから起動した。シーク時間はHDDケースによるという事のようです。起動時間はMicroSDやUSBメモリよりかかりますが、それでも動くようになったし再起動も出来るようだし、書き込み制限など気にしなくて良くなるのでスワップファイルも気にせず使えて良いかも。あと、USB起動していると緑LEDがHeartbeat状態で点滅しているが、これは仕様なのかな?とりあえずHDDで動かすことになったので、ラズパイ基盤裏にスポンジ貼ってハードディスクケースに輪ゴムで括り付けました。ファンは針金でステーを作りました。意外にも針金はアリでした。あとは屋根かな。

【Raspbianのバージョン】
大半のネット記事はRaspbianOSバージョン「Jessie」用が多い。私のは「Stretch」が入っているので微妙に違った。この辺は、推測しつつトライ&エラーで乗り越えるしかないかも。

2019年5月7日火曜日

LineageOS14.1(Android7.1.2)その2

LineageOS14.1を試用し安定性には満足しているのだが、どうもMacrodroidが私の思ったような動作をしてくれない。常にWiFiがONじゃないと場所判定がうまく動かない。
やはりLlamaは素晴らしかった。WiFiをOFFにしていてもLlamaが指定時間ごとにWiFiを検索してくれてました。

https://www.wizforest.com/llama/06.html

私が使いたいのは「実験中の機能」の中の、定期的にWiFiをONにして「WiFiネットワークを確認」してくれる機能を「時間間隔」3分程度での場所判定することなのです。物は試しにAndroid7.1.2環境に入れてみたら、Llamaが動いた、動いてしまった!設定もAndroid6.0.2環境からコピーしてきたファイルを読み込ませられたので楽ちんです。Llamaが良い感じなので、Macrodroidをアンインストールしてしまいました。

というワケで、ZenFone 2 Laser+LineageOS14.1(Android7.1.2)は純正OSに比べ待機電力は増えましたが、随分サクサクになりストレージの空きも増えましたし、プロセス暴走も起きません。もう少々設定を煮詰めて省電力化してから実運用に入ろうと思います。う~ん、Dozeモード...全解除してみるのも手なのかな?とか考えてます。というか使ってない「どがらじ」は何で電力消費しているんだろう。今すぐ使いたいワケでは無いので、一度アンインストールしてみよう。

【オマケ:Android版Firefox】
モバイルのFirefoxって動作モッサリ・アドオンは入れられるけど大したものが無いというイメージでした。ですが、先日Firefoxの不具合でアドオンが無効になった(アプデで解消)のですが、何だか妙にFirefoxがサクサク動くんです。アドオンの中でも広告ブロックが特に重かっただけのようで、アドオンを入れなければ最新Firefoxは軽いんだと気付きました。
よくよく考えれば、我が家のAndroid環境はAdGuardで広告ブロックするようにしたので、Firefoxから広告ブロックアドオンを削除し、Firefoxは軽快さを手に入れました。
Yoga Tablet 10でChromeを家族用ブラウザに使ってましたが、最近重くて嫌気がさしていたところだったので、家族用ブラウザはFirefoxに切り替える事にしました。Android4.4.2+メモリ1GBでもFirefox Quantumなら実用になります。そろそろ買い替えたいなぁと考えていた10inchタブレットだったが、延命してしまったかもw

2019年5月1日水曜日

LineageOS14.1(Android7.1.2)

ZenFone 2 Laser ZE500KL(弐号機)でAndroid 7.1を使いたくて、非公式Buildを試してみた。

https://sourceforge.net/projects/android-rom-ota/files/LineageOS/Z00ED/
https://opengapps.org/

LineageOS非公式ビルド(20180526と最新20180729)・Open Gappsも20190408と20190429とか、stockとpicoとかを複数試してみたところ、最新一つ前のヤツ(lineage-14.1-20180526-UNOFFICIAL-Z00ED.zip)+Open GAPP Pico(open_gapps-arm64-7.1-pico-20190429.zip)だと良い塩梅です。

どうやら組み合わせでGoogle Playストアでアプリが端末に対応していないとかいう表示が出る事があるので、何度か組み合わせをトライアルした方が良いだろう。私の端末と上記組み合わせでは、全アプリが対応している状態だし、余計なアプリも入らないし、不具合も感じなかった。とりあえず、Razikoで深夜ラジオ録音してみてバッテリーの持ちを確認してみたが、ASUS純正ROM(たまにプロセス暴走する)よりアイドリング状態でのバッテリー消費は少しだけ多そうだけど、プロセス暴走は皆無だし動作も軽いしストレージの空きもタップリだし、結構良いです。電話機として使ってないサブ端末としてですが、私はかなり満足度が高いので、こっちにシフトします。

【おまけ1】
・バッテリー残量の%表示
→「設定」-「ステータスバー」-「電池のパーセント表示」

・入力時にQWERTキーボードが出てこない
→「設定」-「言語と入力」-「仮想キーボード」-「Gboard」-「言語」で英語(米国)のQWERTキーボードを追加

・YouTube Vancedでログインできない時、Open Gapps Stableでインストールすると、多分システムブラウザがChrome Stableになっていると思うが、開発者向けオプションでWebViewの実装をGoogle WebViewerにすると私はログイン出来た。Open Gapps PicoでインストールするとAOSP WebViewerとなっているが、こっちも大丈夫だった。

・LlamaがAndroid8に対応しないためストアから消えた。そもそも、Android5まで対応?だったことも踏まえ、さすがにAndroid7ではMacrodroidに切り替えた。相変わらずBluetooth Auto Connectとの組み合わせで使う事にする。Llamaと同じくらい分かりやすいアプリだったし、自宅WiFiと外出時BTテザリング子機接続の切り替えくらいなら無料版でOKでした。

・Androidにはラジオ録音が可能なアプリが複数ある。らくらじ、みんなのラジというアプリが現役といえるかも。らくらじはリスラジでコミュニティFMを録ってみたり、タイムフリー放送をダウンロード出来たりする。録音ラジオサーバはAndroid8サポートしなかったので消えた?Raziko(β)もGoogle+終了とともに消えた?という状況。正式版になったら抹殺されるというのは辛いよね。何というか...ラジコを止めて、コミュニティFMのようにリスラジに乗っかれば全国どこでもラジオがスマホで聴けるようになって良いと思うんだけどなぁ。

【おまけ2】
Open GappsはStockだと余計なものが沢山入った。Gogole系サービスを一通り入れたいとかPixelランチャーが使いたいというなら、microとかFullで良いかもしれないので、その辺は公式サイトで何が含まれるか要確認です。兎に角軽いのが正義なら、Gmailすら入らないPicoだろう。なお、Open Gappsは数日ごとに新しいのが出て、そのバージョンによって動作・安定性が違いそうだ。なので、カスタムROMのメリットを最大限得ようとするなら、ここもトライアルが必要。

【おまけ3】
私のサブスマホ使用状況はSIM無し機内モードです。少々特殊かもしれませんが、最低限のアプリを入れ1時間ほど経ってからCPU使用率(CPU Statsで確認)を見てみたら、使用率は3%前後で推移してたので十分実用になると判断しました。組み合わせテスト等々に少々時間を要したが、私のようなタブレット風使用方法ではASUS純正ROMより良いと感じた。Android7.1.2が安定してサクサク動いているので、あと2年は戦えるw。