2007/12/16

FreeBSD on Thinkpad X61

This is the installation note on my new thinkpad X61 box
(of course it runs FreeBSD)

安裝 FreeBSD:


注意!!:
請用 pxeboot,詳細的請使用 google 搜尋,如果用外接光碟機會有問題
(感謝 rafan 還有 #bsdchat 的長輩們)

  1. Xorg:
  2. Install following from ports or packages:
    x11-drivers/xf86-video-intel
    x11-drivers/xf86-input-keyboard
    x11-drivers/xf86-input-mouse

    (1) 滑鼠的部份

    以前只要設好 X 之後,設定 ZAxisMapping 即可,不知道為什麼後來變成要設定 emulatewheel 才行。
    Enable emulation mouse wheel (of trackpoint),在 Section
    "InputDevice" 的部份加入以下三行:

    Option "EmulateWheel" "true"
    Option "EmulateWheelTimeOut" "200"
    Option "EmulateWheelButton" "2"

    (2) 繪圖晶片組 Graphical chips: Intel 965GM / X3100:

    設定如下: (DRI 不知道為什麼無法動起來,大概是 driver 的關係吧)

    Section "Device"
    Identifier "Card0"
    Driver "intel"
    VendorName "Intel Corporation"
    BoardName "Mobile GM965/GL960 Integrated Graphics Controller"
    BusID "PCI:0:2:0"
    Option "DRI" "true"
    VideoRam 131072
    Option "XAANoOffscreenPixmaps" "true"
    EndSection


    (3) FreeBSD 7.0 之後,usbd 消失了,還沒有時間找為什麼,所以外接滑鼠
    沒有辦法動 orz
    現在用 moused 還有 devd 來控制,因為我照著 6.x 以前的來
    修改 /etc/devd.conf 當然會爛掉,所以照預設就可以正常使用外接的 usb 滑鼠了!

    (4) 外接螢幕或是單槍,用 xrandr(1) 就能夠正常投影輸出,不需要再設定什麼。


  3. acpi / 電源管理部份

  4. 這個部份很討厭, suspend / hibernation 一定不能正常 work
    廠商很奸詐,都把已經用硬體作動的東西弄成軟體控制。
    所以 Fn + volume 控制設定很麻煩

    (1) 螢幕亮度、聲音控制:

    在 /boot/loader.conf 中加入:

    acpi_ibm_load="YES"
    (不要啟用 acpi_video,要不然無法正常
    使用 fn+home/end 調整亮度)
    還有 /etc/sysctl.conf 中加入:

    dev.acpi_ibm.0.events=1

    然後用 google 找尋 acpi_oem_exec.sh 這個檔案
    (基本上就是用 devd 去控制),把他放入 binary 的路徑即可,但是聲音控制鍵無法正常運作,只有變成靜音或有聲音。
    (麻煩一點可以用 sysctl dev.acpi_ibm.0.volume 來控制)

    如果想要讓按 fn + combination 鍵的時候會顯示在螢幕上,可以安裝 deskutils/tpb

    (2) cpu 變頻

    只有 6 個 level:
    dev.cpu.0.freq_levels: 2183/-1 1910/-1 1637/-1 1364/-1 1091/-1 818/-1

    而且變頻的時候會ㄘㄘ叫....
    要啟用請用 powerd(8)



  5. 網路部份

  6. (1) 有線網路:
    預設就可以抓的到 em0 這張 intel 的網路卡:

    em0: port 0x1840-0x185f mem 0xfe000000-0xfe01ffff,0xfe025000-0xfe025fff irq 20 at device 25.0 on pci0

    但是有時會有延遲的現象,我在 /etc/sysctl.conf 加入以下:

    dev.em.0.rx_int_delay=0
    dev.em.0.tx_int_delay=0
    dev.em.0.rx_abs_int_delay=0
    dev.em.0.tx_abs_int_delay=0

    (2) 無線網路
    x61 搭配的是 Intel 3945 abg (另外還有 4965 bgn)
    因為我知道 4965 那張卡還沒有 driver ,為了避免麻煩,我就買配有 3945 的。

    在 RELENG_7 當中已有這張網卡的 driver ,修改 loader.conf 加入:

    if_wpi_load="YES" #加入 if_wpi kernel module
    legal.intel_wpi.license_ack=1 #還要同意 firmware license

    之後就能成功地正確使用 3945 abg 無線網路卡

    wpi0: mem 0xdfcff000-0xdfcfffff irq 17 at device 0.0 on pci3
    wpi0: Ethernet address: 00:1c:bf:0f:a7:ad
    wpi0: [ITHREAD]
    wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
    wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
    wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

    (3) 藍牙:
    add ng_ubt_load="YES" in /boot/loader.conf
    就可以抓到:
    ubt0: on uhub0

    (4) 裝記憶體的旁邊有個看起來像可以插 sim 卡的裝置,我還不知道那要怎麼用,可能是 3G/3.5G 的裝置吧


  7. 聲音部份

  8. 載入 snd_hda.ko: kldload snd_hda.ko

    /boot/loader.conf 加入:
    snd_hda_load="YES"

    就可以在 dmesg 輸出中看到:

    pcm0: mem 0xfe020000-0xfe023fff irq 17 at device 27.0 on pci0

    啟用 virtual channels
    /etc/sysctl.conf:

    hw.snd.maxautovchans=6


  9. 指紋讀卡機

  10. ugen0: on uhub0

    應該是可以動啦,裝了以下的東西:

    security/bioapi
    security/bioapitool
    security/pam_bsdbioapi
    security/bsp_upektfmess

    但是因為我用 amd64 平台,bsp_upektfmess 無法使用
    而且 bioapi 的 bbdm 執行完就 coredump 不知道為什麼...

    有興趣可以參考
    http://www.shapeshifter.se/articles/upek_touchchip_freebsd/


  11. SD 讀卡機


  12. 抓不到,但是有人有寫出 driver ,還沒有空測試。


2007/12/09

很久以前的 freebsd 桌面

freebsd

使用 zoom in/out ,沒有加後製特效,看起來蠻屌的。