mimikakimemo

自分用メモ。

XREA 上の既存サイトに対して無料 SSL の設定をする

XREA で無料 SSL が使えるようになっていたので、独自ドメインで運用しているサイトに対して、今さらながらこれを有効にした。

無料SSLの新規設定 | サイト設定 | マニュアル | 無料から使える高機能・高品質レンタルサーバー | XREA(エクスリア)

これまでは、"Main" サイトに独自ドメインを割り当てて運用していた。この "Main" のサイト設定を開き、上のマニュアルを参考に設定しようとしたが、「無料 SSL」の項目がグレーアウトしていて選択できない。

f:id:mimikakimemo:20180714180459p:plain

そこで、以下のように設定すると、うまくいくことがわかった。

  1. "Main" のドメインを、独自ドメインからデフォルトの <アカウント名>.sXXX.xrea.com に変更
  2. [サイト設定の新規作成] ボタンをクリックし、以下の設定で作成
  3. ドキュメントルートが変更されるので、putblic_html の内容を public_html/<独自ドメイン> へと移動

この設定方法に関しては、 XREA 掲示板の以下の書き込みを参考にした。

XREAで既存サイトを無料SSL化する方法

ちなみにこの無料 SSL は、Let's Encrypt を利用しているらしい。

11ac 対応で GbE なルータ FFP-1200DHP を購入した

これまでは、2年半ぐらい前に買った Buffalo のルータ WZR-HP-G302H を使っていた。

が、最近 WAN 側の接続が一日一回ぐらい切れるようになり、調子が悪かった。無線も 2.4GHz 帯のみだったり、11ac に対応していなかったりと、今どきの使い方だと少し不満も出てきたので、ここで買い替えることにした。

買ったのは Planex の FFP-1200DHP という機種。Amazon のタイムセールで見つけて、あまり考えずに選んだ。4,980円。この FFP-1200DHP は、下の MZK-1200DHP の包装を簡易にした(だけの)ものらしく、500円ぐらい安くなっている。

写真だと本体の色がグレーやアイボリーあたりにも見えるが、実物を見てみると薄い水色といった感じ。少し変わった色だが、とくに不満はない。これまでの WZR-HP-G302H は黒の鏡面仕上げで、ホコリが気になっていた。大きさもこちらの方がコンパクトで良い。現在、以下の機器が LAN 内にある。

デフォルトの設定画面は、かなりシンプルでわかりやすいデザインになっている。もちろん、詳細設定もできる。今回設定した部分は以下のとおり。

  • SSID を hogehoge_nomap にする
  • LAN 側の IP アドレスを 192.168.111.1 から 192.168.11.1 に変更(前の環境に合わせる)
  • DHCP を無効にする(LIVA で動かしている dnsmasq を使う)
  • 「ポートフォワード」で 5555/TCP, 500/UDP, 4500/UDP を LIVA に転送する(SoftEther VPN 用)

まだ使い始めだが、とりあえず良い感じ。

NTP の設定

Chinachu で録画開始のタイミングがズレると思ったら、そういえば NTP の設定をしていなかった。というわけで設定。

$ sudo apt-get install ntp

/etc/ntp.conf の同期先サーバーの設定を変更。

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
server ntp1.jst.mfeed.ad.jp
server ntp2.jst.mfeed.ad.jp
server ntp3.jst.mfeed.ad.jp

ntpd を再起動。

$ sudo service ntp restart

低価格 SSD 「Crucial MX100」を買って LIVA のストレージにした

LIVA の内蔵ストレージ(eMMC)は32GBしかないため、地デジを録画するとたったの数時間分でいっぱいになってしまう。録画したファイルを貯めておけるような NAS は持っていないので、LIVA にストレージを外付けすることにした。

安くて大容量な HDD にしようかとも思ったが、今回は速くて静音な SSD にした。ちょうど先月 Crucial MX100 が発売され、コストパフォーマンスの良さが話題になっていたので、これの 256GB モデル CT256MX100SSD1 を選択。

Crucial MX100 2.5インチ内蔵型SSD 256GB SATAIII CT256MX100SSD1

Crucial MX100 2.5インチ内蔵型SSD 256GB SATAIII CT256MX100SSD1

そのころ(先月半ば)は品薄状態だったこともあり、結局 BUY MORE 秋葉原本店で並行輸入品を購入。並行輸入品の保証期間は10ヶ月だが、その分若干割安で税込10,980円だった。

一緒に、2.5インチ SSD/HDD 外付けケース「黒角MINI OWL-ESL25S/U3(B)」を購入。このケースはアルミ製でちゃちくなく、USB 3.0 に対応している。ヨドバシで1,990円。

このケースに SSD を入れ、LIVA の USB 3.0 ポートに繫いだ。が、LIVA の USB ポートの出力が足りないのか、それだけではうまく動かない。ケースに付属している電源補助ケーブル(2股になったUSB ケーブル)を使い、USB 3.0, USB 2.0 の両ポートに接続すると一応動くが、それでも転送速度がかなり遅くなる。面倒だったので詳しく調べなかったが、USB 2.0 の上限速度(480Mbps)程度になっていた。

これでは使い物にならないため、セルフパワーの USB 3.0 ハブを買ってきてここに外付けケースを接続することにした。セルフパワー USB 3.0 ハブはまだあまり選択肢がないようで、値段がちょっと高い。エレコムの U3H-T403SBK を2,590円で買った。

外付けケース(SSD)―― USB 3.0 ハブ ―― LIVA USB 3.0 ポート という形になり、これでようやく快適に動くようになった。速度も十分出ている。

結局いろいろ買ってしまったが、安定して動いているのでとりあえず満足。

Chinachu + recfsusb2n で "can't send urb: No such file or directory" になってコケる問題

前回記事で LIVA に Chinachu を入れてみたところ、LIVA の起動直後はうまく動いていたが、しばらくすると EGP 取得や録画ができなくなった。Chinachu scheduler のログ(chinachu/log/scheduler)を見てみると、EPG 取得の途中で「recfsusb2n: can't send urb: No such file or directory」というエラーが現れている。

8 Jun 19:35:20 - [4] {"type":"GR","channel":"22","n":4}
8 Jun 19:35:20 - [4] LOCK: FSUSB2 (n=0)
8 Jun 19:35:20 - [4] SPAWN: recfsusb2n -b 22 - - (pid=20909)
8 Jun 19:35:20 - [4] STREAM: /tmp/chinachu-tmp-hw67srds.m2ts
8 Jun 19:35:20 - STATUS: { completed: 6, waiting: 5, worked: 5, running: 1 }
8 Jun 19:35:20 - [4] #recfsusb2n: recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N device: "/dev/bus/usb/001/005"
8 Jun 19:35:20 - STATUS: { completed: 6, waiting: 4, worked: 5, running: 1 }
8 Jun 19:35:20 - [4] #recfsusb2n: pid = 20909
8 Jun 19:35:21 - [4] #recfsusb2n: B25Decoder initialized.
8 Jun 19:36:20 - [4] UNLOCK: FSUSB2 (n=0)
8 Jun 19:36:20 - [4] EXEC: epgdump (pid=20972)
8 Jun 19:36:21 - UNLINK: /tmp/chinachu-tmp-hw67srds.m2ts
8 Jun 19:36:21 - [4] CHANNEL: GR-22 ... GR_1048 (sid=1048) (programs=214) - TBS1
8 Jun 19:36:21 - [4] CHANNEL: GR-22 ... GR_1049 (sid=1049) (programs=0) - TBS2
8 Jun 19:36:21 - [4] -- (ok)
8 Jun 19:36:22 - [5] {"type":"GR","channel":"23","n":5}
8 Jun 19:36:22 - [5] LOCK: FSUSB2 (n=0)
8 Jun 19:36:22 - [5] SPAWN: recfsusb2n -b 23 - - (pid=20974)
8 Jun 19:36:22 - [5] STREAM: /tmp/chinachu-tmp-hw67u2uw.m2ts
8 Jun 19:36:22 - STATUS: { completed: 7, waiting: 4, worked: 6, running: 1 }
8 Jun 19:36:22 - [5] #recfsusb2n: recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N device: "/dev/bus/usb/001/005"
8 Jun 19:36:22 - STATUS: { completed: 7, waiting: 3, worked: 6, running: 1 }
8 Jun 19:36:22 - [5] #recfsusb2n: pid = 20974
8 Jun 19:36:22 - [5] #recfsusb2n: B25Decoder initialized.
8 Jun 19:36:29 - [5] #recfsusb2n: recfsusb2n: can't send urb: No such file or directory
8 Jun 19:36:34 - [5] UNLOCK: FSUSB2 (n=0)
8 Jun 19:36:34 - [5] EXEC: epgdump (pid=20996)
8 Jun 19:36:34 - UNLINK: /tmp/chinachu-tmp-hw67u2uw.m2ts
8 Jun 19:36:34 - [5] EPG: データが空 (result.tv.channel is undefined)
8 Jun 19:36:34 - [5] -- (retrying, residue=2)
8 Jun 19:36:37 - [5] {"type":"GR","channel":"23","n":5}
8 Jun 19:36:37 - [5] LOCK: FSUSB2 (n=0)
8 Jun 19:36:37 - [5] SPAWN: recfsusb2n -b 23 - - (pid=20998)
8 Jun 19:36:37 - [5] STREAM: /tmp/chinachu-tmp-hw67uefr.m2ts
8 Jun 19:36:37 - [5] #recfsusb2n: recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N
8 Jun 19:36:37 - [5] #recfsusb2n: device: "/dev
8 Jun 19:36:37 - [5] #recfsusb2n: /bus/usb/001/005"
8 Jun 19:36:37 - [5] #recfsusb2n: pid = 20998
8 Jun 19:36:37 - [5] #recfsusb2n: B25Decoder initialized.
8 Jun 19:36:44 - [5] #recfsusb2n: recfsusb2n: can't send urb: No such file or directory
8 Jun 19:36:49 - [5] UNLOCK: FSUSB2 (n=0)
8 Jun 19:36:49 - [5] EXEC: epgdump (pid=21014)
8 Jun 19:36:49 - UNLINK: /tmp/chinachu-tmp-hw67uefr.m2ts
8 Jun 19:36:49 - [5] EPG: データが空 (result.tv.channel is undefined)
8 Jun 19:36:49 - [5] -- (retrying, residue=1)
8 Jun 19:36:52 - [5] {"type":"GR","channel":"23","n":5}
8 Jun 19:36:52 - [5] LOCK: FSUSB2 (n=0)
8 Jun 19:36:52 - [5] SPAWN: recfsusb2n -b 23 - - (pid=21016)
8 Jun 19:36:52 - [5] STREAM: /tmp/chinachu-tmp-hw67uq28.m2ts
8 Jun 19:36:52 - [5] #recfsusb2n: recfsusb2n ver. 0.9.2 ISDB-T DTV Tuner FSUSB2N
8 Jun 19:36:52 - [5] #recfsusb2n: device: "/dev/bus/usb/001/005"
8 Jun 19:36:52 - [5] #recfsusb2n: pid = 21016
8 Jun 19:36:52 - [5] #recfsusb2n: B25Decoder initialized.
8 Jun 19:36:59 - [5] #recfsusb2n: recfsusb2n: can't send urb: No such file or directory
8 Jun 19:37:04 - [5] UNLOCK: FSUSB2 (n=0)
8 Jun 19:37:04 - [5] EXEC: epgdump (pid=21033)
8 Jun 19:37:04 - UNLINK: /tmp/chinachu-tmp-hw67uq28.m2ts
8 Jun 19:37:04 - [5] EPG: データが空 (result.tv.channel is undefined)
8 Jun 19:37:04 - [5] -- (give up)

これ以降は、EPG 取得をしても録画をしても(さらに手動で recfdusb2n を起動しても)、同じエラーが出て失敗してしまう。マシンを再起動すれば一旦は直るが、いずれにせよ scheduler を実行しているうちに同じエラーになり、動かなくなる。

Chinachu の問題なのか recfsusb2n の問題なのか、あるいは KTV-FSUSB2 の問題なのか LIVA の問題なのか、いろいろ調べても知識不足でさっぱりわからなかったが、最終的には、chinachu/app-scheduler.js の SIGKILL を SIGTERM に変更したら良さげな感じ。

diff --git a/app-scheduler.js b/app-scheduler.js
index 59d77be..38843cf 100644
--- a/app-scheduler.js
+++ b/app-scheduler.js
@@ -935,7 +935,7 @@ function getEpg() {
 
                                // プロセスタイムアウト
                                execRecCmd(function() {
-                                       recProc.kill('SIGKILL');
+                                       recProc.kill('SIGTERM');
                                }, 1000 * (config.schedulerEpgRecordTime || 60), '[' + i + '] KILLWAIT');
 
                                // キャンセル時
@@ -943,7 +943,7 @@ function getEpg() {
                                var onCancel = function () {
 
                                        isCancelled = true;
-                                       recProc.kill('SIGKILL');
+                                       recProc.kill('SIGTERM');
                                };
 
                                removeListeners = function () {

とりあえず、しばらくこれで様子を見てみたい。

KEIAN USB地デジ&ワンセグチューナー KTV-FSUSB2/V3

KEIAN USB地デジ&ワンセグチューナー KTV-FSUSB2/V3