Minix 上的 AMD Lance 网卡驱动问题

今天在 Minix on VMware 上发现了一个奇怪的问题,使用静态 IP 地址以后,外部网络无法 ping 通 Minix,必须 Minix 先 ping 外面,然后外面才能 ping 通它。在 Google groups 上发现有人也遇到同样的问题:

I have Minix3 on a VMWare virtual machine … If I try to ping the box itself (192.168.1.134), I don’t get a reply unless I first ping the box back from the minix machine. I am running in bridged mode and I can get to the internet fine from the minix machine, but other machines cannot communicate with the minix machine unless the minix machine first communicates with the caller. Has anyone had similar issues? It is driving me crazy.

因为绝大多数人都在 VMware 上安装和运行 Minix,所以 Minix 上的 VMware 的网卡驱动尤其重要,至少重要性要高过其他网卡驱动。这里碰到的问题是由 Minix 上面 VMware 的模拟网卡驱动(AMD Lance NIC)造成的,lance 驱动必须被 load 在头 16MB 内存里,如果系统启动以后再 load 网卡的话会造成 lance 被 load 到 16MB 以外,造成驱动不工作。看到这里,马上就会想到如果事先 load 驱动的话(在 16MB 以内)就会避免上述问题,比如在加载文件系统以前?嗯,这是一个耍无赖的方法,但不是最好的。

在 Minix 3.1.5 上的解决办法是运行下面命令重新启动 lance 驱动:

# service refresh lance

在 Minix 3.1.3 上就比较倒霉了,会导致网卡驱动(lance)彻底不工作,不过这难不到众多使用 Minix 的 hacker 们,按照 comp.os.minix 上的这篇 Fix for Minix 3.1.3a, VMware, and Networking 可以在 Minix 3.1.3 上解决这个难题。

评论 (1 Comment)

  1. 事事有记录,事后查看也方便啊。
    呃,可不可以做个友情链接?我的感受建筑已经做上贵博客的了啊。
    呵呵。

发表评论