2012年9月24日月曜日

無線LANでハマったです

5月頃だったですか.... 出先のいつもの席に座って、Debian GNU/Linux(6.0.5 squeeze amd64)をインストールしたSDHCカードを外出専用機Gateway EC19C-N52C/Sのカードスロットに突っ込んで電源オン、Debianがサクッと起動してログインすると、ふつうに無線LAN接続して使えたですが、nm-appletのアンテナが2本しか立ってない.... 切断・接続を繰り返しても、再起動させても、アンテナは2本しか立たない。おかしい、数日前はこんなではなかったはずだけど.... すぐそこに無線APがあるのに.... と思ったものの、とりあえず気にしないことにしたです。
その1週間後くらいに、無線APの担当者に直接会う機会があったので、最近無線APの設定を変更したのかと聞いてみたところ、「どうも電波干渉が起きているようなので、チャンネルを変更し、電波出力も調整した」との事。そして、手持ちのWindowsパソコンを起動して無線接続し、inSSIDerの表示を見せてくれたです。自分も、近くにあるMacBook Proを起動させて、Mac OS XとBootCampのWindowsで無線接続してみたですが、どちらも電波状態は良好だったです。
ということは、自分が使っているパソコン本体か、そのパソコン上で動かしているDebianに問題がある? いやっそんなはずはっ、とか思って調査を開始。Debianを終了させてWindoows 7を起動、無線接続して電波状態が良好であることを確認した上でコレを使ってみたり、MacBook Proでコレをやったりしたところ、指定席(?)直近の無線APは12chになっていることがわかったです。この無線APに接続したいぞと、Debianの設定を(よく調べもせず)連日弄くり続けたところ、なんとなく環境がおかしくなってきたような気がしてきたので、自宅で実験機のGateway EC19C-N52C/Sを使って、SDHCカードにDebianを再インストールしたですが.... 動作がモッサリ.... 以前と同じように「小型のCD」でインストールして、Xfce4とSlimを追加したですが、ブートメッセージの表示が終わってログインマネージャが起動するまで、真っ暗の画面のまま30秒くらい待たされる、ウインドウの起動が遅い、キー入力に表示が追いつかないことがある、ウインドウを残したままシャットダウンさせると、ウインドウの跡形を残したまま30秒くらい固まる、という状態になってしまったです。Xorg -configureを実行して/etc/X11/xorg.confを作成したり、/var/logの下にあるログや~/.xsession-errorsを確認したですが、今もまだ全然解決できてないです。
とにかくもう、まず無線接続の問題を解決! ということで、8月に入って(^^; とりあえずDebianを使うのを諦めることにして、カーネル3.2のCrunchBang Linux(Statler 20120207 64-bit Stable+Backports)に変更したです。ちなみに、DebianをインストールしていたSDHCカードにCrunchBangをインストールしたですが、比較的サクサク動いた(ブート直後だけ少しひっかかる感じがする)ので、Debianが遅くなったのはSDHCカードのせいではないような気がしてるです。


OpenboxをアンインストールしてXfce4をインストール、日本語化したCrunchBang(壁紙も変更)。EC19C-N52Cの無線LANコントローラは、Broadcom BCM43225。firmware-brcm80211のインストールは必要だったが、他にBroadcom用のパッケージはインストールせずに、Netwoork Managerで無線接続はサクッと成功。しかし、12chの無線APには繋がらず、離れた5chの無線APに繋がる。

うーむ。なぜ12chの無線APに繋がらないのか、ヒントが欲しくてネットで検索、コレとかコレとかコレとかを見て、
 2.4GHz帯の12ch以上は使えない状態がデフォルトだったりする
 モジュールcfg80211のオプションに、適切なRegulatory domainを指定すれば、12ch以降を有効にすることができる
 Regulatory domainは、日本の場合はフツーJPだが、Broadcomの無線LANコントローラの場合(?)はX2にすると良い
ということみたい、と解釈したです。
そういや、/var/log/kern.logに
cfg80211: Calling CRDA for country: US
とか出てたな.... では、ということで、sudoでrootになって、

echo 'options cfg80211 ieee80211_regdom=JP' > /etc/modprobe.d/cfg80211.conf

を実行することで、cfg80211にRegulatory domainとしてJPを渡すように設定して再起動、ログインして無線接続。


繋がらん。Regulatory domainをJPからX2に変えて再起動しても、12chの無線APに繋がらん。





うー。試しに、

aptitude -y install linux-headers-3.2.0-0.bpo.3-all-amd64
aptitude -y install broadcom-sta-common broadcom-sta-source
cd /usr/src
bzcat broadcom-sta.tar.bz2 | tar xvf -
cd module/broadcom-sta/amd64
make

とやってみたですが、カーネル3.2のCrunchBangではエラーが出てmakeできなかったです。


ダメっすか....






 

ヤレヤレ... キーワードを変えてさらにネットで検索した結果、コレを見つけたです。書き換えるのは1行だけの割には面倒なのですが、やってみることにしたです。
次のような手順でコマンドを叩いてやったですが、ちゃんと理解した上でやっているわけではないので、おかしな部分や無駄な部分があるかもです。まずは、パッチを適用せずに、単にコンパイルとインストールをやってみたです。

aptitude -y install linux-source-3.2 iw
cd /usr/src
bzcat linux-source-3.2.tar.bz2 | tar xvf -
cd linux-source-3.2
/lib/module下のディレクトリ名に合わせて、Makefileの先頭を変更。今回は、
----
VERSION = 3
PATCHLEVEL = 2
SUBLEVEL = 23
EXTRAVERSION =
----

----
VERSION = 3
PATCHLEVEL = 2
SUBLEVEL = 0
EXTRAVERSION = -0.bpo.3-amd64
----
に変更。これをやっておかないと、/lib/module/3.2.23ディレクトリ下にモジュールがインストールされてしまい、modprobeで組み込んでくれない。
make distclean
make oldconfig
cp /usr/src/linux-headers-3.2.0-0.bpo.3-amd64/Module.symvers .
make prepare
make modules_prepare
make M=drivers/net/wireless/brcm80211/brcmsmac/ clean
make M=drivers/net/wireless/brcm80211/brcmsmac/ modules
make M=drivers/net/wireless/brcm80211/brcmsmac/ modules_install
modprobe -rfv brcmsmac
depmod -av
modprobe -v   brcmsmac
update-initramfs -u

新しいbrcmsmac.koは、/lib/module/3.2.0-0.bpo.3-amd64/extraディレクトリ下に作成されたです。


パッチを適用していないので、インストール前のbrcmsmac.koと基本的に変わらないはずなので、Regulatory domainを指定してもしなくても、やっぱり12chの無線APには繋がらない。

一旦接続を切って、iw reg set JP とコマンドを実行して再度接続しても、12chの無線APには繋がらない。





では、パッチを適用(と言っても1行だけなのでソースを手修正)するです。

cd drivers/net/wireless/brcm80211/brcmsmac/
channel.cを修正。今回は449行目の
LOCALE_RESTRICTED_SET_2G_SHORT,

LOCALE_RESTRICTED_NONE,
に変更。
cd /usr/src/linux-source-3.2
brcmsmacのmakeをやり直してインストール


おぉっ。Regulatory domainを指定してもしなくても、12chの無線APに繋がった。





んー。接続できたのは良いけど、なんだか力技っぽい気がするです....

2012年1月9日月曜日

Windows Anytime Upgrade、なのです

昨年やり残したことがいくつか(も)あるです。
まずは、簡単なものから。実験機Gateway EC19C-N52CのWindows 7 Home PremiumをProfessionalにアップグレードするです。

Windows 7 Anytime Upgrade パック(Home PremiumからProfessional)のパッケージ。購入は昨年前半。半年以上、放置してたです....




パッケージの裏側。ちなみに、32bit用とか64bit用とかいった区別はないです。





プラケースの中は紙だけ。プロダクトキーとかアップグレード手順の説明とか。






無線接続のまま、いちおう手順書に従って作業したですが、ホントに10分程度でHome Premium 64bitからProfessional 64bitにアップグレード完了したです。



XP Modeですか.... このとおり。初めて起動した際、かなりもっさりした動作に驚いたですが、どうもその原因の半分位は、XPがWindows UpdateでパッチをDLしてたからみたいなのでした。
パッチ適用後は、想像していたよりは軽く動いたですが、CPUコアは1つしか使われないし、デフォルトのメモリ割り当ては512MBパフォーマンスに過度な期待はせずに、この機能の本来の目的どおりにVista以降のOSでは動かなかったアプリを使うだけとか、ちょっと仮想環境を試してみるだとか割り切って使えば良いんでないの?とか思うです。

....んで、アップグレードして何をしようと考えてたんだっけ....

今年中に次期Windo
wsがリリースされるのは確実ですよね....

2011年12月18日日曜日

PATA-SATA変換基板を試したです

HDD、高いですね.... 2TBの内蔵用3.5インチHDDが1台欲しいのですが、やや値下がり傾向とはいえ、3ヶ月ちょっと前の約2倍の価格では、個人的には正直なところ購入意欲は湧かないです。
HDDと言えば、押入れにPATAの2.5インチHDDとSSDが合わせて6台ほど眠っているはず、これどうしよう、とかふと思ったのでした。
PATAのHDDを接続できるパソコンはもう持ってないので、USB接続の対応HDDケースに入れて外付HDDとするのが一般的なのでしょうけど、それでは楽しくないので、PATA-SATA変換基板を購入、PATAのHDDをSATAのHDDとしてシステムディスクに使えるのか、試してみたです。

今回購入した2.5インチHDD用PATA-SATA変換基板のPATAインタフェイス側。ピンを挿し込む穴が全て開いているので、どちら向きにHDDを接続するんだ?と少し焦ったですが、




反対側のSATA
インタフェイス側から、PATAコネクタのハンダ付け部分を見れば一目瞭然なのでした。ま、基板の幅内に2.5インチHDDがすっぽり収まる向きが正解ってことですけど。



PATAの2.5インチSSD(
Transcend TS64GSSD25-M、64GB、7mm厚)に取り付けてみたです。基板の高さは実測で14mm。奥行きも増えてるわけで、ほとんどのノートパソコンは内蔵するのは無理があると思うです。



実験機のGateway EC19C-N52Cに取り付けてみたです。こんなことすると、パソコンが痛んでしまいそうです。





ビニールテープでも使って補強した方が良いと思うですが、とりあえず脱落しないよう設置してみたです。






PATAのSSDはマスター設定、BIOS側の設定はAHCIモードではなくIDEモードでないと、BIOSはSSDを正しく認識しなかったです。
まず、Parted MagicのライブCDからブート、Secure Eraseを実行して、いちおうNTFSでフォーマットしたです。そして、Windows 8 Developer Preview x64をインストール....

って、ディスクが見えーん!








Shift+F10でコマンドプロンプトを出して、diskpartを実行。Statusが「No Media」、Sizeが「0B」って.... Typeが「Removable」なのも変だと思うが....
念のため試したWindows 8 Developer Preview x86でも同じだし、EC19CのリカバリDVDでもディスクが無いのでリカバリできんとダイアログが出るです。先の
diskpartの実行結果を考えると当然の結果か.... Windowsのインストールは諦めるです。よくわからんが、もしかして別途ドライバが要るのか?

搭載チップを調べてみるです。シールがしつこい.... メーカー不明のバルク品だし、保障は気にせず剥がして確認するですっ。(^^;





刻印が薄くて確認しづらかったですが、JMicronのJM20330でした。このチップを採用した変換基板は、調べてみた限りではドライバ不要な物しか見つからない....



CrunchBang Linux 10 R20111125 amd64は、問題なくインストールできて、ちゃんと使えたです。

ちょっとだけ残念なのれす....

2011年12月4日日曜日

Androidタブレット、なのです

周りを見渡すと、なんだかiPhoneやAndroidスマホだらけになっていることに気付いたのは5月頃。iPadも大人気みたいだし。そんなに良いのか? それなら1台買ってみるか、と思ったです。ただ、周囲と同じものを買うのはなんだか面白くないし、高価だし、ガラケーで不満はないし、ということで、いわゆる7インチタブレットを買ってみることにしたです。条件は、
  タッチパネルは感圧式ではない
  Androidのバージョンは 2.2以降
  メモリは 512MB以上搭載
  ストレージは 4GB以上搭載
  micro SDスロットがある
  できれば、CPUコアは Cortex-A9
  重量は 400g未満
  あまりチープな外観ではないこと
  予算は2万円まで
といったもので、探して購入したのがコレ。

LonPad A97。価格は購入当時は2万弱だったが、今はもっと安いはず。







わざわざ赤を選
んだ。







付属品は充電用ACアダプタだけ。








外部インタフェイス。








電源投入直後の画面。








この画面の後、Androidの起動画面になる。







日本語表示は、もちろん可能。OSは、Android 2.2.1。カメラ?GPS?ありませんです。






半年ほど使ってみたですが、タッチスクリーンの反応がイマイチに思え、どうしてもこれで文字入力をする気になれないので、あまり使わなくなっちゃってるのでした。

2011年9月18日日曜日

外出専用機のHDDをSSDに換装するです

この約2ヶ月間、外出専用機のGateway EC19C-N52C/SではずっとDebian GNU/Linux(squeeze AMD64)を使ってきたですが、全く何も不満は無かったです。少なくとも外出専用機では、メーカー製OS用にしか用意されていないアプリを使う必要に迫られることは一切無く、「SDHCカードから起動するDebianで何も問題は無い。xfceを採用したこともあって、個人的には非常に使い易い。もう、WindowsをインストールされているHDDを取り外して、外出専用機を軽量化するなんてことを考えても良いのでは」という気分になっていたです。
...なのに... 「HDDは衝撃に弱いので、持ち歩くモバイルノートはSSDにしたいです。SSDに換装して、これにWindows 7をインストールするですぅ」とか突然思って、ポチったのがコレ。

HANA Micron Forte K2 64GB HMSM064G-20のバルク品。コントローラはIndilinxのBarefoot。金属製の筐体で安っぽさは感じられない。





換装は簡単。3本のネジでHDDに取り付けられているマウント用金具を外してSSDに取り付け、このSSDをパソコン本体に取り付ける。





CrystalDiskInfoの結果。Trimに対応している。








OSクリーンインストール直後の
CrystalDsikMarkの結果。BIOSでSATA ModeはAHCIになってるです。







いちおう、Windowsエクスペリエンスインデックスのスコア。







この後、Dataram RAMDiskを設定。メモリを4GB(2GB×2)にした際に、ページングファイル無しに設定していたですが、今回、ユーザ環境変数TEMP/TMP、システム環境変数TEMP/TMP、IEの「インターネット一時ファイル」の場所を RAMDisk上に用意したフォルダに変更したです。
外出専用機では、標準のブラウザをGoogle Chromeにしてるですが、キャッシュの置き場所は、起動時に --disk-cache-dir="フォルダ名" で指定すれば良いらしい。RAMDisk上にフォルダを用意した上で、デスクトップにあるGoogle Chromeのショートカットにこのパラメタを追加すれば簡単。
ちなみに、Mozilla Firefoxの場合は、わざわざキャッシュ用フォルダを用意したり指定したりしなくてもメモリにキャッシュを置けるらしくて、
  アドレスバーにabout:configと入力してEnter
  browser.cache.disk.enableの値をfalseに変更
  browser.cache.memory.enableの値をtrueに変更
  browser.cache.memory.capacity(もし無ければ作る)の値を-1(物理メモリサイズに合わせて自動的に値を設定)に変更
で良いらしい。これは結構効果的のようで、Firefoxをインストールして使っているSONY VAIO Z(VPCZ11AHJ)で試したですが、確かに速くなったです。

SSDに換装したものの、Windows 7はほとんど起動することなく、Debianばかり使ってたです。今月、Debianにカーネルアップデートがあったようで(情けないことにaptitude -y upgradeを実行して放置していたので気付かなかった)、initrdが再構築され、/boot/grub/grub.cfgも更新されたです。このアップデートの実行中、Windows 7がインストールされたSSDはもちろん外出専用機に搭載したままだったので、意図せず自動的にデュアルブート設定されちゃったのでした。(^^;

2011年8月26日金曜日

RAMディスクを試してみるです

実験機のGateway EC19C-N52C/Sにはメモリを8GB載っけてるですが、今のところ余裕あり過ぎ。先日、SSDをポチってしまったこともあって、RAMディスクを試してみることにしたです。以前、東芝dynabook SS 1610(Windows XP Pro 32bit)のHDDをTranscend TS32GSSD25-Mに換装して持ち歩いていた頃もRAMディスクを使ってたです(ソフトの名称は失念したです)。メモリは768MBしか積んでなかったですが。
さて、64bit版Windows 7をサポートしてて、誰でも入手可能で、1GBを超える領域を作成可能で、インストールや設定があまり面倒ではないRAMディスクソフトを調べたですが、この4つを満たすものはどうもあまりないっぽい。大容量メモリを扱える64bit版Windowsを採用したパソコンが多くなり、HDDと違って書き換え回数に限界があるSSDを搭載したモバイルノートが増え、今はメモリが驚くほど安いので、RAMディスク利用者はますます増えそうな気がするです。

RAMディスクを使ってみる前に、Piriform Speccyでメモリを確認。Core i5 430UMの対応メモリチップはDDR3-800、デュアルチャネルアクセスなので帯域は12.8GB/sのはず。ふと、芳しくなかったWindows エクスペリエンス インデックスのメモリのスコアが頭をよぎるです。


で、試したのは、「BUFFALO RAMDISK ユーティリティー Ver.3.0.0.0」と「Dataram RAMDisk V3.5.130R18」。1100MB程のRAMディスクを作成して、定番のCrystalDiskMark 3.0.1bで速度を計測、テストデータはデフォルト(ランダム)、データサイズは1000MB、計測回数は5回。なお、OSはWindows 7 Home Premium SP1 64bit。
まずは、BUFFALOから。

1120MBのRAMディスクを作成。ドライブレターを指定可能だけど、フォーマットを指定するところは無い。






FAT32でフォーマットされた。










  BUFFALOの計測結果。










次に「BUFFALO RAMDISK ユーティリティー」をアンインストールして、今度は「Dataram RAMDisk」をインストール。

BUFFALOと同じ容量でFAT32を指定。こちらは、ドライブレターを指定するところが無い。が、ドライブレターを決めたり、FAT32ではなくUnformattedを指定しておいてNTFSでフォーマットするってのは、Windowsの「ディスクの管理」で可能、らしい。
RAMディスクを作成後、"Save Disk Image Now"をクリックしてイメージをHDDに保存、このイメージをブート時にメモリに置くよう"Load Disk Image at Startup"にチェックを入れる。



FAT32で作成されている。ディスクラベルは無い。









  Dataramの計測結果。










実験機では、Dataramの方が速かった。これを使って、RAMディスクをブラウザのキャッシュなど一時ファイル置き場にするです。

2011年7月31日日曜日

Debianを使ってみたです

すっかり気に入ったCrunchBang Linuxのご先祖はDebian GNU/Linuxということで、Debian 6.0.2(squeeze amd64)を使ってみたです。
Debianのホームページから「小型のCD」版をダウンロード、CD-RWに焼いて、これを実験機Gateway EC19C-N52C/Sでブート、Localeは英語にして
4GBのSDHCカードにインストールしたです。
インストール後、rootで

wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -

とコマンド叩いて、/etc/apt/source.listを下記のように編集

---- ここから ----
# deb http://ftp.jp.debian.org/debian/ squeeze main

deb http://ftp.jp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# squeeze-updates, previously known as 'volatile'
deb http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ squeeze-updates main contrib non-free

deb http://dl.google.com/linux/deb/ stable main non-free
---- ここまで ----

して、

xorg xfce4 xfce4-goodies slim ttf-vlgothic scim scim-anthy google-chrome-stable conky network-manager-gnome firmware-brcm80211 wireless-tools
(2011/08/27 追記) ~/.xsession-errorsがメッセージで膨れていくので、gtk2-engines-pixbufを追加したです。

といったパッケージをインストール、最後に

dpkg-reconfigure locales

で言語を ja_JP.UTF-8に変更してreboot。
この後、無線LANの設定をして、これでOKかと思ったのですが... ハマりました... いや、こうでないと個人的には楽しくないんだけど、えらく時間を費やしてしまったです。

まず、「ログインの度に無線LANの暗号化キーを入力するようダイアログが表示される」ということです。我が家の無線LANはWPA2-PSK(AES)ですが、ログインする度にNetworkManager(nm-applet)がパスワード(暗号化キー)の入力ボックスを空にしてパスワードを訊いてくるです。CrunchBang Linuxは訊いてこなかったですが... ネットで調べたところ、どうも
  ESSIDや暗号化キーは ~/.gnome2/keyringsディレクトリ下に保存されているらしい
  Localeの設定のせいかもしれない
ということっぽいです。で、~/.gnome2/keyrings下を見て見ると
  default
  デフォルト.keyring
という2つのファイルがあって、defaultというファイルの中は「デフォルト」と書かれていたです。「これって、Localeをen_US.UTF-8とかに設定してれば、当然英語だよねぇ」とか思って、

echo -n 'default' > default
mv デフォルト.keyring default.keyring

とコマンド叩いてreboot。これで、nm-appletが暗号化キーを忘れてしまう現象は発生しなくなったです。
次に、「ログインの度に"キーリングのロック解除"ダイアログが表示される」ということです。この現象もCrunchBnag Linuxでは発生してなかったです。CrunchBang LinuxのログインマネージャはGDMでしたが、今回DebianではSLiMを採用したです。今思うと、これがハマった最大の原因なのかも? GDMはPAMを使ってgnome-keyringに認証情報を渡してロック解除しているようですが、SLiMはそうなっていないみたいです。SLiMでPAMを使うにはlibpam-gnome-keyringが要るんじゃなかろうかと思って、dpkgコマンドを叩いて確認するとインストール済みだったので、rootで

aptitude install gdm
cd /etc/pam.d
cp gdm slim
aptitude purge gdm
cd ~ログインユーザ名
rm -rf .gnome2

とコマンドを叩いてreboot、無線LAN設定をやり直して、も一度reboot。これで、
"キーリングのロック解除"ダイアログは表示されなくなったです。~/.gnome2/keyrings下は、
  login.keyring
  user.keystore
という2つのファイルができていたです。
最後に、「/var/log/kern.log他に"Short CCK"というメッセージが大量に出力される」という現象です。特に、EAP-TTLSな無線APに接続中には、1秒間に100行以上出力されたです。CrunchBang Linuxでも少量でしたが出力されてたです。どうもbrcm80211が原因っぽいので、Broadcomのページからドライバをダウンロードして展開して、rootで
aptitude -y install make gcc linux-headers-2.6.32-5-amd64
make
make install
echo blacklist brcm80211 >> /etc/modprobe.d/blacklist.conf
update-initramfs -u
modprobe -r brcm80211
depmod
modprobe wl
reboot

とコマンドを叩くと、
ログファイルに"Short CCK"は出力されなくなったです。また、EC19C-N52Cの無線LANアクセスLEDも点灯するようになったです。
Debianは、メジャーなディストロで情報もたくさんあって、これは良さそう、とか思ったです。