SDB:Ndiswrapper
Содержание
Установка NDISwrapper
В дальнейшем будут приводиться консольные команды. Поэтому, чтобы не было недоразумений, уясните следующие команды для ввода:
$ command
- команда не требующая прав администратора и выполняется от обычного пользователя "$"
# command
- команда, требующая права администратора и выполняется от суперпользователя "#", но может выполняться из окружения обычного пользователя "$" с правами суперпользователя sudo, см. особенности
C установочного носителя
По умолчанию NDISwrapper включен в состав установочного CD/DVD носителя openSUSE.
Установите с помощью консольного менеджера пакетов zypper следующие пакеты:
# zypper in ndiswrapper ndiswrapper-kmp-`uname -r | cut -f3 -d"-"` wireless-tools
или воспользуйтесь графическим инструментом YaST, установив следующие пакеты:
- ndiswrapper
- ndiswrapper-kmp-[default|desktop|pae|xen]
- wireless-tools
- где default|desktop|pae|xen - разновидность ядра, для выбора правильного значения части строки воспользуйтесь командой: uname -r
Из репозитория
Вы можете получить последнюю версию NDISwrapper, воспользовавшись репозиторием driver:/wireless. В зависимости от версии openSUSE и используемого ядра необходимо добавить правильно выбранный репозиторий:
Для ядра по умолчанию
Если вы после установки openSUSE не обновляли ядро по умолчанию, то правильным выбором репозитория будет:
Version: 13.1
# zypper ar http://download.opensuse.org/repositories/driver:/wireless/openSUSE_13.1 ndiswrapper
Version: 12.3
# zypper ar http://download.opensuse.org/repositories/driver:/wireless/openSUSE_12.3 ndiswrapper
Version: 12.2
# zypper ar http://download.opensuse.org/repositories/driver:/wireless/openSUSE_12.2 ndiswrapper
Version: 12.1
# zypper ar http://download.opensuse.org/repositories/driver:/wireless/openSUSE_12.1 ndiswrapper
Version: 11.4
# zypper ar http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.4 ndiswrapper
Для обновленного ядра
Если вы обновили ядро до последней версии из Update, то правильным выбором будет:
Version: 13.1
# zypper ar -f http://download.opensuse.org/repositories/driver:/wireless/13.1-update/ ndiswrapper
Version: 12.3
# zypper ar -f http://download.opensuse.org/repositories/driver:/wireless/12.3-update/ ndiswrapper
Version: 12.2
# zypper ar -f http://download.opensuse.org/repositories/driver:/wireless/12.2-update/ ndiswrapper
Version: 12.1
# zypper ar -f http://download.opensuse.org/repositories/driver:/wireless/12.1-update/ ndiswrapper
Version: 11.4
# zypper ar -f http://download.opensuse.org/repositories/driver:/wireless/11.4-update/ ndiswrapper
После добавления соответствующего репозитория обновите его, cкачиванием метаданных и преобразование их в кэш:
# zypper ref
Приступите к установке NDISwrapper:
# zypper in ndiswrapper ndiswrapper-kmp-`uname -r | cut -f3 -d"-"` wireless-tools
После завершения установки, вы можете отключить репозиторий, выполнив:
# zypper mr -dR ndiswrapper
Из исходников
Вы также можете загрузить и скомпилировать последнюю версию с сайта Ndiswrapper .
Приобретение Windows драйвера
Вы можете определить необходимый драйвер для конкретного устройства, исходя из списка совместимости Ndiswrapper + вы можете воспользоваться Linuxant страницей, в которой есть драйвера, работающие с NDISwrapper, также на ней находятся некоторые 64-битные драйвера, которые не предлагаются на сайтах производителя.
Если вы используете 64-битное ядро Linux, то вам необходимо найти соответствующий 64-разрядный драйвер Windows (что несколько затруднительней найти, чем 32-битный драйвер Windows). Таким образом, если вы не сможете найти 64-битный драйвер Windows, тогда установите 32-битную версию openSUSE.
Поддержка NDIS 6 находится в стадии разработки и на данный момент не поддерживается NDISwrapper.
Находясь в Windows
Если у вас имеется двойная загрузка системы и ваша карта исправно работает в Windows, то одним из способов получения драйвера — это достать его из раздела установленной Windows. Помните, что разрядность имеет немаловажное значение.
Находясь в Windows, зайдите в Диспетчер устройств и в разделе " Сетевые адаптеры" найдите свою беспроводную карту. Щелкните правой клавишей на соответствующем устройстве и перейдите "Свойства->Драйвер->Сведения..." .Здесь вы найдете путь к файлу *.sys, как правило располагающийся по адресу C:\windows\system32\drivers\ .
Воспользуйтесь " Поиском" Windows, чтобы найти соответствующий *.inf файл, который является не более чем простым текстовым файлом с перечнем необходимых файлов драйвера. Таким образом, запрос поиска в Windows будет выглядеть так:
- все файлы перечисленные в файле: *.inf
- строчка в файле *.inf: путь до *.sys файла найденного выше
- найти соответствующие файлы на: локальный диск C :\
Поиск может занять некоторое время! Когда вы нашли *.inf файл, загляните с помощью текстового редактора внутрь и уточните др. файлы необходимые для установки драйвера. вам повезет, если все файлы находятся в одном каталоге, например, C:\Program Files\Atheros\Drivers\. Скопируйте все эти файлы в определенное место, например, в папку раздела или на внешний USB жесткий диск, которые будут доступны в системе Linux.
Находясь в Linux
Этот способ менее извращенный и не требующий входа в Windows.
Определите тип вашего беспроводного устройства, выполнив:
$ /sbin/lspci -nn
Найдите строчку информации, соответствующей вашему устройству, например:
04:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n
Wireless LAN Controller [14e4:4727] (rev 01)
С помощью текстового редактора загляните в журнал сведений об установке драйверов Windows: /WINDOWS/setupapi.log
или /WINDOWS/INF/setupapi.dev.log
и найдите соответствующий *.inf файл устройства.
Например:
#I022 Found "PCI\VEN_14E4&DEV_4318&SUBSYS_1356103C" in C:\SWSetup\WLAN\bcmwl5a.inf;
Device: "Broadcom 802.11b/g WLAN"; Driver: "Broadcom 802.11b/g WLAN"; Provider: "Broadcom";
Mfg: "Broadcom"; Section name: "BCM43XG2".
Для облегчения поиска соответствующих строчек воспользуйтесь значениями ID, выделенные выше красным, например, PCI\VEN_14E4 или используя ключевые фразы: Broadcom, WLAN и т.д.
Установите соответствующий драйвер, пройдя к разделу установка.
Из программного обеспечения
Существуют несколько мест, где можно попытаться найти драйвера. Ниже перечислены возможные варианты, в порядке предпочтения:
- с помощью установочного носителя CD, поставляемом вместе с аппаратурой
- с веб-сайта производителя вашего ПK или карты
- по поиску вашего *.sys файла в Google
Если вам повезло, то вы с легкостью найдете правильный *.inf и связанные с ним файлы. В некоторых случаях необходимо распаковать *.cab или *.exe файл с драйверами. Для распаковки этих файлов воспользуйтесь консольной утилитой cabextract:
# zypper in cabextract
Найдите и распакуйте *.cab или *.exe файл, например, в папку /tmp:
$ cabextract -d /tmp/driver/ *.cab
Опять же, найдя все соответствующие файлы, скопируйте их в определенное место, доступном для Linux раздела.
Распределение нескольких *.inf файлов
Если вы обнаружили два или более *.inf файлов, каждый из которых предназначен для различных версий Windows, например: bcmwl5a.inf
и bcmwl5.inf
. Тогда загляните внутрь содержимого *.inf файла и обратите внимание на начало следующих строк:
[Version]
Signature= "$Windows NT$"
Установка драйвера
Установите драйвер указав путь к *.inf файлу:
# /usr/sbin/ndiswrapper -i /путь/до/*.inf
Совет: Вместо того, чтобы вводить абсолютный путь к файлу, вы может предпочтете изменить директорию, содержащую *.inf файл, перед тем, как запустить команду. Если путь к этой директории содержит пробелы, например, "Program Files", тогда воспользуйтесь обратным слешем \. Иногда для новичка сначала проще перейти в директорию, содержащую необходимый *.inf файл:
$ cd /путь/каталог\ с\ пробелами/*.inf файл
Например:
$ cd /windows/C/Program\ Files/
После этого вы можете установить драйвер, указав только *.inf файл
# ndiswrapper -i filename.inf
Если установка прошла хорошо, тогда удостоверьтесь в том, что драйвер был установлен корректно:
# /usr/sbin/ndiswrapper -l
Если вы установили действительный/совместимый с Windows драйвер, то NDISwrapper покажет вроде этого:
<driver-name> : driver installed
device (xxxx:xxxx) present (alternate driver: <native-driver-name>)
- где <driver-name> - показывает имя установленного драйвера NDISwrapper; <native-driver-name> - имя пересекающегося родного Linux драйвера.
Этот Linux драйвер возможно придется занести в черный список "blacklist", если он установлен и в настоящие время обнаружен в файле журналирования: /var/log/messages. Черный список предотвращает попытки управления устройством родным драйвером, что играет немаловажную роль в использовании NDISwrapper. Для занесения этого драйвера в черный список выполните:
# echo blacklist имя_драйвера > /etc/modprobe.d/ndiswrapper.conf
Если же NDISwrapper сообщает "invalid driver", то необходимо удалить этот драйвер и попробовать другой.
Для удаления драйвера выполните:
# /usr/sbin/ndiswrapper -r <имя_драйвера>
В качестве дополнительной проверки успешной установки драйвера соответствует наличие директории с именем драйвера:
$ cd /etc/ndiswrapper
USB WLAN флешка
Если у вас имеется USB WLAN флешка, тогда необходим дополнительный шаг, который следует сделать, чтобы установить драйвер, т.е. вы должны подсунуть NDISwrapper-у - VendorID и ProductID флешки с помощью опции "-d".
Посмотрите идентификатор устройства с помощью "Информация об оборудовании" в YaST или выполнив:
$ lsusb
В результате вы узнаете ID устройства из четырех-символьных/цифр как, например, 168c и 0013.
Чтобы связать ID усройства с Ndiswrapper выполните:
# /usr/sbin/ndiswrapper -d xxxx:xxxx <имя_драйвера>
Для просмотра успешной загрузки драйвера выполните:
$ dmesg | tail
Если драйвер работает, то вы можете создать псевдоним "alias" NDISwrapper в /etc/modules.conf
с помощью команды:
# /usr/sbin/ndiswrapper -m
Загрузите модуль NDISwrapper:
# /sbin/modprobe ndiswrapper
После этого вы можете настроить устройство с помощью Yast.
Настройка карты в YaST
Если у вас какие-то проблемы при обнаружении беспроводной карты в NetworkManager, тогда настройте сетевую карту исходя из нижеприведенных действий.
Вы не сможете редактировать сетевые настройки YaST, когда сеть контролируется с помощью NetworkManager.
Существуют много всевозможных конфигураций. Это только типичный пример:
Пояснение:
- Для начала разрешите управление сети традиционным методом ifup: YaST → Сетевые настройки → Общие параметры
- Затем, чтобы начать конфигурацию сети перейдите в раздел вкладки "Обзор"
- Выберите "Добавить" в нижней части окна
- Тип устройства: "Беспроводной"
- Название конфигурации: "0" (или любой другой)
- Имя модуля: "ndiswrapper"
- Параметры: оставьте пустыми в том числе и "PCMCIA", "USB"
- ... и, наконец, "Далее"
- На следующем экране "Настройки сетевой карты" выберите версии динамического адреса и затем нажмите "Далее"
- В разделе "Настройка беспроводной сетевой карты" оставляем настройки по умолчанию, т. е.:
- Режим работы: "Управляемая"
- Имя сети (ESSID): "" (оставьте пустым)
- Метод аутентификации: "WEP-открытый"
- Тип ввода ключа: "Контрольная фраза"
- Ключ шифрования: "" (оставьте пустым)
- ... и, наконец, "Далее"
- Если откроется менеджер паролей, укажите свой пароль
- Проигнорируйте предупреждение "Не использовать шифрование - это риск безопасности"
- Вернитесь в "Общие параметры" и выберите "Управляемый пользователем с NetworkManager"
- ... и, наконец, "OK"
Поздравления! Ваша карта настроена.
Теперь вы можете открыть NetworkManager и выбрать одну из найденных сетей.
Если Ваш SSID (имя беспроводной сети) не транслируется, тогда задайте самостоятельно, в параметрах NetworkManager.
Потенциальные конфликты и проблемы
Не загружается NDISwrapper, а при выполнении команды "lsmod|grep -i ndiswrapper" соответствующий модуль не отображается?
Загрузите модуль вручную:
# /sbin/modprobe -v ndiswrapper
И если модуль загружается без ошибок, тогда перезапустите сеть:
# systemctl restart network.service
Для загрузки модуля во время загрузки системы, выполните:
# echo ndiswrapper > /etc/modules-load.d/ndiswrapper.conf
Не подключается к беспроводной сети с помощью NetworkManager?
Подключитесь с помощью YaST, выбрав при этом "традиционный метод ifup" и присвоев статические настройки интерфейса ( IP-адрес, шифрование, метод аутентификации и т. д.).
Tакже cмотрите
Вы можете определить необходимый драйвер для конкретного устройства, исходя из списка совместимости Ndiswrapper + вы можете воспользоваться Linuxant страницей, в которой есть драйвера, работающие с NDISwrapper, также на ней находятся некоторые 64-битные драйвера, которые не предлагаются на сайтах производителя.
Находясь в Windows
Если у вас имеется двойная загрузка системы и ваша карта исправно работает в Windows, то одним из способов получения драйвера — это достать его из раздела установленной Windows. Помните, что разрядность имеет немаловажное значение.
Находясь в Windows, зайдите в Диспетчер устройств и в разделе " Сетевые адаптеры" найдите свою беспроводную карту. Щелкните правой клавишей на соответствующем устройстве и перейдите "Свойства->Драйвер->Сведения..." .Здесь вы найдете путь к файлу *.sys, как правило располагающийся по адресу C:\windows\system32\drivers\ .
Воспользуйтесь " Поиском" Windows, чтобы найти соответствующий *.inf файл, который является не более чем простым текстовым файлом с перечнем необходимых файлов драйвера. Таким образом, запрос поиска в Windows будет выглядеть так:
- все файлы перечисленные в файле: *.inf
- строчка в файле *.inf: путь до *.sys файла найденного выше
- найти соответствующие файлы на: локальный диск C :\
Поиск может занять некоторое время! Когда вы нашли *.inf файл, загляните с помощью текстового редактора внутрь и уточните др. файлы необходимые для установки драйвера. вам повезет, если все файлы находятся в одном каталоге, например, C:\Program Files\Atheros\Drivers\. Скопируйте все эти файлы в определенное место, например, в папку раздела или на внешний USB жесткий диск, которые будут доступны в системе Linux.
Находясь в Linux
Этот способ менее извращенный и не требующий входа в Windows.
Определите тип вашего беспроводного устройства, выполнив:
$ /sbin/lspci -nn
Найдите строчку информации, соответствующей вашему устройству, например:
04:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)
С помощью текстового редактора загляните в журнал сведений об установке драйверов Windows: /WINDOWS/setupapi.log
или /WINDOWS/INF/setupapi.dev.log
и найдите соответствующий *.inf файл устройства.
Например:
Device: "Broadcom 802.11b/g WLAN"; Driver: "Broadcom 802.11b/g WLAN"; Provider: "Broadcom"; Mfg: "Broadcom"; Section name: "BCM43XG2".
Установите соответствующий драйвер, пройдя к разделу установка.
Из программного обеспечения
Существуют несколько мест, где можно попытаться найти драйвера. Ниже перечислены возможные варианты, в порядке предпочтения:
- с помощью установочного носителя CD, поставляемом вместе с аппаратурой
- с веб-сайта производителя вашего ПK или карты
- по поиску вашего *.sys файла в Google
Если вам повезло, то вы с легкостью найдете правильный *.inf и связанные с ним файлы. В некоторых случаях необходимо распаковать *.cab или *.exe файл с драйверами. Для распаковки этих файлов воспользуйтесь консольной утилитой cabextract:
# zypper in cabextract
Найдите и распакуйте *.cab или *.exe файл, например, в папку /tmp:
$ cabextract -d /tmp/driver/ *.cab
Опять же, найдя все соответствующие файлы, скопируйте их в определенное место, доступном для Linux раздела.
Распределение нескольких *.inf файлов
Если вы обнаружили два или более *.inf файлов, каждый из которых предназначен для различных версий Windows, например: bcmwl5a.inf
и bcmwl5.inf
. Тогда загляните внутрь содержимого *.inf файла и обратите внимание на начало следующих строк:
[Version] Signature= "$Windows NT$"
Установка драйвера
Установите драйвер указав путь к *.inf файлу:
# /usr/sbin/ndiswrapper -i /путь/до/*.inf
$ cd /путь/каталог\ с\ пробелами/*.inf файл
Например:
$ cd /windows/C/Program\ Files/
После этого вы можете установить драйвер, указав только *.inf файл
# ndiswrapper -i filename.inf
Если установка прошла хорошо, тогда удостоверьтесь в том, что драйвер был установлен корректно:
# /usr/sbin/ndiswrapper -l
Если вы установили действительный/совместимый с Windows драйвер, то NDISwrapper покажет вроде этого:
device (xxxx:xxxx) present (alternate driver: <native-driver-name>)
- где <driver-name> - показывает имя установленного драйвера NDISwrapper; <native-driver-name> - имя пересекающегося родного Linux драйвера.
# echo blacklist имя_драйвера > /etc/modprobe.d/ndiswrapper.conf
Если же NDISwrapper сообщает "invalid driver", то необходимо удалить этот драйвер и попробовать другой.
Для удаления драйвера выполните:
# /usr/sbin/ndiswrapper -r <имя_драйвера>
В качестве дополнительной проверки успешной установки драйвера соответствует наличие директории с именем драйвера:
$ cd /etc/ndiswrapper
USB WLAN флешка
Если у вас имеется USB WLAN флешка, тогда необходим дополнительный шаг, который следует сделать, чтобы установить драйвер, т.е. вы должны подсунуть NDISwrapper-у - VendorID и ProductID флешки с помощью опции "-d".
Посмотрите идентификатор устройства с помощью "Информация об оборудовании" в YaST или выполнив:
$ lsusb
В результате вы узнаете ID устройства из четырех-символьных/цифр как, например, 168c и 0013.
Чтобы связать ID усройства с Ndiswrapper выполните:
# /usr/sbin/ndiswrapper -d xxxx:xxxx <имя_драйвера>
Для просмотра успешной загрузки драйвера выполните:
$ dmesg | tail
Если драйвер работает, то вы можете создать псевдоним "alias" NDISwrapper в /etc/modules.conf
с помощью команды:
# /usr/sbin/ndiswrapper -m
Загрузите модуль NDISwrapper:
# /sbin/modprobe ndiswrapper
После этого вы можете настроить устройство с помощью Yast.
Настройка карты в YaST
Если у вас какие-то проблемы при обнаружении беспроводной карты в NetworkManager, тогда настройте сетевую карту исходя из нижеприведенных действий.
Существуют много всевозможных конфигураций. Это только типичный пример:
Пояснение:
- Для начала разрешите управление сети традиционным методом ifup: YaST → Сетевые настройки → Общие параметры
- Затем, чтобы начать конфигурацию сети перейдите в раздел вкладки "Обзор"
- Выберите "Добавить" в нижней части окна
- Тип устройства: "Беспроводной"
- Название конфигурации: "0" (или любой другой)
- Имя модуля: "ndiswrapper"
- Параметры: оставьте пустыми в том числе и "PCMCIA", "USB"
- ... и, наконец, "Далее"
- На следующем экране "Настройки сетевой карты" выберите версии динамического адреса и затем нажмите "Далее"
- В разделе "Настройка беспроводной сетевой карты" оставляем настройки по умолчанию, т. е.:
- Режим работы: "Управляемая"
- Имя сети (ESSID): "" (оставьте пустым)
- Метод аутентификации: "WEP-открытый"
- Тип ввода ключа: "Контрольная фраза"
- Ключ шифрования: "" (оставьте пустым)
- ... и, наконец, "Далее"
- Если откроется менеджер паролей, укажите свой пароль
- Проигнорируйте предупреждение "Не использовать шифрование - это риск безопасности"
- Вернитесь в "Общие параметры" и выберите "Управляемый пользователем с NetworkManager"
- ... и, наконец, "OK"
Поздравления! Ваша карта настроена.
Теперь вы можете открыть NetworkManager и выбрать одну из найденных сетей.
Если Ваш SSID (имя беспроводной сети) не транслируется, тогда задайте самостоятельно, в параметрах NetworkManager.
Потенциальные конфликты и проблемы
Не загружается NDISwrapper, а при выполнении команды "lsmod|grep -i ndiswrapper" соответствующий модуль не отображается?
Загрузите модуль вручную:
# /sbin/modprobe -v ndiswrapper
И если модуль загружается без ошибок, тогда перезапустите сеть:
# systemctl restart network.service
Для загрузки модуля во время загрузки системы, выполните:
# echo ndiswrapper > /etc/modules-load.d/ndiswrapper.conf
Не подключается к беспроводной сети с помощью NetworkManager?
Подключитесь с помощью YaST, выбрав при этом "традиционный метод ifup" и присвоев статические настройки интерфейса ( IP-адрес, шифрование, метод аутентификации и т. д.).