NDISwrapper 显示“无效任务”

NDISwrapper 显示“无效任务”

我正在将 NDISwrapper 与 Netgear WN121t USB WiFi 适配器一起使用,现在我认为我已经尝试了网络上几乎所有的 .inf 文件。

到目前为止,我的设备已经正常工作(Ubuntu 检测到了它并找到了我的网络)。问题是 NDISwrapper 显示:

Aug 13 04:42:04 local kernel: [ 2043.438367] ndiswrapper (NdisMSetInformationComplete:2542): invalid task

并且连接超时。

我在东芝 Satellite 上使用 Ubuntu 12.04 Precise Pangolin 32 位(驱动程序是 32 位)。

我无法发布驱动程序文件,因为我尝试了大约 20 种不同的驱动程序,但错误消息总是相同的。

这是日志文件:系统日志文件 链接断开

我怎样才能让它工作?

答案1

这就是 ndiswrapper 的本质。它在设计上存在很大问题,只能与少数特定支持的驱动程序配合使用。这就像在内核中运行 wine,这比在用户空间中运行它要糟糕得多,因为一个错误的举动就会导致内核崩溃。

Ndiswrapper 并非真正用于生产用途,据报道,即使能够“运行”它,也会遇到稳定性、带宽或数据损坏问题。多年来,我尝试过十多个 wifi 芯片组,它们中的每一个要么使内核崩溃,要么在运行时出现某种停止显示的行为。

对于一个棘手的问题来说,这是一个糟糕的解决方案。如果您的 wifi 适配器根本没有原生驱动程序,您只能这样做:

  • 尝试向 Ubuntu 提交一个错误,看看是否有人可以让它工作(极不可能,因为大多数处理受限驱动程序的错误都会被忽略)
  • 尝试向 ndiswrapper 上游提交错误,看看是否有人仍在维护它并查看错误报告(极不可能)
  • 尝试升级到最新内核并从源代码编译最新的 ndiswrapper,因为 Ubuntu 所发布的内容可能已经过时了
  • 尝试在谷歌上搜索适用于您的无线芯片组的 Linux 驱动程序;由于许可问题,Ubuntu 不会提供某些芯片组的原生 Linux 驱动程序,即使它们是开源的……例如,在主线内核开发人员构建自己的驱动程序之前,他们拒绝实施 Ralink 的 rt2800 驱动程序。
  • 尝试另一种已知在 Ubuntu 上原生支持的无线芯片组(最好的选择是英特尔芯片组或 Qualcomm Atheros;Ralink 现在也不错)

相关内容