SVX日記
2016-08-07(Sun) CUIで無線LANに接続
実は、ラズベリーパイが流行り始めたころに、なんとなくAとBをゲットしてはいたのだが、うまくFedoraが動かせなかったうえ、それほどの用途も思いつかなかったので、そのまま放置していたのであった。んが、ちょっとした用途が浮上し、最新のOSであるRaspbian Jessieを入れてみたところ、Debian系ながら、使いたいパッケージが十分に揃っていることに気づき、いまさらながらゴソゴソとイジり始める次第であった。
というわけで、最近になってようやく整えたHDMI環境に、Full版のRaspbian Jessieを導入したラズベリーパイ1のモデルBを接続……と、普通にフルHDでGUIが表示されることに軽く驚く。んが、全体にもっさりだな……って、なにげにメニューのゲームの中にマインクラフトが入ってんじゃん。意外とヌルヌル動くが……いったい何を目指しているんだ。
目的とする用途にGUIは不要なので、改めてLite版のRaspbian Jessieを導入しなおす。んが、心配なのが無線LAN。USBポートにこのモジュールを挿しているのだが、サーバ用途で無線LANを使ったことがないので、CUIでの設定の仕方がわからん。iwconfigとか使うんだっけ。
# iwlist wlan0 scan | grep ESS
# ifdown wlan0
# iwconfig wlan0 essid "<ESSID>" key "s:<KEY>"
# iwconfig wlan0
# dhclient -v wlan0
network={
ssid="<ESSID>"
psk="<KEY>"
}
network={
ssid="<ESSID>"
key_mgmt=NONE
wep_key0="<KEY>"
}
# diff /etc/network/interfaces.org /etc/network/interfaces
< iface wlan0 inet manual
> iface wlan0 inet dhcp
# ifup wlan0
# iwconfig wlan0
wlan0 IEEE 802.11bgn ESSID:"xxxxxxxxxxxx" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.412 GHz Access Point: AA:BB:CC:DD:EE:F0
Bit Rate:150 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=95/100 Signal level=61/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
2016-08-08(Mon) ブリッジしない無線ブリッジ
というわけで、とある目的のため、先日からラズベリーパイをイジり始めているのだが、有線接続されている普段使いのPCから、無線LAN経由でラズベリーパイにsshアクセスができないことに気づいた。構築、メンテのためにはsshアクセスが不可欠だ。
無線のアクセスポイントはplanexのMZK-MF300N2というものを使っており、ルータモードでなく、アクセスポイントモードで動作させている。つまりは、有線ネットワークと無線ネットワークをまたがるブリッジとして動作しているわけだ。無線を有線に置き換え、ネットワークの状況を図化すると、以下のようになる。
この状況から、PCからsshアクセスができない理由はないのだが……pingにも応答しない。そうなるとarpか……と思い、各ホストでtcpdumpを動かしつつ、PCからarpingしてみる……と、ラズベリーパイのwlan0だけarpが到着しない!? なんだそれは。つまりは、無線のアクセスポイントがブリッジの動作をしていないということではないのか。アホか。
幸い、以前に買ったELECOMのWRH-300WH-Sという安物のコンパクト無線LANルータがあるので、そいつもハブにつなぎ、そっちの無線LAN経由でラズベリーパイにsshアクセスしてみる……当然できる。そらそうだ。ブリッジが「ブロードキャストドメインを分割しない」「MACアドレスを学習し必要なパケットのみ転送する」の原則どおり動作すればそうなる。
2016-08-11(Thu) ラズベリーパイ(Raspbian)で無線LANブリッジする
CUIで無線LAN接続に成功したものの、アホな無線ルータに散々に悩ませられたが、ローエンドな無線LANルータを買って解決。次なる目標はラズベリーパイをルータにすることだ。こんな感じに。
……んが、ラズベリーパイをルータにすると、対象機器へのルーティングの定義が必須となる。めんどい。ここは、ラズベリーパイもブリッジとするべきではないか。それならば、対象機器へのIPの払い出しも、宅内LANにつながっているLinuxルータで一括管理できるし。
root@xxxpi:/etc/network# diff -bc interfaces.org interfaces
auto lo
iface lo inet loopback
! iface eth0 inet manual
! allow-hotplug wlan0
! iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
--- 9,27 ----
auto lo
iface lo inet loopback
! auto eth0
! iface eth0 inet static
! address 0.0.0.0
! auto wlan0
! iface wlan0 inet static
! address 0.0.0.0
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
+ auto br0
+ iface br0 inet dhcp
+ bridge_ports eth0 wlan0
……と、できてみれば単純な設定だが、無線の設定とも絡んで、かなり手こずらされた。無線の設定は、先日の/etc/wpa_supplicant/wpa_supplicant.confに設定しておけばいい。
root@xxxpi:/etc/network# ifconfig
br0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:52
inet addr:172.xx.xx.xxx Bcast:172.xx.xx.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
eth0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:52
UP BROADCAST MULTICAST MTU:1500 Metric:1
wlan0 Link encap:Ethernet HWaddr aa:bb:cc:dd:ee:74
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
ブリッジが形成されると、ブリッジのメンバであるeth0とwlan0にはIPアドレスが割り当てられなくなり、br0にIPアドレスが割り当てられる。ブリッジはレイヤ2動作のため、当然、IPアドレスを持たないのだが、このbr0のIPアドレスはブリッジの上にいる自ホストに割り当てられたIPアドレスという感じか。はじめて目にした時にはかなり混乱し、理解するまでに時間を要したっけ。
root@xxxpi:/etc/network# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.xxxxxxxxxxxx no eth0
wlan0
先日から愛用しているミニコンポを有線LAN接続するのである。
これにより、ミニコンポからは有線LAN接続でDLNAサーバにアクセスし、音楽を再生できるようにはなったのだが、なぜかラズベリーパイ上で宅内LAN上のサーバへのnfsアクセスが不安定。fstabに書いておいても起動時にmountしてくれないし、以下のコマンドでmountできる時とできない時がある。またしても無線LANブリッジが怪しいのだが、不安定なだけに調べようがない。うーむ、どうしてくれよう。
root@xxxpi:~# systemctl start rpcbind
root@xxxpi:~# mount /mnt/mediatomb/
2016-08-12(Fri) Fedoraでpidoraインストール
どうもRaspbianは挙動不審であり、調査しようにもアウェー感が半端ないんで、Fedoraを動かしたい。んが、以前に動かそうとしたが、うまく動かせなかったんだよな、と思っていたら、ナニ!? NOOBSってのは、OSを選択してインストールするための仕組みだったのかよ。それを早く言ってくれよ。
どうも、SDカードにイメージをddで書き込むのではなく、vfat領域の上にファイルコピーすれば動くらしい。ホンマにそんなんでブートすんのか? と、やってみたら、確かにブートする。これは未知の技術だな。
※SDカードが/dev/sdbとして認識されている場合
/root # dd if=/dev/zero of=/dev/sdb bs=65535 count=1024
/root # fdisk /dev/sdb
※パーティションのタイプをc, 起動可能フラグを有効化
/dev/sdb1 * 2048 31116287 31114240 14.9G c W95 FAT32 (LBA)
/root # mkfs.vfat /dev/sdb1
/root # mount /dev/sdb1 /mnt/temp
/root # cd /mnt/temp
/mnt/temp # unzip NOOBS_lite_v1_9.zip -d .
/mnt/temp # cd
/root # umount /mnt/temp
2016-08-14(Sun) ラズベリーパイ(pidora)で無線LANブリッジする
というわけで、Raspbianでなくpidoraで、同じようにブリッジを形成することにした。
それはそれとして、そのうち無線LANアクセスポイント自体をラズベリーパイで構築してみようと、先行して注文しておいたWN-AC433UAが届いたので、早速装着してみたところ……あかーん! スケベ心で先を見据えて802.11ac対応を選んだのが裏目った。新しすぎてドライバが入ってないではないか。
最近のLinuxのコネクティビティの良さに油断しとったわ。どうやらアウトボックスのドライバは既にあるようだが、今はそこに時間を掛けたくないので。サクッとタイムカプセル処分とする。ちなみに、ひとつ前のWN-G300UAはイケるようだ。最初から、値段も消費電力も優しいコッチにしておけばよかったワイ。
ひと通りガックリしたところで、ブリッジの形成に戻る。pidoraはFedora系なので、ネットワーク系の設定ファイルの場所が、/etc/networkの下ではなく、/etc/sysconfig/network-scriptsの下になる。と、そんなことより、基本的にはNetworkManagerを使うべきなので、場所がどうこうよりは、nmcliコマンドを駆使することの方が重要だ。
[root@xxxpi ~]# nmcli device wifi list ifname wlan0
* SSID MODE CHAN RATE SIGNAL BARS SECURITY
<ESSID1> Infra 1 44 Mbit/s 52 ▂▄__ WPA1 WPA2
<ESSID2> Infra 1 16 Mbit/s 43 ▂▄__ WPA1 WPA2
<ESSID3> Infra 7 54 Mbit/s 23 ▂___ WEP
<ESSID4> Infra 1 54 Mbit/s 46 ▂▄__ WEP
[root@xxxpi ~]# nmcli device wifi rescan ifname wlan0
[root@xxxpi ~]# nmcli device wifi connect "<ESSID>" password "<KEY>" ifname wlan0
[root@xxxpi ~]# iwconfig wlan0
wlan0 IEEE 802.11bgn ESSID:"xxxxxxxxxxxx" Nickname:"<WIFI@REALTEK>"
Mode:Managed Frequency:2.412 GHz Access Point: AA:BB:CC:DD:EE:F0
Bit Rate:300 Mb/s Sensitivity:0/0
Retry:off RTS thr:off Fragment thr:off
Encryption key:****-****-****-****-****-****-****-**** Security mode:open
Power Management:off
Link Quality=100/100 Signal level=74/100 Noise level=0/100
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
[root@xxxpi network-scripts]# cat ifcfg-<ESSID>
HWADDR=AA:BB:CC:DD:EE:F0
ESSID="<ESSID>"
MODE=Managed
KEY_MGMT=WPA-PSK
SECURITYMODE=open
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=<ESSID>
UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx
ONBOOT=yes
[root@xxxpi network-scripts]# cat keys-<ESSID>
WPA_PSK='<KEY>'
[root@xxxpi ~]# yum install net-tools
[root@xxxpi ~]# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.xx.xx.xxx netmask 255.255.255.0 broadcast 172.xx.xx.255
ether aa:bb:cc:dd:ee:6e txqueuelen 1000 (Ethernet)
[root@xxxpi ~]# nmcli connection add type bridge ifname br0 stp no
[root@xxxpi ~]# ifconfig br0
br0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether aa:bb:cc:dd:ee:02 txqueuelen 0 (Ethernet)
[root@xxxpi ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 0080.000000000000 no
[root@xxx network-scripts]# cat ifcfg-bridge-br0
DEVICE=br0
STP=no
TYPE=Bridge
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=bridge-br0
UUID=xbridgex-xxxx-xxxx-xxxxxxxxxxxxxxxxx
ONBOOT=yes
[root@xxxpi ~]# nmcli device show br0
[root@xxxpi ~]# nmcli connection show configured bridge-br0
[root@xxxpi ~]# nmcli connection add type bridge-slave ifname wlan0 master br0
[root@xxxpi ~]# ifdown wlan0
……この辺りから、何をどうやっても意図した設定にならなくなってしまい丸一日ドハマリ。nmcliコマンドでチマチマと設定しているのが、なんだかくねくねする棒で背中を掻いているようなもどかしい気分になってきた。
結局、直接に、有線側と無線側の両方の設定ファイルから要らない部分を削除し、ブリッジへ帰属する設定を追加したら希望の動作となった。膨大な時間を無駄にしたわ。あほくさ。ちなみにdhcpのままでいいならifcfg-bridge-br0はノータッチでいい。
[root@xxxpi network-scripts]# diff -bc ifcfg-eth0.org ifcfg-eth0
DEVICE=eth0
- BOOTPROTO=dhcp
ONBOOT=yes
NM_CONTROLLED=yes
--- 1,4 ----
DEVICE=eth0
ONBOOT=yes
NM_CONTROLLED=yes
+ BRIDGE=xbridgex-xxxx-xxxx-xxxxxxxxxxxxxxxxx
[root@xxxpi network-scripts]# diff -bc ifcfg-<ESSID>.org ifcfg-<ESSID>
KEY_MGMT=WPA-PSK
SECURITYMODE=open
TYPE=Wireless
- BOOTPROTO=dhcp
- DEFROUTE=yes
- PEERDNS=yes
- PEERROUTES=yes
- IPV4_FAILURE_FATAL=no
- IPV6INIT=yes
- IPV6_AUTOCONF=yes
- IPV6_DEFROUTE=yes
- IPV6_PEERDNS=yes
- IPV6_PEERROUTES=yes
- IPV6_FAILURE_FATAL=no
NAME=<ESSID>
UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx
ONBOOT=yes
--- 4,10 ----
KEY_MGMT=WPA-PSK
SECURITYMODE=open
TYPE=Wireless
NAME=<ESSID>
UUID=xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx
ONBOOT=yes
+ BRIDGE=xbridgex-xxxx-xxxx-xxxxxxxxxxxxxxxxx
[root@xxxpi network-scripts]# systemctl daemon-reload
[root@xxxpi network-scripts]# systemctl restart NetworkManager
2016-08-28(Sun) ラズベリーパイ(pidora)で無線LANアクセスポイントする
先日「無線LANアクセスポイント自体をラズベリーパイで構築するのもいいかもしれん」などと書いたが、やってみることにした。
市販の無線LANルータをアクセスポイントモードに設定し、無線ブリッジとして振舞わせたいのだが、どーにも安定しないのだ。有線側からのブロードキャストが無線側に飛ばない。arpが飛ばなければ、接続できない。改めて購入したローエンドな無線LANルータも、結局はダメな感じだ。そりゃ、フツーの人は無線側の端末からWANと通信できるだけで十分なのかもしれないが、わしゃ宅内のホスト同士の通信が必須なんだ。
さて「ラズベリーパイ アクセスポイント」でググると大量のサイトが引っかかるのだが、どれもhostapdを使うことは共通しているものの、イマイチ内容がバラバラ。手順は書いてあるものの、その必要性がよくわからない。結局はhostapdに添付のドキュメントを読みつつ、試行錯誤が必要になった。
今回、構成したい無線LANアクセスポイントは、いわゆるルータモードではなく、ブリッジモードで動作させたいので、まずはブリッジインタフェイスを作る。前回と違うのは固定IPアドレスを割り振るところだ(別にDHCPでは絶対ダメということはないが)。
[root@xxxpi ~]# nmcli connection add type bridge ifname br0 stp no
[root@xxxpi network-scripts]# diff -bc x.ifcfg-bridge-br0.org ifcfg-bridge-br0
DEVICE=br0
STP=no
TYPE=Bridge
! BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
--- 1,10 ----
DEVICE=br0
STP=no
TYPE=Bridge
! BOOTPROTO=none
! IPADDR=172.xx.xx.xx
! NETMASK=255.255.255.0
! GATEWAY=172.xx.xx.xx
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
さて、ここから無線LANアクセスポイント化を開始する。上述したように、ラズベリーパイを無線LANアクセスポイント化する記事は多くあるのだが、よくわからないまま手順だけ書いてある記事が多いので混乱させられる。使用する無線LANアダプタなどに応じてアレンジを加える必要があるのだ。
今回、使用した無線LANアダプタは、IO DATAのWN-G300UAなのだが、重要なのは製品名よりも搭載している無線LANチップの種類だ。この製品はRealtekの8192CUという無線LANチップを搭載しており、これが同じならば、OS的には同じ機器であるとみなしていい。
[root@xxxpi ~]# lsmod
Module Size Used by
8192cu 540710 0
[root@xxxpi ~]# yum install hostapd
ここが混乱ポイント。hostapdには「ドライバ」という概念が存在し、搭載している無線LANチップの種類に応じて「/etc/hostapd/hostapd.conf」の中で適切に指定してやる必要があるのだが、ここでいう「ドライバ」とは、上記の8192cuドライバ(カーネルモジュール)とは完全に無関係であり、上記でインストールしたhostapdというパッケージに含まれる「/usr/sbin/hostapd」という実行ファイルに、予め組み込み済みのものなのだ。
そこでどうするかというと、Realtek社が個別に配布している、hostapdパッケージをコンパイルして、実行ファイルだけまるごと差し替えてやる。これにより、Realtekの8192CUという無線LANチップを搭載した無線LANアダプタで、無線LANアクセスポイントを構成することができる。なんだよ、そういうことなのかよ、そうならそうと言ってくれよ。
・Realtekのサイトから8192CU用のパッケージをダウンロード
http://www.realtek.com.tw/downloads/searchView.aspx?keyword=RTL8192CU
0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
・展開、コンパイル、差し替え
[root@xxxpi ~]# unzip 0001-RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
[root@xxxpi ~]# cd RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911/wpa_supplicant_hostapd/
[root@xxxpi wpa_supplicant_hostapd]# tar xvfz wpa_supplicant_hostapd-0.8_rtw_r7475.20130812.tar.gz
[root@xxxpi wpa_supplicant_hostapd]# cd wpa_supplicant_hostapd-0.8_rtw_r7475.20130812/hostapd/
[root@xxxpi hostapd]# make
[root@xxxpi hostapd]# mv /usr/sbin/hostapd /usr/sbin/hostapd.org
[root@xxxpi hostapd]# mv /usr/sbin/hostapd_cli /usr/sbin/hostapd_cli.org
[root@xxxpi hostapd]# cp hostapd /usr/sbin/hostapd
[root@xxxpi hostapd]# cp hostapd_cli /usr/sbin/hostapd_cli
[root@xxxpi ~]# cd /etc/hostapd/
[root@xxxpi hostapd]# diff -bc hostapd.conf.org hostapd.conf
ignore_broadcast_ssid=0
# Uncomment these for base WPA & WPA2 support with a pre-shared key
! wpa=3
! wpa_key_mgmt=WPA-PSK
! wpa_pairwise=TKIP CCMP
! rsn_pairwise=TKIP CCMP
# DO NOT FORGET TO SET A WPA PASSPHRASE!!
! wpa_passphrase=YourPassPhrase
# Most modern wireless drivers in the kernel need driver=nl80211
! driver=rtl871xdrv
# Customize these for your local configuration...
! interface=wlan0
! hw_mode=g
! ieee80211n=1
! channel=N
! ssid=XXXXXXXX
! eap_server=1
! wpa_group_rekey=7200
hostapdを動作させる場合、wpa_supplicantが動作していると、処理が競合するっぽいので止めてやる。どうやら、単にサービスを止める設定をするだけでは、dbus経由で再起動がかかってしまうようなので、dbusの設定から殺しておく。
[root@xxxpi ~]# cd /usr/share/dbus-1/system-services/
[root@xxxpi system-services]# mv fi.w1.wpa_supplicant1.service x.fi.w1.wpa_supplicant1.service.org
[root@xxxpi system-services]# systemctl stop wpa_supplicant
[root@xxxpi ~]# cd /etc/modprobe.d/
[root@xxxpi modprobe.d]# vi 8192cu.conf
[root@xxxpi modprobe.d]# cat 8192cu.conf
options 8192cu rtw_power_mgnt=0
[root@xxxpi ~]# systemctl enable hostapd
[root@xxxpi ~]# systemctl start hostapd
[root@xxxpi ~]# systemctl status hostapd
なお、詳しい検証はしていないが、この直後にPSPやKOBOを接続しようとすると、認証が通らず、接続に失敗する現象が発生した。不思議なことに、PCから接続しようとすれば、接続に成功し、その後はPSPやKOBOも問題なく接続できるようになる。原因は不明。
[root@xxxpi ~]# journalctl -u hostapd.service -n 1000 | grep -C 1 pairwise
8月 28 14:54:54 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 RADIUS: starting accounting session xxxxxxxx-00000115
8月 28 14:54:54 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 WPA: pairwise key handshake completed (RSN)
8月 28 15:04:33 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 IEEE 802.11: deauthenticated due to local deauth request
--
8月 28 15:04:54 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 RADIUS: starting accounting session xxxxxxxx-00000116
8月 28 15:04:54 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 WPA: pairwise key handshake completed (RSN)
8月 28 15:14:33 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 IEEE 802.11: deauthenticated due to local deauth request
--
8月 28 15:14:55 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 RADIUS: starting accounting session xxxxxxxx-00000117
8月 28 15:14:55 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 WPA: pairwise key handshake completed (RSN)
8月 28 15:24:33 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 IEEE 802.11: deauthenticated due to local deauth request
--
8月 28 15:24:56 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 RADIUS: starting accounting session xxxxxxxx-00000118
8月 28 15:24:56 xxxpi.itline.jp hostapd[nnnnn]: wlan0: STA xx:xx:xx:xx:xx:61 WPA: pairwise key handshake completed (RSN)
2016-08-30(Tue) PC環境をグレードアップ?
突然だが、メインの環境であるMINT15のGUIが立ち上がらなくなってしまった。普段はサスペンドしてるんで、滅多に再起動なんてしないものの、再起動の際に立ち上がらない確率が高くなるような傾向があったので、気になってはいたんだよな。しかし、相手が確率だけに、明確に問題の箇所があるわけでもなさそうで、ちょっとトラブルシューティングは困難っぽい。
記録によれば、MINT15は2013年6月21日にインストールして使い続けているようで、もう3年以上。そろそろ新しいディストリに移行するにもいいタイミングかもしれない。最近、処理が妙に重いのも解決するかもしれないしな。そこで、思い切ってFedora24に移行してみた。
考えてみれば、いくらファンレスが静かだからって、今時ShuttleXS35V2というAtomD525(1.80GHz)のマシンを使っているうえ、それでもブラウザが重いからって、Operaの12.16を使い続けているオイラも大概なんだが。この3年間に、それだけJavaScriptが大々的に普及してきたということなのだろうな。そういえば、以前にGoogleマップが重いからって、Goo地図に逃げた気がするし、Operaでは見えないサイトが増えてきたので、同時にFireFoxを立ち上げて逃げたり……そうとう逃げまくってきたのも確かだ。正直、必要性に疑問を感じるようなJavaScriptばかりで、そんなもののせいでマシンを退役するのはバカバカしいが、JavaScriptを切ると、ほとんどのサイトが見えなくなってしまうのはイカンともしがたい。
そこで、適当なファンレスマシンを購入しようと思ったが、どうも劇的に速度を改善できるようなマシンでは、ファンレスは望めないし、値段も結構するようだ。うーむ「メールとウェブ程度なら」なんてスペックの表現がよくあるが、オイラにとってはウェブが見えるスペックって、結構なハイスペックなんだよな。
結局、考えあぐねて以前に購入したThinkPadのT500を引っ張り出してきて、それにディスプレイとキーボードをつなぐことにした。どういう気分でこんなお大臣なマシンを買ったのか忘れたが、こいつはCore2DuoP8700(2.53GHz)とかなりのハイスペック。しかもIntelのSSDに換装している。おぉ、速い! これは快適!
ちなみに、本体のディスプレイが点灯していると、横目に入ってうっとおしいが、以下のコマンドでバックライトを消灯できることがわかった。ただし、スクリーンセーバが働くと、またバックライトが点灯してしまうことがあるので、とりあえずcron登録してゴマかしている。
echo -n 0 > /sys/class/backlight/intel_backlight/brightness
オマケに、元のマシンはGUIこそ起動しないものの、時々ファイルをサルベージしたい時があるのでsshで接続することがある。その場合、GUIからはサスペンドできないが、以下のコマンドでサスペンド状態に移行できることがわかった。
echo -n mem > /sys/power/state
そういえば、T500って、いつ買ったんだっけ……って、アレ?2009年9月30日って……7年前じぇねーか。うーむ、元のマシンより古かったのか。