ndiswrapper wlan驅動程式已安裝,但wlan仍然無法工作

ndiswrapper wlan驅動程式已安裝,但wlan仍然無法工作

我正在嘗試讓我的 Atheros AR1111 EB-WG PCI 無線適配器正常工作。現在連wifi都檢測不到。我使用的是 ubuntu 12.04 64 位,我設法找到了 xp64 位元驅動程式。我按照這裡的具體步驟操作: https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper

我在哪裡做:

 ndiswrapper -l

我得到類似的東西:

 {name of driver} : driver installed
       device ({Chipset ID}) present

這說明驅動安裝正確

但是,在我加載新模組後:

  sudo modprobe ndiswrapper

什麼也沒發生,iwconfig 顯示我仍然沒有 wlan。

我嘗試做 dmseg | grep ndiswrapper,但沒有驅動程式載入錯誤或任何奇怪的情況。

我在 /etc/modprobe.d/blacklist.conf 中也有黑名單 ath5k、ath8k

我究竟做錯了什麼?可能是什麼原因造成的?

答案1

ndiswrapper本質上是有缺陷的,並且總是與絕大多數 WiFi 驅動程式不相容。在內部,它使用類似於wine一般用戶空間應用程式的模擬形式。這是一門不完美的科學,因為 NDIS 裝置驅動程式的語義和函數呼叫使用情況各不相同,而且ndiswrapper歷史上只實現了對目標支援驅動程式絕對需要的函數呼叫的支持,即最低限度。所以很多函數呼叫仍然沒有實現,並且由於Linux核心網路堆疊的設計可能無法實現。

你可能沒有做任何「錯誤」的事情,除了我認為你需要ndiswrapper先載入核心模組,然後跑步ndiswrapper -l。但如果你沒有獲得該介面,那就是只是不工作。這幾乎是 的常態ndiswrapper

例如wine,各個無線卡的各個驅動程式版本必須專門“定位”,並且開發團隊(志願者或商業)必須分析驅動程式的 NDIS 呼叫並確定如何修改ndiswrapper以支援所述驅動程式。這是模擬層的標準開發方法,因為實現整個模擬層非常耗費人力,並且由於語義不匹配、分層不匹配等原因,無論如何都會充滿開箱即用的錯誤。

您應該更加努力地搜尋是否存在適用於您的晶片組的開源本機驅動程式。如果你做不到這一點,你可能就沒那麼幸運了。ndiswrapper不是一個解決方案;它是一個臨時佔位符,為一小部分具有不尋常晶片組的用戶提供基本的無線功能,直到可以編寫開源驅動程式為止。不要依賴它;不要指望它能起作用;堅持使用本機驅動程序,或直接用開箱即用的支援的東西替換您的硬體。對不起。

相關內容