Документация по ОС FreeBSD Среда, 01.05.2024, 19:27
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Net

Использование Windows драйверов D-Link DWL-G520+ под FreeBSD
NDIS wi-fi проект_evil и DWL-G520+

Благодарен за помощь "Madzhara" ака "OF462M-2".

Нужно было мне настроить dwl-g520+, как извесно во FreeBSD начиная с 5 ветки имеет такую вещь как NDIS (для тех кто не в курсе это эмулятор для Windows драйверов, из *.sys & *.ini фаилов ...)

Поставил я FreeBSD-5.3-generic, и взял диск D-Link DWL-G520+ c набором XP-шных драйверов в составе:

        FwRad16.bin
        FwRad17.bin
        GPLUS.inf
        GPLUS.sys

скопировал в /usr/src/d-link (или куда хотите, это не имеет значение)

        #mount /cdrom
        #cd /cdrom
        #cd driver/
        #cd <где находятся драйвера>
        #mkdir /usr/src/d-link
        #cp * /usr/src/d-link

дальше согласно правилам пишем ....

        // заходим в каталог с NDIS
        #cd /usr/src/sys/modules/if_ndis
 
        // создаём запускающий фаил ndis_driver_data.h
        #ndiscvt -i /usr/src/d-link/GPLUS.inf -s usr/src/d-link/GPLUS.sys -o ndis_driver_data.h

        // заходим в каталог с NDIS - файлами для компиляции
        #cd /usr/src/sys/dev/if_ndis/

правим файлы

          if_ndis.c
          if_ndis_pccard.c
          if_ndis_pci.c

   на предмет замены в них строчки

          #include "ndis_driver_data.h"  на
          #include "/usr/src/sys/modules/if_ndis/ndis_driver_data.h"   // путь до фаила

В конфиге ядра прописываем: (по совету  Madzhara, правда я этого не делал)

     options NDISAPI
     device ndis
     device wlan

(я так не делал .... я поше написал скрипт в rc.d он ниже)

        #cd /usr/local/etc/rc.d
        #ee ndis_run.sh

дальше пишем скрипт

        #!/bin/sh
        sleep 5
        #только если нет в ядре "options NDISAPI" и  "device ndis" ,
        # а если есть то не пишите эту строчку
        kldload ndis
        sleep 5
        ifconfig 172.16.0.2 netmask 255.255.255.0 ssid mu_ssid up
        sleep 5
        route add default 172.16.0.1

Возможно, что можно запускать как-то еще, однако и так ничего.

Когда начинает подгружаться скрипт, то пишется что нет *.bin и не могу загрузить.
Решение


        #mkdir /compat/ndis (тут мне подсказал "Madzhara" ака "OF462M-2")
        #cp /usr/src/d-link/FwRad16.bin /compat/ndis
        #cp /usr/src/d-link/FwRad17.bin /compat/ndis
       
        #reboot   //перезагрузка

        #kldstat -v|grep ndis должен выдать:

            112 ndisapi
            119 pci/ndis
            120 cardbus/ndis

Если все прошло нормально, то дальше ifconfig отдаст устроиство как ndis0

МИНУСЫ ПОДХОДА (думаю, легко устраняем, после внимательного изучения процесса загрузки и сборки ядра):

1. Скрипт /etc/rc.network отрабатывается раньше, чем запустится драйвер ndis0, что мешает конфигурить логические составляющие интерфейса типа SSID и IP-адреса посредством прописывания оных в /etc/rc.conf.

Выход - настраивать все в /etc/rc.local, что не есть правильно. (C)"Madzhara" ака "OF462M-2"

(мне это не понадобилось за счёт скрипта и я даже ядро не пересобирал, ну кроме как в целях включения NAT)

2. Неупорядоченность самого процесса сборки. Думаю, при правильном размещении ndis_driver_data.h и\или написании добротного патчика к соответствующим Makefile'ам все будет гораздо изящнее. (C)"Madzhara" ака "OF462M-2"
 
Автор: (C)"Madzhara" ака "OF462M-2"
Категория: Net | Добавил: oleg (12.11.2007)
Просмотров: 1108 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024