9月 282010
 

前回のエントリーで ThinkPad X100e 買いました−。っての書きました。でもって Windows7 x64 と FreeBSD/amd64 8.1-STABLE が動いているわけですが、今回は FreeBSD での動作についてちょっとまとめてみたいと思います。

1. サスペンド・レジューム動きません。
acpiconf -s3 で寝ることはできます。パワー LED もちゃんとブリンクするので「お。寝たか?」とか思うのですが、電源投入するとそこでフリーズします。 s5 も動きません。
FreeBSD の サスペンド・レジューム は SMP カーネルの場合、コードがスパっと抜け落ちているそうなので絶対に動作しないのでありますね。はい。ただ、シングル CPU カーネルの場合は動作するのかなぁ?試していませんし、試そうとも思いませんが・・。

2010/10/19 加筆
サスペンド・レジュームについては「ThinkPad X100e を FreeBSD で Suspend/Resume。」を参照してください。


2. 無線 LAN if_iwn は動作しません。
ThinkPad X100e は AMD のアーキテクチャなのに無線 LAN 周りは Intel のセントリーノ技術を使ってイいるんですね。利用しているチップは if_iwn 対応で Intel(R) PRO/Wireless 6250 と、言うヤツです。これと USB 接続の WiMAX 対応チップがセットになったヤツらしいのですが、以下のメッセージが出力され動作しません。

iwn0: iwn5000_send_calibration: could not send calibration result, error 22
iwn0: iwn_init_locked: could not initialize hardware, error 22

 
if_iwn.c のソースコードをチロっと眺めたところ、本来であれば iwn6250 版台(ファームウェア的には 6050 かなぁ?)なのに if_iwn.c のコード的には iwn5000 のファームウェアで動いているっぽいのでその辺りが影響しているのかもしれません。

なお、Intel(R) PRO/Wireless 625 は 802.11n に対応しているので 300Mbps 出る(論理値)のですが、ドライバ側では 802.11a/b/g にしか対応してないので 54Mbps しか速度が出ません。コード的には #if 0 って部分ですが、更に必要な define が無いのでどうしようもない状態・・。

3.サウンドチップは特殊でした。
NotePC 的にはスピーカがついているのにそこから音は出ない。けど、イヤホンジャックにヘッドホンを接続すると音が出ている。あれあれあれ?って感じですが、cat /dev/sndstat してみるとデバイスが二つ認識しているようです。

$ cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: <HDA Conexant CX20582 (Pebble) PCM #0 Analog> (play/rec)
pcm1: <HDA Conexant CX20582 (Pebble) PCM #1 Analog> (play/rec) default

 
なんとっ!! pcm1 がスピーカ側のデバイスで、pcm0 がヘッドホン側のデバイスです。普段は sysctl -w hw.snd.default_unit=1 しておいて、ヘッドホンで聞く時は hw.snd.default_unit=0 する必要があります。

これは KDE-4.5.1 の Kmix (サウンドミキサーアプリ)のキャプチャですが、それぞれのデバイスのためにボリューム(「OSS Audio Mixier」ってヤツのタブ)が二つあります。ヘッドホン用とスピーカー用ですね。いやぁ。ちょっと驚き。最近の NotePC ってみんなこうなのかな?

thinkpadx100e2_1.png

mplayer とか立ち上げて映画とか見ていた場合、最初はスピーカーで聞いていたけど、ヘッドホンにしたい場合は sysctl -w hw.snd.default_unit=0 とか打つ必要があります。てもって音の出力先が変わったので mplayer は再起動し直しとなります。ふむー。

4. Fn+F?? キー使えません。
Fn+ テンキーって、ベンダ向けに用意されている acpi_*.ko をロードすれば Fn+ テンキー が利用できると思っていたのだけど、acpi_ibm.ko をkldload してもキーがマッピングされないので、音のボリューム・無線 LAN のオン/オフ・ディスプレーの明るさが変更できません。orz。 僕が最近の NotePC を知らないだけなのかも。技を知っている方、教えてください。

無線 LAN はそもそも利用しないのでずっとオフでも良いかも;-|。まぁ、仮に動作するようになったとしたら kldload/kldunload if_iwn.ko すればいーや。とか思っているんですが;-)。
音の大きさはミキサーアプリで調整するのでこれまたなんとかなりそう。
ディスプレーの明るさは acpi_video.ko を kldload すると sysctl MIB として hw.acpi.video.lcd0.brightness と言うのが生えてくるのでそこで明るさを指定します。以下のようなスクリプトを書けば良いかなー。って感じなのでありますが・・。

#!/bin/sh
sudo sysctl -w hw.acpi.video.lcd0.brightness=$1

 

多少使い込んで気がついたのはこんな感じでしょうか。まぁ、多分、標準的な「NotePC にインストールした FreeBSD の動作。」だと、僕は思っているのですけどねぇ;-P。

if_iwn は当分更新される予定は無いみたいなので半分あきらめです。最近は Windows7+IE9 も中々良いと思えるのでどうしても無線 LAN が必要な場合は Windows7 利用するかも;-P。まぁ、その前に iPhone4 があるので、多分めったに NotePC を門外に持ち出すことは無いと思うのだけどねぇ;-)。

  7 件のコメント to “ThinkPad X100e で FreeBSD。気がついた点。”

  1. 情報ありがとうございます。
    サスペンド&レジュームはできませんでしたか。
    私も古いノートPC(Let’s note R4)でFreeBSDを使っていて、そろそろ新機種に乗り換えたいのですが、最近のPCでレジュームできる機種が無くてなかなか乗り換えられずにいます。(私の場合、いつも持ち歩いている機種なのでサスペンドできないと使い物にならないので)
    FreeBSD大好きなんですが、そろそろ別のOSに乗り換えないといけないかなぁ…。
    Fn+F? は、/etc/devd.conf に何か書く必要があるのかもしれません。 man acpi_ibm に例が載っているようです。

  2. サスペンド&レジュームはSMPだとだめなのですね!
    なぜだろうと思っていましたが謎が解けました.ありがとうございます.
    しかし,残念です.「欲しい人が書け」ということなのでしょうか..
    私の持っているThinkPad X60では
    # kldload acpi_ibm.ko
    としなくても画面明度,キーボード用ライト,ボリュームコントロールは使えています.
    前にkldloadしたら逆に調子が悪かったような記憶もあります.

  3. emon さん。djebel250xc さん。こんにちは。
    情報ありがとうございました。 /etc/devd.conf に書くのですね。 man で見ると確かに色々書いてあります。僕は全然見ていませんでしたf(^^;;。
    早速設定してみたいと思います。ありがとうございました。
    ThinkPad X60 は IBM の頃なんでしょうかね。レノボの場合、もしくは X100e の場合、微妙に違うのでしょうかね。
    X100e はキーボード列が変わりましたしねぇ。
    どちらにしても試してみます。
    ありがとうございました。

  4. Fn+F? キーについて、色々試してみました。その結果を少々書いておきます。
    まず、xev を起動して Fn+F? キーを押すのですが、キーを押したときのイベントコードが全く上がってきません。唯一、PrintScreen のみが上がってくるので、KDE のプリントスクリーンプログラムが起動するのみです。
    後、acpi_ibm の有り/無し時の挙動の違いですが、acpi_ibm が無い(kldload していない状態)では Suspend キーが有効になります。けど、起きないのでまるで意味が無い・・。後、ACPI のメッセージが出力されてウザいので、acpi_ibm はしょーがないロードしておくか。
    と言う感じで、Fn+F? キーは根こそぎ動作しないことの確認が取れました。

  5. 8.2-STABLE で iwn0 が動作するようになりました。
    12/18 位の csup で iwn.c が更新されているので、それで対応されたようです。
    良かったよー。ただ、相変わらず 802.11g ですけどねー。

  6. if_rum と if_run について。

    さて。ThinkPad X100e を購入して色々試している最中です。「Thin…

  7. ThinkPad X100e を FreeBSD で Suspend/Resume。

    ThinkPad X100e の三回目です。これで最後になるか?! と、言う感じ…

 コメントを書いてください。

HTML タグが利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(必須項目)

(必須項目)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください