2016年1月16日土曜日

久しぶりに新しいPCを買った

VAIO-C1 VRX/K を15年以上使っている
Lubuntuを入れているが、メモリ不足からXは使い物にならない(動かないわけではないが)。
CUIでもいろいろできることがあるので、VRX/K自体が全く使えないわけではない。
しかし、Webコンテンツはどんどんリッチになっており、NHK世界猫歩きのページですらJavaScriptが必須だ。w3mでは番組チェックすらできないので、そういう場合は、スマホを使っている。


はっきり言ってスマホのほうが、処理速度もメモリ量も上だ。しかし画面が小さい。老眼の目では使いにくい。
もう少し画面の広いタブレットを買ってこようかと考えた。数年前のタブレットでも十分にC1-VRX/Kよりは良いだろう。
新品である必要はない。XPERIA-Z1を使っているが、その頃のもので十分だ。
Z2-Tabletなら、磁石の充電コネクタも使いまわせるだろう。

その辺の中古を見に、大宮のソフマップへ行った。
以前、Z2-Tabletを見かけていたのが、もうなくなっていた。
店頭デモだが、少しだけ触ったことがある。いい感じだった。人気があるのかもしれない。
発見した時に買っておけば良かった。

PCを買うつもりは無かった。USキーボードの中古なんて、ほぼ無いためだ。
C1-VRX/Kをしつこく使い続けているのは、USキーボードに換装しているためだ。新品でもUSキーボードのモデルは少なく、ましてや「欲しい」と感じられるものはなかなか見つからない。その結果15年の年月が流れていた(忙しすぎたというのもある)。

お店の中を色々物色しているうちに、「OSなし、USキーボート、海外モデル」と書かれたPCがあった。
HPのロゴマークがある。"Folio 13 2000"と書かれており、ネットで探すと国内では販売されていないHPのモデルのようだ。
CPU=Corei5@1.6GHz, DDR3-1600=4GB, SSD=128GB となかなかの性能。
薄型のわりに、有線LANのコネクタもある。SDXCスロット付き。WiFiも内蔵。光学ドライブは残念ながら無い。
そして何より、安かった。OSなし、海外モデルという事で、31,200円(税抜き)。
XPERIAやiPhoneが7万円することを考えると、PCとは思えない安さだ。
どうせOSは、Ubuntuを使う。そして、USキーボードこそ、私が欲しかったものだ。

これは出物だ。XERIAが買えずにガックリ来ていたので、即購入を決断。
持って帰ってきて、早速USB-Ubuntuを動かしてみた。完璧に動く。
SSDの中身を全部調べたが、先頭部分にShift_JISで以下のような文字列が入っているだけで、以降すべてnull。
******************************************************************************
結果 : データ消去はエラーなしで終了しました。
******************************************************************************
消去ディスク                                                    エラー数
 SATA DISK1 :  128035MB (SAMSUNG MZMPA128HMFU-000H1         ) -        0
                        (S/N S0TENEAC335532      )

消去パターン - [00          ]   1回書:00     読出チェック - [なし        ]
ログ記録 - [消去HD          ]   目視[有]   名前 - [                    ]
機種名[HP Folio 13 - 2000 Notebook PC ]S/N[CND22616KK         ]メモリ[4.0 ]GB
CPU[Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz                             ]
開始時間 - [2015/11/23 17:19:16]    終了時間 - [2015/11/23 17:33:27]
******************************************************************************
CLEAR-DA CD Pro Version 3.50Sb (C)Hitachi KE Systems,Ltd.2001-2015
******************************************************************************
^ZQRA,CD,3.50Sb,SATA1,128035,SAMSUNG MZMPA128HMFU-000H1              ,S0TENEAC335532      ,OK,0,00,NO,,HP Folio 13 - 2000 Notebook PC,CND22616KK,Intel(R) Core(TM) i5-2467M CPU @ 1.60GHz,4.0 ,2015/11/23 17:19:16,2015/11/23 17:33:27,,,,""^Z
中古を販売するときに、丁寧に消しておくようだ。
すこし安心した。
内蔵SSDへUbuntuをinstallして使い始めた。

このBlogもFolioで書いている。
起動も早いし、動作も安定している。いい買い物ができた。
また10年以上使うことになりそうだ。

2016年1月1日金曜日

Ubuntu12.04 で WDC-433DU2H

2021/01/29 追記
https://github.com/morrownr/8821auのドライバがいい。
Ubuntu forumsで紹介されており、他のRealtekのドライバもある。
詳しくはこの記事を参照。
2019/06/27 追記
abperiasamy/rtl8812AU_8821AU_linuxのドライバがいい。
こまめにメンテされており、新しいカーネルに追従している。
数年前から、改造しなくてもWDC-433DU2Hに対応している。
使っていると時々調子が悪くなることもあるけど、色々試してこれが一番良さそう。

最近、このページを見る人が何故か増えている。
このページの最後で、追記として上記 abperiasamy/rtl8812AU_8821AU_linux のことを書いていたが、多くの人が最後まで読まないかもしれないので、先頭にも書いた。

これはRealtekのチップであるが、別の会社、MediaTekのUSB Wi-Fi用ドライバが、Linux 4.19でメインに取り込まれた(去年の秋頃だったかな)。
残念なことにUbuntu 18.04(BionicBeaver)のカーネルのバージョンは、HWEでも4.18だが、8月には5.0.0(19.04 DiscoDingoのカーネル)になる予定だ。
私はDiscoに乗り換えずに、BionicのHWEカーネルが5.0.0になるのを待つつもりだが、Discoを使っている人は、MediaTekのやつを使ったほうがいい。
あるいは、若者は迷わずDiscoへGo!

以下は、2016年1月1日に書いた古い情報。
IEEE802.11ac を使いたかったので、近所でELECOM WDC-433DU2H を買ってきた。
比較的安く、立派なアンテナが付いているので、気に入って買ってきたが、Ubuntu12.04での11acのサポートは良くない。
こういう時のために、LTS Enablement Stakを使っていたのだが、それでもダメだ。
PCIeのドライバはあるがUSB用は見当たらない。
使用されているチップはRTL8811AUということで、ネット上からそれらのドライバを入手してみたがうまく行かなかった。

Windows用のドライバをLinux上で使う技があったことを思い出し、それを行うことにした。
ndiswrapperというらしい。apt-getで適当にinstallを試みるが、途中でエラーになってしまう。
何度やり直しても、うまく行かない。
モジュールをビルドしようとしてうまく行かないらしい。
ネット上で Ubuntu12.04 の ndiswrapper について調べてみると、パッチが見つかったが、それを当ててもだめ。
パッチや前後の記事から、kernelのディレクトリ構造が変化したための問題のようだ。
ndiswrapper-dkmsのソースコードを直接コンパイルしようとすると、構造体__devexitの定義が無いためにエラーになっていることがわかった。
kernelやheader内のコードを探してみても、定義はない。
自分はLTS Enablement Stackを使っている。記事ではSausyだが、自分はTrustyを使っている。もっとずれているはずだ。
ndiswrapperはカーネルモジュールなので、当然カーネルに強く依存している。
LTS Enablement Stackを使ってカーネルだけを更新してしまったために、Ubuntu12.04用のndiswrapperが使えなくなったのだ。

そこまでわかった。ではどうする?
ndiswrapperを使うために、kernelをDowngradeするか? ndiswrapperを何とかするか?

Ubuntu12.04 LTS Enablement Stack最新カーネルは 3.13系、Trustyのものだ。
Trustyのndiswrapperならつかえるかも。と思って調べる。
ここを見ると、依存は dkms (>= 2.1.0.0) だけだ。

Ubuntu12.04のdkmsを見ると、
$ dpkg -l dkms
要望=(U)不明/(I)インストール/(R)削除/(P)完全削除/(H)維持
| 状態=(N)無/(I)インストール済/(C)設定/(U)展開/(F)設定失敗/(H)半インストール/(W)トリガ待ち/(T)トリガ保留
|/ エラー?=(空欄)無/(R)要再インストール (状態,エラーの大文字=異常)
||/ 名前         バージョ�� 説明
+++-==============-==============-============================================
ii  dkms           2.2.0.3-1ubunt Dynamic Kernel Module Support Framework
問題なし。

バイナリパッケージが入手できればそれだけでいいのかもしれないが、Trusty用をPreciseで使うので変な問題があるかもしれない。
ソースパッケージを入手して、Precise上でバイナリパッケージをビルドした。
dpkg-source -x ndiswrapper_1.59-2.dsc

dpkg-buildpackage -uc -us 

  (面倒なので詳細は省略。)
出来上がったバイナリパッケージ ndiswrapper-common_1.59-2_all.deb ndiswrapper-source_1.59-2_all.deb ndiswrapper-dkms_1.59-2_all.deb ndiswrapper-utils-1.9_1.59-2_i386.deb を全部まとめてインストールした。

インストール時に、ndiswrapperモジュールのビルドも行われる。
エラーにならずに成功した。

成功したのはいいが、どうやって使うんだろう?
起動は?
Classic Gnome だと、アプリケーション、システムツール、システム管理、Windows用無線LANドライバで、GUIアプリを動作させる。
ndiswrapperを使うには、Winodws用ドライバも入手しなければならない。
ELECOMのここから入手できる。
WDC-433DU2HBK_Windows_20140120.zip をunzipしてみると、いろいろなドライバが入っている。
一言でWindowsと言っても様々だ。

$ find ./ -iname "*.inf"
./WDC-433DU2HBK Windows 20140120/IM/WINXP/64/TWOPORT/XPTWOPORT.INF
./WDC-433DU2HBK Windows 20140120/IM/WINXP/64/TWOPORT/XPTWOPORT_MP.INF
./WDC-433DU2HBK Windows 20140120/IM/WINXP/32/TWOPORT/XPTWOPORT.INF
./WDC-433DU2HBK Windows 20140120/IM/WINXP/32/TWOPORT/XPTWOPORT_MP.INF
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win81X64/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/WinX64/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win7X86/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win8X86/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/VistaX64/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win8X64/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win81X86/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/Win7X64/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/WinXP/netrtwlanu.inf
./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/VistaX86/netrtwlanu.inf

32bit Ubuntuなので、WinXP用なら問題ないだろうと思って、./WDC-433DU2HBK Windows 20140120/RTWLANU_Driver/WinXP/netrtwlanu.infを使った。

Windows用無線LANドライバの画面で、「新しいドライバのインストール」ボタンを押して、そのファイルを選択する。
しばらく待つと、インストールが終わる。
その後、WDC-433DU2Hを接続すると、認識され動き始めた。

以降の操作は、普通。
network-appletでパスワード等を設定すれば、11acが使える。
2016/1/17 追記。
遅くて、使い物にならない。数十KB/sしか出ない。
11acの特徴の一つは、速度だ。つながれば良いという訳ではない。
また時々切れてしまう。

USB-Linuxでは、H/W依存度を下げるためにそのまま使うが、普通の目的では使えない。
C1-VRX/Kは、非PAEカーネルなので、3.2.xまでしか上げられず、今のところ他に選択肢がない。


2016/03/18 追記。
3.13系ならabperiasamy/rtl8812AU_8821AU_linuxのドライバが使える。
これはネイティブのLinuxドライバなので、ndis-wrapperは要らない。
ndis-wrapperからWDC-433DU2Hを削除して、このドライバを使ったほうがいい。
結局VAIOも3.13系に移行したので、VAIOでもネイティブドライバを使うようになった。