以下、すべてDebian sid(2007/12ごろ)の場合
* Xのドライバ
xserver-xorg-video-intel パッケージを導入。xorgに記述するドライバ名は、intel

* Wireless LAN
madwifiモジュールを導入。module-assistantを実行しコンパイル、インストールが可能

/etc/modules に ath_pci を追記

* 有線LAN
e1000ドライバ

* Sound chip
snd_hda_intel ドライバ

* Harddiskのactive protection
カーネルモジュールの hdaps がドライバ。

active protectionを動作させるには、hdapsd をインストール。ただし、カーネルにパッチをあてないと、active protectionとしては機能しない(試していない)

* rtcに対する読み書きでエラーが出る件での回避方法

最近のThinkPadだと、起動時、シャットダウン時のrtcへの読み書きの際、

 select() to /dev/rtc to wait for clock tick timed out

というエラーが発生してしまう。

hwclockコマンドに、--directisaオプションをつけないといけない。

少なくともdebian sidの場合は、/etc/default/rcS に以下を追記すると回避できる。(ほかのetchについては知らない)

 HWCLOCKPARS=--directisa

* compiz-gnome
sidのオフィシャルパッケージをインストール。
もしかすると、ログイン後にコケるかもしれない。その場合は、gnome、.gconf関連のドットファイル、ドット付きディレクトリを削除して起動してみる。

今(2007/12ごろ)の段階では、gnomeでセッションの保存をすると、次回起動時にcompizの起動で失敗するので、セッション保存しない。

*SDカードスロット
ドライバは、sdhci

/dev/mmcblk0p1で見える。

* 指紋認証

! X60の指紋認証(debian sidの場合)
ThinkPad X60以外でも応用がきくと思います。

** 武藤さんが作成したfprintのdebをインストール
武藤さんがfprint関連のdebを作成されたので、早速利用。
libfprint, fprintdemo, libpam-fprint をインストール

** デバイス情報の取得
X60の指紋リーダはUSB接続なので適当に/sys/bus/usb/devices以下のファイルに対しudevinfoを実行し、
  ATTR{product}=="Biometric Coprocessor"
  ATTR{manufacturer}=="STMicroelectronics"
を含むエントリを探す。
 
  $ udevinfo --path=/sys/bus/usb/devices/4-2/ -a
  ....(省略)
  looking at device '/devices/pci0000:00/0000:00:1d.3/usb4/4-2':
    KERNEL=="4-2"
    SUBSYSTEM=="usb"
    DRIVER=="usb"
    ATTR{product}=="Biometric Coprocessor"
    ATTR{manufacturer}=="STMicroelectronics"
    ATTR{quirks}=="0x0"
    ATTR{maxchild}=="0"
    ATTR{version}==" 1.00"
    ATTR{devnum}=="3"
    ATTR{busnum}=="4"
    ATTR{speed}=="12"
    ATTR{bMaxPacketSize0}=="8"
    ATTR{bNumConfigurations}=="1"
    ATTR{bDeviceProtocol}=="00"
    ATTR{bDeviceSubClass}=="00"
    ATTR{bDeviceClass}=="00"
    ATTR{bcdDevice}=="0001"
    ATTR{idProduct}=="2016"
    ATTR{idVendor}=="0483"
    ATTR{bMaxPower}=="100mA"
    ATTR{bmAttributes}=="a0"
    ATTR{bConfigurationValue}=="1"
    ATTR{bNumInterfaces}==" 1"
    ATTR{configuration}==""
    ATTR{dev}=="189:386"
    ....

** デバイスのgroupを変更
debianの場合、root groupになっているので。(ubuntuだと、usbグループになっているらしいので、使用するユーザをusbグループにも登録してあげれば良いらしい。)

僕は、fprintというグループを作成し、対処することにした。udevinfoで取得したデバイスの情報のidProductと、idVendorを利用してデバイスを特定。

/etc/udev/permission.rulesの SUBSYSTEM=="usb"のエントリが並んでいる箇所に適当に挿入

 SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="2016",    GROUP="fprint"

** 再起動
udevの設定を反映させるためにマシンを再起動。
(再起動したくなかったが、/etc/init.d/udev force-reloadしてもダメだった。何か方法はあるかな?)

** グループの作成とユーザの登録
 sudo addgroup fprint 
 sudo vigr (指紋認証するユーザをfprintグループに追加)

** 指紋の登録
指紋認証するユーザでログイン(もしくは、su - 認証するユーザ)して
  $  pam_fprint_enroll -f 7
すると、右手人指し指を指紋リーダデバイスに通せと3回言われるので、しょうがないので指をスライドさせる。ちなみに、--helpオプションをつけて実行すると、-f の番号を変更することにより、指を変更できるので、右手人指し指を使えない人は他の指でも代用できる。ちなみに、指紋は10本の指すべてを登録することもできるが、pamで認証する際には、登録された指紋のうち一番最初にみつかったものを認証に使うとのこと。

** PAMの設定
/etc/pam.d/gdm, /etc/pam.d/sudo, /etc/pam.d/loginの変更
  auth 	sufficient	pam_fprint.so 
を 各ファイルの@include common-auth の前に挿入

こうしておけば、gdm, cuiでのログイン、sudoの実行の際、最初に指紋認証が行なわれる。 また指紋認証をデバイスが読みとれなかったり、fprintグループに入っていなかったり(デバイスへのアクセス権利がない)、指紋を登録していないユーザは直接パスワード認証になる。

** おしまい。

xscreensaverもpamの認証を使っているので、同様に使えるでしょう。

rootユーザはアカウントの性質を考えると指紋を登録しない方が良いでしょう。また、pam_frint.soをrequiredで宣言すると、指紋認証を絶対成功させないといけなくなりますが、デバイスが壊れたりすると困るのでおすすめしません。libfprint自体、α版ですし。



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS