Драйвер ndiswrapper wlan установлен, но wlan все еще не работает

Драйвер ndiswrapper wlan установлен, но wlan все еще не работает

Я пытаюсь заставить работать мой беспроводной адаптер Atheros AR1111 EB-WG PCI. Сейчас Wi-Fi даже не определяется. У меня Ubuntu 12.04 64bit, и мне удалось найти драйвер xp64bit. Я выполнил точные шаги здесь: 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, но не было никаких ошибок загрузки драйверов или чего-то странного.

У меня также есть черный список ath5k, ath8k в /etc/modprobe.d/blacklist.conf

Что я делаю не так? Что может быть причиной этого?

решение1

ndiswrapperизначально несовершенен и всегда будет несовместим с подавляющим большинством драйверов WiFi. Внутренне он использует форму эмуляции, похожую на ту, wineчто используется для общих приложений пользовательского пространства. Это несовершенная наука из-за различной семантики и использования вызовов функций драйверов устройств NDIS, а также потому, что ndiswrapperисторически реализовывалась поддержка только тех вызовов функций, которые абсолютно необходимы для драйверов, на которые была нацелена поддержка, т. е. самый минимум. Поэтому многие вызовы функций все еще не реализованы и могут быть нереализуемы из-за конструкции сетевого стека ядра Linux.

Вы, скорее всего, не делаете ничего «неправильного», за исключением того, что, как мне кажется, вам ndiswrapperсначала нужно загрузить модуль ядра,затемзапустить ndiswrapper -l. Но если вы не получаете интерфейс, то этопросто не работает. Это практически норма для ndiswrapper.

Как и wine, отдельные версии драйверов для отдельных беспроводных карт должны быть специально «нацелены», и команды разработчиков (волонтеры или коммерческие) должны анализировать вызовы NDIS драйвера и определять, как модифицировать ndiswrapperдля поддержки указанного драйвера. Это стандартная методология разработки для слоев эмуляции, поскольку реализация целого слоя эмуляции очень трудоемка и в любом случае будет переполнена ошибками из коробки из-за семантических несоответствий, несоответствий слоев и т. д.

Вам следует усерднее искать открытый исходный код, родной драйвер для вашего чипсета. Если это не удастся, вам, вероятно, не повезло. ndiswrapperне является решением; это временный заполнитель, чтобы предоставить небольшой подгруппе пользователей с необычными чипсетами базовую беспроводную функциональность, пока не будет написан открытый исходный код драйвера. Не полагайтесь на него; не ждите, что он будет работать; настаивайте на родном драйвере или просто замените свое оборудование на то, что поддерживается из коробки. Извините.

Связанный контент