在 FreeBSD 安装 notebook PCMCIA 网路卡

3/28/2005来源:FreeBSD教程人气:14777

1. 原本 FreeBSD (2.2.5 RELEASE) 对 PCMCIA 的支援并不是很完善,
   在日本的 FreeBSD user 有发展出一套 PAO 的 package, 能够让
   FreeBSD 认得多种的 pcmcia 装置, 所以首先你要去抓
   PAO-970201.tar.gz 和 boot-pao.flp (for 2.2.5 Release).
   这两个 file 之前网友 zenlin 和 edwardc 已经 mirror 回来了
   你也可到下列位置抓
   ftp://turtle.ee.ncku.edu.tw/pub/bsd/mobil/PAO-971201.tar.gz
   ftp://turtle.ee.ncku.edu.tw/pub/bsd/mobil/boot-pao.flp

2. 将 boot-pao.flp 做成开机片,开机
   我们不用它来装 bsd, 只是要看看 notebook 上的 PCMCIA bridge 是否有被
   support, 如果没有那下面就没戏唱了
   如果你的 PCMCIA bridge 有被测到, 那麽接着会开始 search 你的 PCMCIA
   device, 比如说网路卡, 当初我在装的时候, 出现的是

   "Ethernet(Adapter)" not supported

   别担心, 把这个字串记下来备用.

3. cd /usr/src
   tar -xvf PAO-971201.tar.gz
   cd /usr/src/PAO-971201/2.2.5-RELEASE

   make backup-sys
   make patch
   make install-include
   make devices

   cd etc
   make install (这个步骤会把你原来的 rc.conf rename 成 rc.conf.orig)
   cd ../usr/sbin
   make; make install
   cd ../sbin
   make; make install

   cd /sys/i386/conf
   修改 PAO 这个 kernel config file 以符合自己的需要,然後 make kernel

   以上步骤详见 /usr/src/PAO-971201/2.2.5-RELEASE/README

4. 接着需要修改的就是 /etc/pccard.conf 了. (请先 man 一下 pccard.conf)
   这个 files 其实是一个 database, 记有各种 PCMCIA 的 "辨识字串" 和
   硬体组态, 把它叫出来, 在 for unsupported card 区加入

   # NE2000 compatible PCMCIA
   card "Ethernet" "Adapter"  <----这 2 段辨识字串就是是刚记下的那串
        config  default "ed0" any
        insert  echo NE2000 inserted
        insert  /etc/pccard_ether $device
        remove  echo NE2000 removed
        remove  /etc/pccard_ether_remove $device

5. 修改 /etc/rc.conf (已经 PAO 被换过的版本)
   在最後几行有一个 ifconfig_common="inet 10.0.0.1 netmask 255.255.255.0"
   把它改成你网路卡需要的 ip/mask
   还有 defaultroute 要设成你的 default gateway

6. 重新开机, 然後你会看到 (应该啦..:)

Initializing PC-card drivers: ed ep fe sn sio wdc
PRobing for devices on PCI bus 0:
chip0  rev 176
vga0  rev 0 int a irq ?? on pci0:12
chip1  rev 163
pci0:18:1: UMC, device=0x0101, class=storage (ide) [no driver assigned]
pcic0  rev 254 int a irq
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^你的 PCMCIA bridge
   还有

crd: ctlr(0) Cirrus Logic PD-6729/6730 (5 mem & 2 I/O windows)
rnel: pcic: controller I/O address 0xfcfc
rnel: pcic: controller irq 9 (shared)
rnel: pcic: controller I/O address 0xfcfc
rnel: Card inserted, slot 0
pccardd[38]: Card "Ethernet"("Adapter") matched "Ethernet" ("Adapter")
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^抓到了
ed0: address 00:e0:98:00:bb:bd, type NE2000 (16 bit)
pccardd[38]: pccardd started

7. 在我的 notebook 上, enable apm 会当机, 如果你有当机的情形发生,
   试着关掉 apm0 看看.
ps:目前的 apm 并未 support HD (最耗电的部份...)
   而且似乎 bios 的 apm 功能仍有效, 我想关掉 bsd apm 应该影响不大