Показаны сообщения с ярлыком rt61. Показать все сообщения
Показаны сообщения с ярлыком rt61. Показать все сообщения

3 февр. 2008 г.

openSuSE-10.3-x86-64 + D-Link DWL-510

Не помню, говорил или нет, но после апдейта железа я поставил openSuSE10.3-x64. Все бы хорошо, но ставшая уже родной и металлически надежной связка ndiswrapper + winxp_drivers для D-Link DWL-510 не заработала. Причем дело даже не в проекте ndiswrapper, он скомпилился в x64 среде как в родной (да и x86 либы для совместимости все ранов все исталлены были), но вот сам ХРшный дривер работать в такой неблагодушной для него обстановке не захотел. Поиски родных D-Link/RaLink драйверов для x64 винды результата не дали. Максимум, что нашел, так это дрова для Vista-x64 на австрийском представительстве длинка (на других почему то не было ;)), но с ними тоже ниче не подавало признаков жизни, кроме ругани в консоли. Пришлось искать другие пути.
Уже целенаправленно запрягши гугль, выполз на интересную статейку по интересующему меня предмету. Вот она. В принципе там все и получилось. Правда не сразу. Дело в том, что там ОС 32битная. В моем же случае скачать и скомпилить пришлось CVS-сборку драйверов для rt61 - отсюда. Ибо в релизах 64-битные версии ОС не поддерживаются. Распаковав полученный архив и проделав станрадтные ./configure && make && make install получаем ядерный модуль rt61.ko, который тут же modprobe'ом подгружаем. Описанное в статье firmware для корректной работы YaST'a с модулем и с самой карточкой вполне подошло и для меня. Поэтому берем zip отсель и кладем имеющиеся там файлы (rt2561.bin rt2561s.bin rt2661.bin) в /lib/firmware. Для надежности делаем симлинк в /usr/lib64 >> ln -s /lib/firmware /lib64/firmware.
Ну и в принципе все. Теперь наша сетевая карточка вполне работоспособна, и ее достаточно лишь настроить YaST'ом. Так как firmware файлы мы уже куда нужно положили, то на вопрос яста о них отвечаем положительно, то есть жмем Continue. Ну и все. После аналогичных обычным настроек интерфейс поднимается и работает на ура. Правда, у меня почему-то с первого раза ifconfig не выдал интерфейса wlan0, поэтому пришлось продублировать врукопашную командой ifup wlan0. После этого ifconfig начал радовать глаз. ;)
upd: как показала практика, система с ядрышком версии 2.6.22.13 и положенными смотри выше куда фирмварями без проблем подцепила и запустила сетевку под управлением модуля rt61pci.ko, "заданным по умолчанию" ;) Имеем сие в виду

wi-fi via D-link G520 + ndiswrapper

Итак, сегодня наша задача - научить игуану (openSuSE 10.2 на базе ядра 2.6.18.2-34) работать с сетевой беспроводной картой D-Link Air-Plus G520, что построена на чипе RaLink RT61. Вроде в начальных условиях не соврал. Дальше проверим.
Считаем что карточка у нас успешна подключена в свободный PCI-слот и приветливо подмигивает одним из двух своих зеленых глазков. Замигает второй - задача решена. Сразу хочу сказать, что ядро 2.6.18.2-34 можно дополнить модулем wlan-ng-kmp, которые можно отыскать в репозитории openSuSE для соответствующих версий ядра. Этот модуль содержит свободные реализации драйверов для ралинковских чипсетов. В принципе, их можно найти в инете и скопмилить самостоятельно. Хотя бы вот по этому примеру.
Честно говоря, у меня они компилиться не захотели принципиально. Пробовал и модуль для ядра на их основе ставить - система работала до первого обращения к устройству - потом все зависало намертво. Более того, загрузить потом ее тоже было весьма проблематично, из-за того же первого обращения к сетевухе ;) Короче говоря, из всех решений наиболее оперативное, надежное и адекватно работающее - это настройка с использованием родных win-драйверов и разработки проекта ndiswrapper. Правда не знаю, как у них обстоят дела с прикручиванием wep/wpa/wpa2 шифрования (пока не занимался этим вопросом), но вроде можно ;).
Но приступим... Для начала убедимся, что сетевка у нас рабочая и на аппаратном уровне системой видится (требуются права суперпользователя). Ага, есть, и именно то, что нужно. Теперь со спокойной душой топаем на хоумпагу проекта ndiswrapper и загружаем исходники. Или - в любимый репозиторий пакетов и там ищем уже готовую rpm-ку. Неважно. Тут одна небольшая ремарка.
Проект достаточно быстро развивается, и некоторые релизы, в которых к примеру объявлена поддержка свежих версий ядраили еще какие новшества или исправления, на каких-то системах будут собираться, на каких-то нет. По крайней мере я перепробовал несколько версий, и остановился на 1,81 (на момент написания статьи актуальна 1,89). Так что если сорцы не компилятся или пакет не хочет устанавливаться, требуя непонятные зависимости и конфликтуя с половиной системы - есть резон попробовать другую сборку.
Итак, скачали распаковали и make install && make clean или rpm -i ... В первом случае (я его использовал) выйдет что-то вроде этого:
Как видно из скрина, whereis отдает нам местоположение ndiswrapper'a, значит все установилось хорошо. Далее нам потребуется .inf-файл драйвера сетевки. У меня он находится на CD (netrt61g.inf), шедшем в комплекте с девайсом. Устанавливаем драйвер командой
ndiswrapper -i /path/to/your/inf-file
(ключи можно посмотреть с помощью ndiswrapper -h). Далее проверяем корректность установки:
# ndiswrapper -l
netrt61g : driver installed
device (1814:0302) present
Усе гут! Теперь подгрузим модуль ядра и запишем в modprobe конфигурацию установленного драйвера.
# modprobe ndiswrapper
# ndiswrapper -m
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper
Все, теперь ОС вполне может работать с картой. Осталось лишь "ввести ее на параллельную работу с сетью". Отрываем YaST - Сетевые устройства - Сетевая плата и наблюдаем пока следующую картину
Жмем добавить и попадаем в меню ручного добавления сетевого устройства. Заполняем нужные поля согласно скриншоту
Затем Далее, и попадаем в окно уже специфических настроек wi-fi карточки.

Тут остановлюсь подробнее. Доступно 3 режима работы wi-fi модуля в системе - Главная (ваш модуль работает как точка доступа), Управляемая (или режим инфраструктуры, когда есть внешная АР, то есть точка доступа) или Ad-hoc (так называемая одноранговая сеть без АР). Как раз третий нам и нужен, ибо точки доступа поблизости нет, а режим Главный ndiswrapper'ом не поддерживается. Ставим Ad-hoc.
ESSID - уникальное имя вашей wi-fi сети, не зная его, к сети не подключиться. Методы аутенфикации доступны как с шифрованием (wpa/wep), так и без него, но с общим ключом (значение которого нужно знать для допуска в сеть, он вводится в следующей строке) или с открытым (то бишь - велкам все). Берем общий ключ, ставим режим его ввода ASCII и вводим 5 или 13 (ограничения режима) символов. Настройки Эксперта в принципе можно не изменять, для умолчального запуска устроит.
Ну и все. Теперь применяем все изменения и получаем на выходе вполне функционирующий беспроводной интерфейс wlan0 c заданными параметрами.
Что и требовалось получить. Теперь, чтобы соединиться с данным компьютером по wi-fi с другой машины, нужно лишь просканить окружающее пространство на наличие сети и подключиться к ней, введя соответствующие ключ и essid и прописав в настройках сетевой карты IP-адрес той же подсети. Ну а если поднять DHCP-сервер, то последнее действие будет не нужно. ;) Но это уже совсем другая история, которую я расскажу в следующий раз.