3月 112017
 

僕が持っている ThinkPad e145 は FreeBSD がインストールされていて、 suspend/resume するんだけど、resume 時、それはつまり目覚めたとき、パカっとフタを明けたときに default gateway が消えていたりして、ネットワーク的にはちょっと問題があったんですね。
まぁ、目覚めたあとにいつも route add していたんですけども。

そんなこんなで、resume 後に route add が必要なわけ、挙動をいよいよ調査してみることにしたんですね。

僕の FreeBSD の環境は以下です。

・FreeBSD/amd64 10.1-RELEASE
・ネットワーク環境は USB 接続の run0 -> wlan0

OS はまたもっと面白いことになってます。カーネル は 10.1-RELEASE でユーザランドが 10.3-RELEASE です。やってはいけない環境で動かしている。と、いうことですね。どうしてこんな環境で動かしているかについてはあとで少しお話します。

今の話題は resume 後に routing テーブルが消えている点についてですね。話を元に戻しましょう。

 
suspend して、その後 resume したときに起き上がってきた FreeBSD の動作ですが、だいたい以下のようになっているようです。

0. 実は suspend 時に USB デバイスが全部抜去される
1. resume 後に USB を認識してデバイスが接続される
2. resume 後に /etc/rc.resume が動く
3. devd が色々良きに計らってくれる (僕の環境では webcamd の再起動と pccard_ether のすーたと)
4. 自分で記述したスクリプトの動作
5. /etc/rc.resume の終了

まぁ、こんな感じですが、問題は 5. ですかね。

suspend で USB 機器が外されたということはつまりは wlan0 が無くなった。と、いうことなので、これで routing テーブルは全て消えます。
その後 resume して USB 機器が接続され wlan0 が認識され、wpa_supplicant が動き出してネットワークインターフェースには IP アドレスが付加されるようになります。

じゃぁ /etc/rc.resume の中で route add すりゃいんじゃね?

とか思うんですが /etc/rc.resume 内で route add してもそのときはまだ wlan0 に IP アドレスが付く前なので意味無いんですよね。

じゃぁ /etc/rc.resume の中で route add する前に sleep 30 とかすりゃいんじゃね?

とか、次に思いますよね。ところがっ!! /et/rc.resume はちょっとおかしな動作をしていて、 /etc/rc.resume が動作し終わったあとに wlan0 に IP アドレスが付加されるようです。

なので /etc/rc.resume の中で

sleep 30
route add default 192.168.1.1
route add -inet6 default fe80::1

 

などと書いても全く意味ない状態です。では、どうするか?と、いうと、上記の部分をスクリプト、例えば /usr/local/bin/routeadd.sh などとして準備します。
/etc/rc.resume には以下のように書きます。

/usr/bin/logger -t $subsystem route add default.
/usr/local/bin/routeadd.sh &

 

ここで注意しなければならないのは、スクリプトを記載したあと、最後に “&” を付けてバックグラウンドで処理させる必要があります。
動作的には /etc/rc.resume の実行後に wlan0 に IP アドレスが付くので /etc/rc.resume が実行中に sleep 30 してもまるで意味なくて route add されない状態です。なので “&” を書いてバックグラウンドに飛ばして、バックグラウンドのスクリプトが sleep 30 している間に /etc/rc.resume が終了して wlan0 に IP アドレスが付いたあと、 sleep 30 が終わり route add されるようにしないとダメなのであります。

この現象は USB NIC を利用しているからかもしれません。
動作的に resume 後に routing デーブルが消えていて、毎回、自分で route add 打つのが困難な人は上記のようにすれば良いのではないかと思います。

 
で、もう一個のネタを簡単に。

上のほうにも書きましたが、僕の ThinkPad e145 上で動作している FreeBSD はカーネル は 10.1-RELEASE でユーザランドが 10.3-RELEASE です。これ、FreeBSD の動作保証対象外の構成らしいですね。カーネルは新しく、ユーザランドが古い場合には問題ないらしいですが・・。

どうしてこんな環境で動かしているかというと ThinkPad を使っている人は 10.2-RELEASE 以降、suspend して resume したら LCD の明るさが最大になってしまい変更できなくなってしまったんですね。
10.1-RELEASE までだと Fn7,8 などで明るさが変更できた。 acpi_ibm や acpi_video がなくとも変更ができた。しかし、10.2-RELEASE 以降では Fn7,8 ボタンが効かなくなって、acpi_ibm の dev.acpi_ibm.0.lcd_brightness も有効にならなくて acpi_viode の hw.acpi.video.lcd0.brightness も使えなくなった。
resume 後に明るさを変えることができなくなったので、僕はいつまでもカーネルは 10.1-RELEASE を使い続けている。と、いうことです。

あと、別の手段としては ports から sysutils/acpi_call/ をインストールして ACPI のパラメータを表示したり変更したりできるようですが \_SB_.PCI0.VGA.LCD._BCM なパラメータなどをいじったりするなど、ちょっと試してみましたがダメでした。

acpi_call のコマンドイメージをちょっと書いておきます。使うには kldload acpi_call.ko する必要があります。

# acpi_call -vp '\_SB_.PCI0.VGA.LCD._BCM' -o i -i 50
Path: \_SB_.PCI0.VGA.LCD._BCM
Number of arguments: 1
Argument 1 type: Integer
Argument 1 value: 50
Status: 0
Result: 1

 
acpidump -d の結果を確認すると _BCM ってのが “Brightness Control Method” らしいです。他にも _BCL ってのがあって、こいつは “Brightness Control Levels” らしいです。
acpi_call で _BCM の値を 50 に変更してあげる。ってのが上記のコマンドと、その結果です。
しかし、値は反映されない・・。 orz

 
ThinkPad でも Nvidia のグラフィックスカードを利用しているヤツは Nvidia のツールで画面の明るさを変えられたり Intel の場合は graphics/intel-backlight/ などで画面の明るさを変えられるらしいです。
僕の ThinkPad e145 は Radeon のチップなので・・。orz

多分 10.2-RELEASE 以降で ACPI 周りに変更が入ったのでしょうなぁ。

ThinkPad e145 は BIOS モードと UEFI モードの両方で 11.0-RELEASE で試しましたが画面の明るさは変えることができませんでした・・。

と、いうことでももうしばらく、ってか、壊れるまで? 10.1-RELEASE の利用は続きそうです・・。

2月 282017
 

多分、全然、誰も知らないと思うのですが、 FreeBSD の ports に net-mgmt/sysmon/ というのがあります。デーモンモードでサーバなどを監視するプログラムです。開発自体はもうずいぶんと前に止まっている。裏を返せば枯れた監視プログラムなのであろうと思われますが。

以下の URL が参考になるでしょうか。

https://puck.nether.net/sysmon/

プロトコル的には SMTP, IMAP, HTTP, TCP, UDP, NNTP の監視に対応しています。また PING に対応しているのと、個別にポート番号を指定しての監視も行えます。

 
今回、このプログラムを改修するバッチを書いたのでここに掲載しておきます。改修内容は以下です。

o.pingv6 で IPv6 アドレスを記載できるようにした
o.監視ホストの最大数が 1,024 個だったので 4,096 個に拡張した

以上二つの patch が含まれた net-mgmt/sysmon/ の ports の tar 玉を以下の URL に置きました。

http://icmpv6.org/Prog/FreeBSD_ports/ports-sysmon-20170227.tgz

新しく files/ というディレクトリを作成し、そこに二つのパッチを入れてあります。

IPv6 のパッチについてちょっと説明すると監視用の設定ファイルに “type pingv6;” と記載して、監視できるのに “ip” のところに IPv6 アドレスを記載できないんですね。なので IPv6 アドレスを記載できるようにしました。

まぁ /etc/hosts に書けばいーじゃーん。って話もあるんですが、一応 IPv6 記載 OK なパッチを書いた。と、いうことです。

 
監視対象ホストを 1,024 -> 4,096 に拡張してどうすんだ? という話もあるんですが、大規模ネットワーク用の監視になるでしょうかねぇf(^^;;。

実は sysmond を一台のサーバで複数プロセス起動する改修を当初考えたのですが、複数のプロセス(スレッド)を立ち上げると、メモリ上に持っている(1,024個の)監視対象ホストの情報テーブルを各プロセスがシェアしてしまい、上書きしつつ値がぐちゃぐちゃになってしまったので、派手な改修は断念してただ単に対象数を増やした。と、いうことですf(^^;;。

もし、必要な人いましたら使ってみてください。多分、誰もいないであろうと思われますがf(^^;;。

2月 222017
 

ある意味悲しいのかもしれないですが、僕は今も昔も IPv6 を利用するときに IPv6 Over IPv4 トンネルを利用する機会が多いです。
そもそも FreeBSD をずっと利用しているので dtcp を利用すると簡単に接続できます。 FreeBSD の ports 的に言うと net/dtcp になりますが、サーバ側とクライアント側の両方がインストールされます。通常、サーバ側に net/dtcp をインストールして dtcpd を利用し、クライアント側には net/dtcpclient をインストールしたりしますが、まぁ、とりあえずは net/dtcp をクライアント側にもインストールすることで、グローバルアドレスがあれば簡単に IPv6 Over IPv4 なトンネルが掘れるのであります。

が、そろそろ FreeBSD でのルータ機能は引退させたいものだ。などと思っていて、 NTT-X で超格安の Cisco841J を買いそびれた今、 VyOS で実装するしかなんかべ。と、なり IPv6 Over IPv4 トンネル で利用する dtcp を引退することにしたのでありました。

今回は VyOS と FreeBSD との間で IPv6 Over IPv4 トンネルを掘る設定を書いてみたいと思います。何を今更。感が満載ではありますがf(^^;;。

 
まずは構成図を。

真ん中の黄色いのが IPv6 ゲートウェイなルータでで FreeBSD/amd64 10.3-RELEASE から VyOS-1.1.7 にネットワーク機能を変更しました。
周りのピンクのセグメントは dtcpclient が動いていたのですが、これを VyOS に接続するために設定変更しなおします。

 
1. ゲートウェイスイッチ側の設定
FreeBSD から VyOS にリプレイスしたので設定は VyOS の設定になります。だいたいこんな感じ。

    tunnel tun10 {
        address 2001:470:fe36:1111::1/64
        description "# IPv6 Tunnel No1 #"
        encapsulation sit
        local-ip 192.168.1.210
        multicast disable
        policy {
            route mss
        }
        remote-ip 172.16.1.211
    }

 
VyOS は基本的に Linux なので sit なんてのが見えますが、こんな感じの設定ですね。

・local-ip で自分の IPv4 アドレスを設定
・remote-ip には接続先 IPv4 アドレスを設定
・policy route mss は IPv6 Path MTU Discovery にはまらないためのおまじない

以下の設定で MSS の値を調整しています。

policy {
    route mss {
        rule 5 {
            protocol tcp
            set {
                tcp-mss 1386
            }
            tcp {
                flags SYN
            }
        }
        rule 10 {
            protocol tcp
            set {
                tcp-mss 1386
            }
            tcp {
                flags SYN,RST
            }
        }
    }
}

 
簡単ですねぇ;-)。
ただ、 IPv6 Path MTU Discovery にハマると http とか接続できない問題が発生するのでその対応が必要になります。 tcp-mss 1386 の数値の部分は自分の環境によって変わるので過去に書いた記事を参考にしてみてください。

 
1. dtcpclient 側の設定
ルータ側の設定が終わったので、次にクライアント側の FreeBSD の設定になります。

とりあえず、以下のコマンドを打てばトンネルは掘ってくれます。

ifconfig gif0 create
ifconfig gif0 tunnel 172.16.1.211 192.168.1.210
ifconfig gif0 inet6 2001:470:fe36:2222::1 2001:470:fe36:1111::1 prefixlen 128
route -n add -inet6 default 2001:470:fe36:1111::1
ifconfig gif0 up

 
起動時に IPv6 トンネルを自動的に掘りたい場合はどうしますかねぇ・・。 /etc/rc.conf に色々設定するのが大変なので、僕の場合は /etc/rc.local というファイルを作って、そこに記述して起動時にどうにかしてもらっていますf(^^;;。

3. 確認方法
両方で設定が完了するとあとは確認になります。FreeBSD 側から以下のコマンドが有効ですね。

$ ping6 ff02::1%gif0
PING6(56=40+8+8 bytes) fe80::a1f:29ff:fefe:9696%gif0 --> ff02::1%gif0
16 bytes from fe80::a1f:29ff:fefe:9696%gif0, icmp_seq=0 hlim=64 time=0.089 ms
16 bytes from fe80::ccaa:f1d2%gif0, icmp_seq=0 hlim=64 time=8.663 ms(DUP!)
16 bytes from fe80::a1f:29ff:fefe:9696%gif0, icmp_seq=1 hlim=64 time=0.047 ms
16 bytes from fe80::ccaa:f1d2%gif0, icmp_seq=1 hlim=64 time=7.081 ms(DUP!)
^C

 
二つのリンクローカルアドレスから ping6 の応答があれば無事に接続しました。これで IPv6 Over IPv4 トンネルが掘れました。
グローバル IPv6 に ping6 を打って返ってこない場合はルーティングに問題があるので、ゲートウェイ側の設定を見直すなどしましょう。

 
と、いうことでゲートウェイ側を FreeBSD から VyOS に移行し、更に dtcp の利用をやめて接続しても、いとも簡単にトンネルが掘れました。良かったですぅ;-)。

2月 022017
 

IT 系のニュースサイトを会社でお昼休みに見ていたら Amazonセール速報:本日限りの特価! と、いうのを発見。かねてより会社で使うためのマウスを探していたので、すかさず購入しました。

購入後、次の日には届いたので早速使ってみることに。が・・。あたたたたた。使えることは使えるんだけど、ホイールが軽すぎて真ん中ボタンを押したら上下にホイールしてしまう状態である意味全然全く使えない。

例えばブラウザでとあるサイトのアンカータグを真ん中ボタンでクリックすると新規タブで開いてくれるんだけど、真ん中ボタンを押した表示されているコンテンツが上下にズズズと動いてしまう状態。全然使えないじゃん・・。

と、いうことで届いたその日のうちに分解。何とかカスタマイズできないかなぁ?などと思うわけです。分解の手順は至って簡単。

1. 電池を抜きます。
2. すると電池の溝の影のところにネジが一本あるのでそれを抜きます。
3. 裏ブタを下にずらしつつ上のほうのロックが外れる。
4. 上ブタのボタンのコネクタを爪などで抜きます。

以上で分解完了。

ホイールの部分を眺めてみるとどこかでテンションというか抵抗を付けてあげるとホイールの回転が渋くなるのになぁ。と思います。それに相当するのが、あったー。

写真でいう針金のようなものがホイールを回り込んているようです。

これを曲げてホイールに対して抵抗を作ってあげるとクルクル回る現象はある程度回避できそうです。
針金は本体プラスチックの爪で固定さているので横 (右ボタン側) にずらして外します。このときスプリングがびよーーんっ!! とどこかに飛んでいってしまうので注意が必要です。

抜き出した針金はこんな感じ。

これを、ちょうど良い硬さのホイールになるように曲げてあげます。僕はラジオペンチで曲げつつ調整しました。ビタっとしたちょうど良いホイールの硬さにするために三回くらいトライしました。もし、このエントリを読んだ人が同じことをする場合は、自分の感覚を信じて色々曲げてみてください;-)。

と、いうことでホイールは無事にちょうど良い硬さになり、ホイールの真ん中ボタンを押してもコンテンツが上下にブレる。と、いうことから開放されたのでありました;-)。

 
と、いうことで、これだけで終わってしまったらただ単にフツーの、そこいら中にある分解・改造の記事になってしまうので一歩踏み込みます;-P。

まず、僕の PC の環境についてですが、キーボードとマウスは二台の PC で共有しています。 USB 切替器で FreeBSD と Widnows10 を行ったり来たりしている状態です。

で、この Logicool の M5454 というマウスはホイールが前後に回転する他に左右に倒すことによってイベントが発生するようです。しかも右側には更にボタンが二つあります。

パッっと思いつくのは『このボタン達は FreeBSD で使えないのかな?』と、いう点。 Windows10 の場合は専用ドライバをインストールすると、ホイールの左右方向と左側の二個のボタンには色々な動作を割り当てられます。

これを FreeBSD+Xorg で似たようなことできるのかな?とか思い、ちょっと調べてみました。

まずは Xorg のマウスの設定。

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
        Option      "ButtonMapping" "1 9 3 2 2"
EndSection

 
最後に ButtonMapping と、いうオプションを付けてみました。

オプションの数値はボタンの番号を表しています。ボタンの番号は xeve で取得できます。数値が “1 9 3 2 2” となっていますが、これは “左 左横前 右 ホイール ホイール” の各ボタンを指しています。
動作的には “左ボタン 真ん中ボタン 右ボタン ホイールの前 ホイールの後” ということになります。 FreeBSD のマウスによるペースト動作を左横前ボタンで代用する。と、いう設定ですね。

さてと。X を再起動して /var/log/Xorg.0.log を眺めてみましたが X からは ButtonMapping の設定がまるで無視されていました・・。orz

 
次に FreeBSD の ports で何かないんかい?と思い調べたのですが x11-drivers/xf86-input-evdev という、 X のドライバでマウスの様々なボタンに対応できるらしい。とのことで調査開始。

Linux では動作するらしいですね。 /dev/input/* なデバイスを利用するとマウスで色々なボタンが利用できるようになったり、Logicool M565 などは専用カーネルモジュールがあるようで。

FreeBSD ではまだ evdev.ko なるカーネルモジュールがないので実質的に xf86-input-evdev は利用できないようです。 CURRENT で現在検証中らしいのですが、それ以上は追うのはやめました。

 
と、いうことで FreeBSD においてはフツーの無線の USB マウスとして利用しようとおもった矢先、ブラウザでとあるサイト見ているときにホイールを左右に振ってみると。あれれ?

ホイールを左に振ると戻るボタン
ホイールを右に振ると進むポタン

と、して動作するようですねぇ。あれれ? X で制御しているのかな? KDE 側で対応しているのかな?あれあれ? ソースコード追ってません。すみません。ただの動作確認のみですf(^^;;。
一応 firefox rekonq では上記のように動作しました。 konqueror では動作しませんでした。

xmodmap で進む・戻るボタンが設定できるようですね。詳細は書きませんが。 evdev が動かなくても xinput などでも色々設定が可能らしいです。ここでは詳細は書きませんが。

まぁ、珍しい機能が動くモノだ。と、いうことで Windows10 側でもドライバユーティリティで設定を FreeBSD に合わせた。と、いうことで、二つの OS で動作が一緒になったのでありました;-)。

 
今回はマウスを一個購入して、エントリを書いていますが、タネは二つ。

・ホイールクルクルがイヤな人は分解して針金曲げてみましょう
・FreeBSD ではホイール左右で戻る・進むが動作する

と、いうことですね。中々楽しめた一品だったのでありました;-)。

あ。お約束ですが、『分解』することになるので、自己責任でお願いしますね。

1月 292017
 

MacBook 2009 に OS X El Capitan をインストールして利用しているのですが、最近になって 10.11.6 のアップデートが出ているのを知ったのでロクにバックアップも取らずにバージョンアップしました。
ただ Time Machine は動かしていたので、最悪そこからバックアップできるので良いかぁ。と、いう漠然としたモノはありました。

Mac App Store からアップデートを実行。その後リブートしたことろで、なんとっ!! OS イメージが見つからない。などとなり、リカバリーモードで起動しました。orz

この時点でガクゼンとしているのですが、リカバリーモードのメニューに「Time Machine から復旧」というのがあったので 10.11.6 アップデートを適用する前の状態にしてなんとかモトの環境に戻ったのでありました。ふぅ。

ここまでが第一段階。

 
このあと、El Capitan を使い続けるも Mac App Store が「10.11.6 にアップデートしろー。」などとしつこく言ってくるので『しょーがねぇなぁ。もう一回トライしてみるかぁ。』と、いうことで再実行。

 
ここからが第二段階の始まり;-)。

二回目の 10.11.6 アップデートは無事にインストールできたようで『あれ?一回目の失敗はなんだったんだぁ?』などと思いつつ、再起動後に現れたログイン画面からログインし、フツーにアプリを起動するのですが SSL 通信を必要とするアカウントにおいては全てパスワード認証エラーが発生するようになりました。あれ?

ウェブで調べてみると OS X のバージョンアップのタイミングで SSL 証明書ファイルがぶっ壊れる可能性がある。というのを発見。

iCal の https:// な CalDav サーバに接続してカレンダーの管理を行うアカウントでは認証の問題で接続できなかったり、 メールアプリ の全てのアカウントがログインできなかったりと、確かにそんな感じの気配はする。
しょーがないのでキーチェンから SSL 証明書を何個か削除して再起動を数回繰り返したら今度はログイン後の全てのアプリの動作が緩慢になってしまった。

 
いよいよ第三段階に突入です;-)。

ログイン後、アプリを起動すると 2,3 分後に起動したり、メニューのウィンドを出そうとすると同じくらい待たされたり、アプリ終了時にも待たされる事態が発生し、全く使えない状態。

試しにリモートから ssh で El Capitan にログインするとサクサク動作し、ロードアベレージを確認するも特に問題は無いみたい。

どーしたモンかいのぉ・・。

などと悩みつつひらめいた。b(^^)。 片っ端から怪しそうなプロセスを kill してしまえ。と。
リモートから ssh した端末はサクサク動作するので sudo して kill -9 PID で原因を特定していきます。

まずは OneDrive ・ DropBox ・ google 系のアプリなど。次に iTunes や iCal ・ Safari などの Apple 系のアプリ本体とヘルパーアプリなど。それでも特に問題解決にはならなかったので、おやまぁ。などと思い ps -axwww などと打つと ATOK for Mac のプロセスが動作していることを発見。こいつを kill したけど、すぐに起動するので結局 /Library/Input\ Methods/ATOK29.app/ ディレクトリを強引に移動しました。

 $ sudo mv /Library/Input¥ Methods/ATOK29.app /Library/Input\ Methods/ATOK29.app_

 
そーなのです。僕は ATOK Passport で ATOK for Mac 2016 を利用している JustSystem の正規ユーザなのであります;-)。

上記のコマンド実行後に MacBook を再起動すると、おぉっ!! 緩慢な動作がキビキビ動くようになった!! これにて一見落着かぁ?などと思うわけであります。そう。サクサク動く状況では ATOK for Mac のプロセスは起動していない状態なのであります。

想定できる原因としては SSL が利用できない(SSL 証明書がぶっ壊れた)状態で ATOK for Mac を利用していると、 ATOK は何かしらの通信を SSL で行うが、その通信ができなくて問題が発生し、ウィンド上の全てのアプリケーションの動作が緩慢になってしまったのでしょうなぁ。恐るべしインプットメソッド。って感じがしないでもないですが。

 
このあと、インターネット上の情報を探しまくると El Capitan 10.11.6 統合アップデート というのがダウンロードできて、それを利用してもアップデートできる。ということを知ったのですが、ダウンロードを三回試して、三回ともチェックサムエラーが発生したのであきらめました。

 
と、いうことで第三段階の問題は ATOK が引き起こしていたとしても、結局のところ SSL 証明書の破損については何の問題解決にも至っていないワケでして・・。

しかし、今度は画面上のアプリはサクサク動くので iCal のカレンダーやアドレス帳のバックアップは取ることが可能な状態です。ふぅ。

あ。僕は iCloud はあまり使っていません。カレンダーやアドレス帳は iPhone とは同期するけど iCloud には上げていない。メールは imap-ssl を利用しているので実データは持っていない。

iTunes の楽曲と 写真アプリ で読み込んだ写真・動画は外付け HDD に保存しているので MacBook 本体には保存していない。
バックアップは必要最小限で済みます。

 
で、第四段階に突入かぁ?

なんか、SSL 証明書が壊れているとしても、他にも色々ガタが来ているだろうと思われるので『この際』でもあるし、遅ればせながら macOS Sierra に移行することにしました。

Mac App Store でダウンロードは完了していたのでそのまま実行。目指すのはクリーンインストールです。
クリーンインストールを行うためには、まず一回目に上書きアップデートする必要があります。多分、リカバリー領域に Sierra のインストールイメージを書き込む必要があるのでしょうなぁ。

上書きインストールで El Capitan で破損した SSL 証明書は無事に復旧したようです。が、目指すのは Sierra のクリーンインストールです。再起動して Command+R で起動し、 HDD の内容を一旦全部消しクリーンインストールで事なきを得たのでありました。

ふぅ。何とか復活しましたが、このタイミングで macOS Sierra にするとは思わなかった。 Apple の策略にまんまと引っかかったのかな?

 
最後にですが、クリーンインストール後の SIerra での復旧について少々書いておきます。

まず自分で、手動でバックアップして、復活させたのは $HOME の Desktop/ Downloads/ Mail/ Music/ Documents/ Movies/ Pictures/ のみです。あと /usr/local/epkg/ も復旧しています;-)。
そして保存した iCal のローカルカレンダーとアドレス帳データを戻しました。

メールのアカウントは一から設定し直しかぁ。ウンザリだなぁ。などと思っていたら、 iPhone と同期しているアカウントについてはクリーンインストールなのに自動的に復活していました。あと iCal の CalDav アカウントも復活していました。

更に驚くのが safari を起動したときなのですが、なんとっ!! ブラウザに記憶させていたサイトにアクセスするためのログイン ID やパスワードがちゃんと記憶されている。これは多分キーチェーンを iCloud で保存しているからなんでしょうなぁ。かなりラクチン。と、いうか助かりました;-)。

iCloud には相対的には保存していないのに、また iPhone のバックアップはローカルに保存しているのに復活しました。楽だったので助かった。と、言えばとの通りなのですが、元データはどこから取ってきたんだろう? ちょっと心配だ・・。

 
と、いうことで、今回のエントリーはほぼテキストのみな状態になってしまいましたが、 El Capitan 10.11.6 アップデートに失敗して、その後 macOS Sierra にバージョンアップした顛末をまとめてみました。

注意点としては

・正式アップデートで SSL 証明書ファイルがぶっ壊れる場合があるのかもしれない
・ATOK for Mac が原因でウィンド上のほぼ全てのアプリの動作が緩慢になる

の二点でしょうかねぇ。

12月 092016
 

実際にイベント、それは「2016 Windows ファン感謝祭」ってヤツですけども。案内のメールが届いたのは12/06でした。僕は Windows Phone と Wiondows10 の Insider Program に参加していて、いつも Windows は最新版が利用できる状態になっていたんですけども。

今回はその Insider Program のアカウントにメールが届きました。「2016 Windows ファン感謝祭が 12/09 に新宿であるけど、どうですか?」と。

指定されたウェブページからすかさず申し込んだら。あれま。無事にエントリされました。当日は会場に行けば良いのねぇ。と、いう感じでした。
確か、前回も似たようなのを申し込んだら、既に時遅し。だったのですが、今回は参加できるようです。登録完了のメールが届きました。
そのメールをスマートフォンに落として新宿にゴー!!。

受付で届いたメールの QR コードでチェック OK。カードを二枚と腕にテープを巻いてもらって、イザ会場内へ;-)。

会場へ入るとまずはウェルカムドリンクをお店の人が出してくれます。そしてクロークのようなところに荷物とコートを預けて、あとは Microsoft と、いうか、Windows10 一色です;-)。

僕はまず、ハイレゾコーナーに行き、Windows10 のハイレゾ対応について色々聞きました。 USB DAC がドライバをインストールしなくとも「USB Audio Class 2.0」に対応したので安心して Ready 状態ですよ。と、いうことで、SONY の mora.jp とタイアップしてました。
あと、ライターの 藤本さん が言ってましたが、複数のデバイスから音を出したときに音質が落ちるとか、どーたらこーたら。ってのも直っているようです。

と、いうことで 19:00 からはニコニコで中継されるらしいですが、その前に写真を一枚。

オープニング前のステージの写真です。

今回の会場は飲み放題・食べ放題だったのですが、食べ物はペンネとポテトフライしか食べられませんでした。一発目が Windows10 でのハイレゾネタだったのでその話を聞いていたら、ケータリングのコーナーは行列で・・。
ただし、飲み物は頂きましたけどね;-)。

インプレスのサイトで記事を書いている方々がゲストで話をしてくれるのですが、ハイレゾ方面の話は良く聞きました。

ちなみに、多分ニコニコには僕がお客さんとして多分写っていたんではないかなぁ。などと思いますが;-)。

ケータリングのコーナーにあった、僕は食べて無いんだけど、Windows なケーキ。クリスマスだしねぇ;-)。

今回は 200 名の人が参加したらしいです。その中の一人に僕もエントリできて非常に嬉しかったですね。
ケータリングはハンバーガーとか、美味しいそうなのがあったんだけど、ありつけなかった。引換券のようなモノで管理されていると良かった(嬉しかった)んだけど、そんなテマはかけられないかぁ。

中々楽しい二時間でした。

もう、一回参加してしまったので、次回はもうないかな? 200 名のうちの一人だったし、Microsoft としても色々な人を呼びたいだろうしねぇ。

まだ、参加してない人は是非;-)。

ちなみに僕は、以前は Microsoft はそんなに好きでは無かったんだけど、今は google よりも Microsoft のほうが好きかなぁ;-P。株価は $60 を突破したしねぇ;-)。

ちょっと、違った目線から、「2016 Windows ファン感謝祭」を書いてしまったような気がしないでもありませんが、お許しを・・f(^^;;。

10月 052016
 

OSX を利用しいて Mavericks の次のバージョンである El Capitan そして、最新 OS である Sierra に至っても WoL が動作しない。と、いうのはある意味 Mac 使いにとっては有名なお話です。ググるとドドドと WoL もしくは Wake Up On Lan が動作しない。 WoL マジックパケットをブロードキャストに投げても Mac が目覚めてくれない。と、いうのは今となっては常識?

悲しいことなのであります。

ウェブで検索すると、調べた人は本当に調べていて NIC のカーネルモジュールを交換したり、各種設定を色々調査したりしているんですが、解決策は見当たらずに Apple に対してバグレポートを送った。とか、見受けられるんですけども・・。

僕はまだインストールしていないのですが、海外のサイトでは macOS Sierra でもやはり WoL が動作しない。と、いう書き込みが見受けられます。もーダメダメじゃーん・・。 orz。 って感じがすごくします。

ただ、一点だけ、回避策を発見しました。今回はそれについて書いてみたいと思います。

 
まず、先に結論を書いてしまいますが、とある技・道具を利用すると WoL が動作するようになります。それは・・。

USB NIC を接続して USB NIC の MAC アドレスに対して WoL マジックパケットを送る。という方法です。

簡単に言うと、Mac 本体の NIC では WoL マジックパケットを投げても受け取ってくれなくて Mac は起き上がってくれないのですが、 USB NIC を接続して OS X に認識されたモノであれば、無事に WoL が動作してくれます。

 
と、いうこどて、今回試した USB NIC は全部で四つ。まずは写真から。

img_5247_elcapian_usb_nic

上から順に、製品名もしくは usbconfig の結果を掲載します。 usbconfig は FreeBSD のコマンドで、製品名・ベンダ名を表示してくれます。

1. PGENET10 Xircom Inc.
2. BUFFALO LUA2-TX LUA2-TX
3. vendor 0x0b95 (product 0x772a vendor 0x0b95)
4. USB Ethernet (product 0x7720 vendor 0x0b95)

1. と 2. は随分と古い USB NIC で、共に USB1.2 対応、 1. は 10MBase な NIC です。 2. は 100MBase-T ですが USB1.2 なので 12Mbps 程度しか出ません。これらは El Capitan では認識してくれませんでした。

3. と 4. は FreeBSD では axe0 で認識され ue0 で動作します。これらは El Capitan でも認識され、 en3 とか en4 で認識されました。
ちなみに僕の持っている MacBook の場合 en0 は Giga NIC 、 en1 は Wi-Fi NIC です。

 
さてと。 MacBook に 3. もしくは 4. の NIC を USB で接続して、ifconfig -a で認識されことを確認し、そして MAC アドレスを更に確認して、あとは WoL マジックパケットを投げるだけです。あ。その前に SleepNow しますが。

と、いうことで無事に WoL が動作して MacBook は目覚めたのでありました・・。

ちゅーとこは、つまりはオンボード NIC に問題がある。と、いうことですね。 Sleep 中はオンボード NIC まで Sleep してしまっている。と、いう認識で良いのかな?
実は WindowsOS も 7 まではスリープ中でも NIC に電源供給されていたんだけど 8 以降では default では電源供給されなくなり WoL に対応しなくなっています。

それと似たような動作かな? 困ったモノです・・。

と、いうことで新しい Apple の PC OS 、それはつまりは El Capitan 以降になるんですけども、その場合には USB NIC を付けて、そこに WoL マジックパケットを投げれば大丈夫。と、いうことになるかと思われます。

 
あ。 USB NIC には IP アドレスが付加されている必要はありません。 ifconfig en3 up などで、アップしているだけで動作します。

ケーブルを一本余計にはわせる必要はありますが、今のところの回避策はこれしか考えられないですね。
ちなみに USB NIC は WoL マジックパケットを受信するだけに利用するので安いモノで十分です。高価なモノは必要ないです。僕は過去に確か、アキバで 500yen くらいで買ったものが 3. や 4. だったりします。

 
このエントリを読んだ Mac ユーザで、どうしても WoL したいという人は USB NIC で試してみてください。

決してカッコよくは無い解決策ではありますが・・。

9月 112016
 

ドスパラの手頃な値段の Windows タブレット Diginnos DG-D08IWB 32GB ですが Windows10 にアップデートして使っていたのですが、とあるタイミングで shutdown したら、起動しなくなってしまいました。

o.電源ボタン押しても起動せず。
o.電源ボタン長押しでも起動せず。
o.電源ボタンと音量アップボタン同時長押しでも起動せず。
o.電源ボタンと音量ダウンボタン同時長押しでも起動せず。
o.USBポートにマウスを付けても LED が光らない。

もうダメダメじゃーん・・。 orz。

バッテリーの残量が少ないと起動しない。と、いう話はあちこちに登場します。起動しなくなったあと、ずっと充電している(赤い LED が点いていた)ので多分フル充電状態だと思われます。
MicroUSB ポートに変換ケーブルを挿して USB マウスを接続しても USB マウスの LED が光らないのはきっと MicroUSB ポートに電通されていないからだろう。などと思うわけです。

で、ウェブで調べても特に復活させる情報が無い。が、しかし、唯一、

o.マザーボードとバッテリーを繋ぐケーブルを一旦抜き差しすると復活するらしい。

と、いうのを見つけて、もう、ホトホト諦めつつ殻割りすることを決意。保証はもう既に切れているのでできる芸当ですが・・。

しかし、更にウェブで調べてみても DG-D08IWB を殻割りした。と、いう情報は無い。困ったなぁ。ヒトバシラーかぁ・・。などと思いつつ決行っ!!

まずは無事に殻割りが完了した写真っ!! v(^^)。

img_5160_dg-d08iwb_1

グリグリと裏の鉄板をはがしました。鉄板というか、一応、高級感を出しているアルミのバックパネルを引っぺがしました。

本体と裏のアルミのバックパネルは接着剤でくっついていて、それをはがした。と、いう感じです。
上の写真で黒い部分に白っぽいムラが見えますが、接着剤の固まったヤツです。

MicroUSB スロットのあるところが唯一のアクセスポイントです。そこからバックパネルを取りにかかります。
今回利用したツールはマイナスドライバーとピンセット。

img_5165_dg-d08iwb_3

ピンセットの手元の部分を MicroSD スロットの横の空きスペースに突っ込んでグイグイと上に持ち開けます。するとアルミのバックパネルの接着剤が浮くので、時計回りにマイナスドライバーでグリグリと引っぺがしにかかります。

ぐるっと一周して。ベコンと取れました。ふぅ・・。取れた状態が一番最初の写真になります。

今回はパカっと開けることが目的ではないのでその後継続して作業を進めます。バッテリーとマザーボードが接続されているコネクタを一回引っこ抜いて再度接続するとマザーボードに対してリセットがかかって復活する(あー。僕的には情報ソースが発見できませんでしたが、一応トライしてみる。と、いう暴挙に出ています;-)。と、いうことだったのでその通りやってみるとこにします。

img_5174_dg-d08iwb_3

ケーブル類は黒いテープで覆われていたのでとりあえずテープをはがします。カメラの下の部分にあります。上記写真だと右側の、マザーボード側が白でバッテリー側が黒いソケットの部分を外します。
マイナスドライバーとピンセットを利用して外し、完全に外れたことを確認したあとに再度接続します。

これだけの作業ためにアルミのバックパネルを外したということになります。orz。

 
さて。ケーブルを抜き差ししたあと、電源ボタンを押すと・・。あぁら。あっと言う間に起動し Windows10 が何事も無かったのごとくブートしました(@_o)。

本当にマザーボードとバッテリーのケーブルを抜き差しすることでハードウェアリセットがかかったのね・・。

Windows OS 的にも特に問題無く動作しています。

と、いうことで無事に復活したのでありました。良かったぁ・・。

 
けど、接着剤でくっついていたアルミのバックパネルをはがしたので、その後、再度接着剤で固定するか、悩ましいところではあります。僕の DG-D08IWB 32GB はケースに入れているので、とりあえずは養生テープで固定してケースに入れて利用することにしました。今度また同じ状態になったときのことを考えると・・。

 
と、いうことで Diginnos DG-D08IWB 32GB の復活方法を記載しましたが、最後にお約束の言葉を書きますね。僕はたまたまうまく行ったけど、自己責任でお願いします。分解して動かなくなっても、保証が効かなくなっても僕は一切関知しません。
自己責任でお願いします。

9月 012016
 

夏休みを利用してベトナムに行って来ました。旅の詳細については別のブログに書いているのでそちらを見て頂ければと思います。

今回の旅では入国した直後に現地の SIM カードを購入し、現地ではほとんど SIM カードを利用して過ごしたのでそのネタについて書きます。他のベトナムでの旅の内容については複数のブログにまたがって書いているのであちこち歩き回ってくださいf(^^;;。

今回の旅は

成田→ハノイ(トランジット)→ダナン(三泊)→ホーチミン(一泊)→成田

という経路で実質四泊五日の旅だったのでありますが、まず、ハノイのノイバイ空港についたときに入国しました。国内線のトランジットは大体三時間あったのでその間に SIM カードを購入しました。

入国カウンターを過ぎるとすぐ右側に通路が一本あります。そちらに進むと一軒目に mobifone の SIM を買えるショップがあったので、そこにズンガズンガと進んでいきました。

img_6840_vit_mobifone_2

痛恨のミス。ピンぼけです・・。orz。 僕が行ったときはお客さんは誰もいませんでした。なのでお店の人に SIM Card Prease. と伝えます。すると英語で色々書かれた紙を出してくれるので 200,000 ドンの SIM カードを購入しました。ちなみにレート的には 100yen が 20,000 ドンくらいです。なので、今回は約 1,000yen 分のプリペイド SIM カードを購入した。と、いうことですね。

img_5126_vit_mobifone_1

ついこの間 SIM フリーのワールドワイド端末である SONY Xperia Z5 Compact を購入しているので、それが早速役に立ちます;-)。

200,000 ドンの SIM カードはデータが 6GByte 国内通話が 30 分付いていました。お店の人に見せてもらった紙には 150,000 ドンの SIM カードもあり、こちらはデータが 3GByte 通話 30 分でしたが、どっちにするか悩んだ結果 200,000 ドンの SIM カードにしました。

一ヶ月有効で 6GByteの転送量で 1,000yen なので、もう安いし、これで良いやぁ。という感じです;-)。ちなみに 50,000 ドンの差ってのは約 250yen ですf(^^;;。

お店の人に手持ちの docomo SIM が入ったままの SONY Xperia Z5 Compact を渡すと SIM カードを入れてくれます。docomo の SIM カードはセロハンテープで貼って、カード本体と一緒に返してくれました。現地 SIM カードは一枚で三タイプのSIMが切り出せるヤツですね。
そして、しばらくするとスルスルっと接続できました。

img_5127_vit_mobifone_3

ベトナムにはまだ LTE は無いので 3G となります。しかし、そこはかとなく速いかな。あと、利用してみても圏外になることは無かったので、特に苦労せずにベトナムにいる間はこれでジューブンでした。

 
今回、現地で購入した SIM は SONY Xperia Z5 Compact に入れていますしたが、一台の Windows10 タブレット と iPhone5 と iPhone6 の計三台分のテザリングを一手に引き受けてくれました。ずーっとテザリングオン状態で、常時他の端末はネットワークに接続されている状態でした。それでも遅いと感じることは無かったです。
Windows10 タブレットなんかはホテルの Wi-Fi には怖くて接続できないしねぇ。

 
ベトナムには四泊して五日ほどいましたが、データ利用量はなんとっ!! 1GByte ほどでした。思っていた以上に少ないですね。 3G なので LTE のときほどドバドバ使うことは無いみたい。写真撮って、そこに GPS ポイント書き込むとか、現地の地図を見るとか、ベトナム語の翻訳ソフト使うとか(、ポケモン GO するとか)、それらがメインでした。が、そーいうのがリアルタイムでできる。ってのが現地 SIM を利用していると嬉しいです。

さてと。データ量がまだ 5GByte ほど残っています。そして、プリペイドの期間はまだ二週間くらいあります。今からベトナム行く人います? ;-)。

8月 292016
 

今回もヘッドホンと、いうか、イヤホンネタなのですが、ハイレゾのお話ではありません;-)。

スポーツ用 Bluetooth イヤホンが 2,999yen で購入できる。と、いうので飛びついてしまった。と、いう感じなんですけども。

僕も一応ランニングなどをしているのですが、レースに出たのはまだ三回(とは言ってもフルマラソンはまだ、絶対に無理;-)状態です。が、しかし、たまーに練習で公園とか、荒川河川敷などを走ったりしています。そのときに iPhone6 などで Nike+ アプリを利用し、走った距離とか時間などを教えてくれる機能があり、それなりに目安になったりしています。
そして、パワーソングなどが流れ、走る時に頑張れたりもするんですけどね。

その、ランニングのとき用に、今回手頃な値段の Bluetooth イヤホンを試しに購入してみた。と、いう感じです。
Bluetooth スピカーは二個くらい持っていて スマホで USEN アプリなどで利用していたりしますけど、イヤホンというのは初めて。

 
まず、 Amazon から届いた荷物を開けてみました。こんな感じです。

IMG_4711_SoundBuds_1

本体とちょっと大きめの袋。あと、イヤーチップは S/M/L の三種類。頭の後で固定する予備のベルトが一本とマニュアルです。MicroUSB ケーブルも付属しています。これは充電用ですね。

本体は非常に軽く、左右をつなぐヒモのような部分は形状は固定されていても柔らかい素材でできているので違和感はないです。
耳の上からかける感じで装着します。いやぁー。軽いですねぇ。驚く軽さです。そして、耳への圧迫感が非常に強い。耳の穴の中にピッタリとフィットしている感じです。なるほどー。

 
本体の操作ボタンは右側に集約しています。

IMG_4716_SoundBuds_2

曲飛ばし・戻りは真ん中ボタン。外側二つのボタンでボリュームの上下もできるのでランニングのとき、確かに音楽へのアクセスは良いですね。これは良い感じです。

 
添付のマニュアルは七カ国語くらいあります。 Bluetooth 対応なので確かに日本語とかないとキツイかなぁ。

IMG_4714_SoundBuds_3

とわ言いつつ、iPhone6 や SONY Xperia Z5 Compact E5823 では簡単に同期できました。SoundBuds Sport NB10 の本体のボタンを適当に押して、スマートフォン側で Bluetooth デバイスを探索して表示されるのを登録するとサクっと利用可能な状態になります。ここまでマニュアル一切読んでないですf(^^;;。

 
さてと。せっかく良いものが手に入ったのでちょっとランニングで試してみようかねぇ。などと思い 2.26km ほど走ってみました。そのときの感想を少々。

まず音について。
今回はハイレゾイヤホンの購入ではないので音についてはある程度妥協しています。
今回購入した Anker SoundBuds Sport NB10 はどちらかと言うとドンシャリ系が強い傾向がありますかね。
音的には Blue Ever Blue 868B833GW の中間辺り。って感じでしょうか。 Apple EarPods のドンシャリ強いバージョンって感じかな。
あと、音の広がりが無いのもハイレゾイヤホンとは別モノだと感じさせられます。頭の周り 20cm くらいで音が鳴っている感じ。SoftBank SELECTION SE-5000HR のレビューのところでも書いている、僕の個人的な言葉の表現ですが『突き抜ける音の広がり』というのは感じられません;-)。

まぁ、今回は『そーいうモノであろう。』と、いう認識で購入したのでこの辺り、全然問題ではありません。

Amazon のレビューにありましたが、確かにホワイトノイズ、のりますねぇ・・。
曲間とか静かな音の曲を聴いているときに『サー』っと音が聞こえます。気になり出すと気になるかも・・。ランニング時のパワーソングを聴いているときは大丈夫だけど・・。

 
次に装備の面について。
上にも書きましたが、耳に対する密着感が非常に強いです。回りのノイズが聞こえてこないので音楽に没頭できます。
しかし、ランニングのときに音楽に没頭してどうするんじゃい? そー考えると公道での利用はちょっと勇気が必要かも。公園とか河川敷などでの利用が良いのではないかと思われます。

試しに SONY Xperia Z5 Compact E5823 に接続して確認してみましたが、ノイズキャンセリング機能は持っていないようです。

それにしても一番感動したのはケーブルフリーっ!! イヤホンケーブルが無いってことはこんなに幸せなことなのかぁっっ!!?? と感動してしまいます。
ランニングときは当然ですね。走っているとケーブルがブラブラして耳へ何かしらのインパクトが出て来たり、手を振っているときに指に絡まったりとか、そーいうのが全くない。すごいっ!! って感じです。

これは通勤時にも使いたくなってしまう感じでしょうかねぇ。
ケーブルレスな環境を手頃な値段で試してみたいランナーにはそれなりにお勧めな、初心者向けの製品だと思われます。
そして防水。嬉しいですねぇ。汗だくになっても、突然の雨でも平気です。

バッテリーはフル充電で 6 時間くらい持つようですが、僕のランニングって 1km 6 分として、30 分程度が今のところの限界値なので、まぁ、余裕で持ちますねf(^^;;。

 
僕のアカウントにはどういうわけか、19yen 分のポイントがあったので Amazon での購入は 2,980yen でした。手頃だぁ;-)。