このノートPCを購入して常用し始めてから早数ヶ月.
2つの重大な問題を解消出来て割と安定してUbuntu 14.04 amd64を使えているのでそろそろその知見をアウトプットしておこうかなと.
Ubuntuのインストール方法は省略します.インストールディスクなりUSBフラッシュメモリなりを用意してそこからブート出来れば,後は必要なのは「Windowsなんて消えちゃってもいいさ」と思う心です.(実際共存は容量的にもしんどそう)何度かやり直してるうちにきっといい感じに成功すると思います.
※教えて欲しいって人いたら個人的にメールなりTwitterでメンションなり下さい.答えられれば答えてみます.
問題点 1 「突然のRemount Read only」
このマシンはメインのストレージがeMMC(SDカードみたいなものらしい)(速さ的にはHDDとSSDの間くらいらしい)で,それ自体は別に問題が無いのですが,Ubuntu 14.04 amd64のデフォルトのLinuxカーネル(私が確認したのは3.13.0-48のとき)だとたまに「タイムアウトしました.エラー吐いたのでRead onlyで再マウントします.」という旨の事案が発生しました.
こうなるともうファイルに何も書き出せないので作業は出来ないも同然です.そうするとfsckでファイルシステムを修復(※Ubuntuなら再起動後にメッセージ(Press f to fix)が出るので f を押して待ってれば勝手に修復をやってくれるはず)する必要が出てきて,結構ストレスが貯まるわけです.
2時間に1回くらいは発生してました.もしかしたら現状最新の3.13.0-59だと直ってるのかしれませんが,私はそれよりも4.0.x系統の最新のカーネルに更新をしてしまうことにしました.少なくとも,3.19ではこのバグは直っていたのです.
その件のカーネルの更新方法なのですが,Ubuntuではカーネルをビルドしたものを.debパッケージにして公式が配布してくれているのですね.
Kernel/MainlineBuilds - Ubuntu Wiki
カーネルなんて適当にあれもこれも使えるようにしてビルドしてくれてるものを使えればいいや,Gentoo使って自分でビルドしてるわけじゃないし,くらいの感覚でしたので,これはありがたい.
早速ここのガイドに従って,必要なパッケージをダウンロードして,後はdpkgコマンドでインストールするだけでした.
当然64bit版を使うので,以下のようにパッケージをダウンロードします.
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.7-wily/linux-headers-4.0.7-040007-generic_4.0.7-040007.201507031036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.7-wily/linux-headers-4.0.7-040007_4.0.7-040007.201507031036_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0.7-wily/linux-image-4.0.7-040007-generic_4.0.7-040007.201507031036_amd64.deb
どこかに落としてきたら,以下のコマンドでインストール.
sudo dpkg -i *.deb
後は再起動するとカーネルのバージョンが上がっています.
uname -a
で確認できます.
とりあえずこれで私は,ここ4ヶ月ほど,毎日1時間以上は使っているはずですが,このエラーに確か2回しか遭遇していません(※完全に消え去ったわけでは無いがまぁ無視出来るレベル)
問題点 2 「無線LANのデバイスドライバがおかしい」
無線LANのデバイスが lspci
コマンドによると
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
だそうなのですが,このRealtekというハードウェアメーカーは,Linuxでドライバ周りで困ることが多いのとその界隈では有名なようです.
実際,無線LANの接続が唐突にwpa supplicantがうんたらかんたら…というエラーメッセージが出て,IPアドレスは割り振られているのにアクセスポイントに接続出来なくなった…という謎現象(ちゃんと原因はあるんだろうけど)が発生してました.
この辺りもうちょっと色々調べてたはずなんですが忘れちゃいました(エラーメッセージのログとかの記録もどっかいった).
しかしこれも「自分で有志が作っている野良デバイスドライバを野良ビルドしてインストールする」という作業によって解消させることが出来ました.
@ggkuron氏の助言と以下の記事
rtl8192ce intermittent connection. / Kernel & Hardware / Arch Linux Forums
を参考にしました.
実際にやることは,以下の通りです.
git clone https://github.com/lwfinger/rtlwifi_new # まずソースをとってくる
cd rtlwifi_new
sudo apt-get -y install build-essential # makeコマンドその他諸々を使えるようにする
make # ビルドする
sudo make install # インストールする
勝手に既存のドライバのバックアップも取っておいてくれますので安心です.
これで少なくとも私はここ3ヶ月ほどは無線LANで困ったことは無いです.
こういうのどうやって調べるのか
まずは詳しい人を探して聞きましょう.
でもまぁえてして「うちのマシンでは大丈夫なんだけどな…」という身も蓋もない感じになるので,後は
tail -f /var/log/syslog
や
dmesg
などのコマンドを実行してログを見てみて,エラーっぽいメッセージを探してググってみたりします.その程度です.
私もまだまだ知らないコマンドも知らない事柄もたくさんあるので,目下勉強中です.
ということで,格安ノートPCでも,問題が少々発生したとしても,なんか意外とどうにか出来るんですよ,ということが少しでも伝わってくれればいいなと思います.
あと他の人もこういう知見をアウトプットしててくれたら,誰の助けになるか分からないですし,そもそも「困っているのだということすら気付いてなかった.そういう改善が出来るとはまったく思ってなかった.」のようなこともしばしばありますので,どんどんアウトプットして言ってドヤ顔しましょう.
検索用に色々書いておく(ニッチな記事だから少しでも見つかってもらえるように…)
HP Stream 11 Ubuntu 14.04 amd64 eMMC error 84 trasferring data timeout wlan realtek wpa_supplicant dmesg /var/log/syslog
本当はエラーメッセージを抜粋しておくのが一番いいんですけどね.残ってないので…