我有一块较旧的 32 位 Belkin F5D6001(又名 ADMtek ADM8211 802.11b 无线网卡),我使用它最初附带的 CD 和 NDISWrapper(其中显示检测到硬件:是),通过 NDISWrapper(Windows 无线网络)在 32 位 Ubuntu 12.04 中使用它。在 64 位 12.04 中尝试了相同的步骤,尽管它可以看到并与卡通信,但它无法连接到互联网。
它可以看到我周围的网络,但当我输入 10 位 (xxxxxxxxxx) 安全密钥时,系统会冻结。通过关闭电源并拔下插头和电源按钮几秒钟并重新启动进行硬重置,但仍然发生同样的事情。花了无数个小时研究这个问题,想知道是否有办法欺骗这个 64 位操作系统接受驱动程序。我尝试了无数的命令(iwconfig、ip addr、ndiswrapper 相关等——您说出的,我都试过了),即使它可以检测到它,它仍然会冻结。
我读到 Ubuntu 内置了一个默认无线网卡驱动程序,可能会发生冲突,必须将其删除才能防止冻结,但我对 Linux 还是个新手,不确定这个驱动程序位于何处,所以我可以删除它。即使我找到并删除了它,我也不认为它会解决问题,因为这个步骤在 32 位操作系统中不是必需的,而我上面说的 32 位操作系统是成功的。芯片组是 ADM8211,PCIID 为 1317:8201。
我尝试了几个通过 SourceForge 找到的驱动程序,这些驱动程序表明它与 Realtek 8180 本质上是相同的芯片组,尽管它的 PCIID 不同。只能在 Realtek 的网站上找到“8180L”驱动程序并将它们放在 Ndiswrapper 中。为了以防万一,我尝试了它们以及此处列出的 ndiswrapper 说明:
更改 PCIID 以匹配 8180,但无济于事,尽管仍然能够看到可用的网络。到目前为止,我得出的唯一结论是:1. 除非有办法欺骗操作系统相信它是 64 位卡或类似的东西,否则无法使其连接到网络,或者 2. 在我尝试的 64 位场景中,绝对需要删除上述默认 ubuntu 驱动程序。如果有人知道实现此目的的实用程序或方法,请随时提供帮助。谢谢,祝福你。
答案1
您不能使用 64 位内核运行 32 位内核模式代码。