The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Использование Windows драйверов D-Link DWL-G520+ под FreeBSD (wifi wavelan freebsd driver win)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: wifi, wavelan, freebsd, driver, win,  (найти похожие документы)
From: sypper-pit <sypper-pit@mail.ru.> Newsgroups: email Date: Mon, 9 Mar 2005 14:31:37 +0000 (UTC) Subject: Использование 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"

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, qwerty (??), 19:06, 09/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот еще один проект http://wlan.kewl.org/modules/mantis/main_page.php
    имхо меньше гимора в установке и использовании - я сам его пользую :)
     
  • 1.2, sypperpit (??), 07:56, 10/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не я пробовал писать " ndis_load="YES"" не выходит ... почему не знаю ... да и какая разница главное что работает ..
     
     
  • 2.3, sypperpit (??), 07:57, 10/03/2005 [^] [^^] [^^^] [ответить]  
  • +/
    не , я пробовал писать " ndis_load="YES"" не выходит ... почему не знаю
    ... да и какая разница главное что работает .. и так


     

  • 1.4, sypperpit (??), 05:07, 11/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ACX111 не хотит работать если отключенно brootcast на АР и под фрёй отказывается .....
     
     
  • 2.5, qwerty (??), 10:52, 11/03/2005 [^] [^^] [^^^] [ответить]  
  • +/
    я кажись косяка двинул :)) прошу прощения - у меня  D-Link DWL-520+ карта стоит на фре а не  D-Link DWL-G520+ (буковку G не заметил, сорри)
     

  • 1.6, Tarantul (??), 02:36, 14/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а почему нельзя было использовать ath(4) ???

     
  • 1.7, sypperpit (??), 06:48, 14/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    потому что atheros - это dwl-g520 , а dwl-g520+ на процах TI
     
  • 1.8, sypperpit (??), 07:48, 15/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не забывайте make там где есть makefile только после копирования в каталог ... *.bin *.sys *.h а затем маке
     
  • 1.9, Evro (?), 14:46, 28/03/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    D-LINK DWL-G520 тоже с виндовым дровом пришлось собрать, так как ath(4)не увидел и не захотел цеплять карту
     
     
  • 2.28, Sergey (??), 09:29, 28/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    >D-LINK DWL-G520 тоже с виндовым дровом пришлось собрать, так как ath(4)не увидел
    >и не захотел цеплять карту


    А можно как то поподробнее?
    У меня такая же карта (D-LINK DWL-G520 (без плюса))на FreeBsd 5.3

    Буду очень благодарен

     

  • 1.10, qwerty (ok), 18:18, 12/04/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а такой финт ушами не подойдет для DWL-120+ (usb)??? чет не хочется ставить линукс, привык на фре :) буду премного благодарен ответившим
     
     
  • 2.11, qwerty (ok), 11:21, 13/04/2005 [^] [^^] [^^^] [ответить]  
  • +/
    мдя.. косяка двинул :)) NDIS - работает с PCI шинами, на Usb оно не расчитано.
     
     
  • 3.23, _Nick_ (??), 21:56, 29/10/2005 [^] [^^] [^^^] [ответить]  
  • +/
    >мдя.. косяка двинул :)) NDIS - работает с PCI шинами, на Usb
    >оно не расчитано.

    выпей йаду
    NDIS работает и с USB. У меня под линухом с ndiswrapper'ом чудно жЫвет DWL-G122 USB

     
  • 2.19, alex (??), 16:58, 12/09/2005 [^] [^^] [^^^] [ответить]  
  • +/
    Мне бы тожа тока с G122
     

  • 1.12, avermike (ok), 16:39, 06/05/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поплясал я с бубном вокруг FreeBSD 5.3 и D-Link DWL-G520+, но все таки завел ее. Коннектится, все дела. Но есть один минус. После того как обрываешь соединение, новое не сделать пока не перезагрузишь фрю. Не помогают ни stop/start интерфейса, ни unload/load ndis.
    Есть какие мысли ?

     
     
  • 2.13, qwerty (ok), 14:11, 11/05/2005 [^] [^^] [^^^] [ответить]  
  • +/
    тоже самое и у меня было...
     

  • 1.14, Bocha (??), 11:07, 22/06/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://www.livejournal.com/users/bochafreebsd/19730.html
    Вот здесь изложил, как сделал драйвер для 3Com PCMCIA Wireless 10075
     
  • 1.15, Ficus (??), 00:47, 02/07/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    делаю все как написано, но при сборке ядра с указанными опциями вылезает следующее:
    if_ndis.o(.text+0x522): In function 'ndis_attach':
    : undefined reference to 'ndis_alloc_amem'
    if_ndis.o(.text+0x103f): In function 'ndis_detach':
    : undefined reference to 'ndis_free_amem'
     
  • 1.16, z0D5e8n7x (?), 00:05, 20/07/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    большое СПАСИБО автору статьи, а то я уже потерял надежду
     
  • 1.17, z0D5e8n7x (?), 07:53, 21/07/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ВОПРОС:
    делаю все как написано, но при сборке ядра с указанными опциями вылезает следующее:
    if_ndis.o(.text+0x522): In function 'ndis_attach':
    : undefined reference to 'ndis_alloc_amem'
    if_ndis.o(.text+0x103f): In function 'ndis_detach':
    : undefined reference to 'ndis_free_amem'

    ОТВЕТ:
    так как эти функции находятся в if_ndis_pccard.c
    в конфиге ядра добавь строчки
    device cbb
    device pccard
    device cardbus

    Вообще лично я сделал так:
    после создания ndis_driver_data.h
    выполняем команды
    ndiscvt -f FwRad16.bin
    ndiscvt -f FwRad17.bin

    получаются файлы

    FwRad16.bin.o
    FwRad16.bin.so
    FwRad17.bin.o
    FwRad17.bin.so

    копируем полученное в /boot/modules

    добавляем в loader.conf строчки
    FwRad16.bin_load="YES"
    FwRad17.bin_load="YES"

    не забываем исправить файлы

    if_ndis.c
    if_ndis_pccard.c
    if_ndis_pci.c

    теперь в конфиг ядра добавляем

    device cbb
    device pccard
    device cardbus

    options NDISAPI
    device ndis
    device wlan

    собираем полученный ужас и перегружаемся
    если все нормально то карточка зароботает

    ПЛЮС:
    интерфейс можно по-чедовечески поднять в rc.conf

    ifconfig_ndis0="192.168.0.2 netmask 255.255.255.0 ssid WLAN up"

     
  • 1.18, Maks (??), 11:57, 25/07/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Thanks very much!!!
    Я по этому посту свою Netgear WG311v2 (TI chipset) под FreeBSD 5.4 завел
    Этот пост в FAQ!!!
     
  • 1.20, sypperpit (??), 10:40, 05/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ну чтож спосибо вам за поддержку попробую выписывать чтонить новое и заводить железяки по новее :)
     
  • 1.21, sypperpit (??), 10:44, 05/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    и вобше прочти те тут http://www.opennet.ru/openforum/vsluhforumID3/5255.html#17
    это ответ на мою стотейку тоже ничего красиво решил проблему :)
     
  • 1.22, mr_squall (?), 21:26, 29/10/2005 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот ошибка в следующей строке: #ndiscvt -i /usr/src/d-link/GPLUS.inf -s usr/src/d-link/GPLUS.sys -o ndis_driver_data.h    нужно:#ndiscvt -i /usr/src/d-link/GPLUS.inf -s /usr/src/d-link/GPLUS.sys -o ndis_driver_data.h
     
     
  • 2.24, AZU (?), 00:08, 06/11/2005 [^] [^^] [^^^] [ответить]  
  • +/
    испытываю трудность с сабжем. Собирал и модулями и в ядро совал. Все без ошибок собирается, но устройство не определяется как ndis. ugen и все...
    VID 2001 PID 3B01...

    на диске дрова: пара inf/sys tiacxubt (for boot device)  и  tiacxusb (ACX USB WLAN) и бинарник ACX100.bin
    в инфе, который tiacxusb (на который винда ссылается), есть строчки

    [Manufacturer]
    %TI%=AIRPLUS
    [ControlFlags]
    ExcludeFromSelect = USB\VID_2001&PID_3B00
    [AIRPLUS]
    ╛x.DeviceDesc%=acx.Ndi,USB\VID_2001&PID_3B00

    а в инфе бутдевайса

    [Manufacturer]
    %MfgName%=TI
    [ControlFlags]
    ExcludeFromSelect = USB\VID_2001&PID_3B01
    [TI]
    %usbloader.DeviceDesc%=usbloader.Dev, USB\VID_2001&PID_3B01

    ndis_...data.h создавал пользуя tiacxusb inf/sys. Пробовал в инфе PID_3B00 менять на PID_3B01 - монопенисуально.

    видел тут упоминание про сабж и подобный ему; если кто завел - просветите.
    Фря = куррент.

     
     
  • 3.27, sypperpit (??), 13:35, 10/07/2006 [^] [^^] [^^^] [ответить]  
  • +/
    это девайс под USB нужно рассматривать отдельно .... тк это отдельная тема .... а КУРЕНТ версии не есть гуд
     

  • 1.25, Bof (?), 19:39, 16/04/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня та же проблема, что и в последнем сабже.
    Адаптер DWL-G122. Распознается как ugen0. Распознаваться больше никак не хочет.
     
  • 1.26, sypperpit (??), 13:33, 10/07/2006 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    итак вам нужно посмотреть на каком чипе работает ваша картачка если это atheros то вам нужно собрать ядро с девайсом ath посмотреть можно так #pciconf -vl
     
     
  • 2.29, Pattern (??), 18:32, 10/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Давно тут не было сообщений, но может кто заглянет в топик...
    Тут вот какой вопрос: а как определялась даная карточка системой, всмысле что писал dmesg? Потому что столкнулся с проблемой: Dell Inspiron 1501, карта Dell Wireless 1390 WLAN MiniCard. На родном сайте соответственно драйверов под freebsd нет (так бы и не стал сюда писать). Ставлю 6.2, имя карте определяется как none4, все параметры вписывает верно. Но как я понимаю, если карточка "none", то значит freebsd под неё подходящего драйвера не нашла. И как тут быть?
     
     
  • 3.30, smile (??), 11:33, 11/12/2007 [^] [^^] [^^^] [ответить]  
  • +/
    >Давно тут не было сообщений, но может кто заглянет в топик...
    >Тут вот какой вопрос: а как определялась даная карточка системой, всмысле что
    >писал dmesg? Потому что столкнулся с проблемой: Dell Inspiron 1501, карта
    >Dell Wireless 1390 WLAN MiniCard. На родном сайте соответственно драйверов под
    >freebsd нет (так бы и не стал сюда писать). Ставлю 6.2,
    >имя карте определяется как none4, все параметры вписывает верно. Но как
    >я понимаю, если карточка "none", то значит freebsd под неё подходящего
    >драйвера не нашла. И как тут быть?

    Dell Wireless 1390 WLAN MiniCard - сие суть Broadcom 43хх. В моем случае 4311.
    Неплохо бы заглянуть в "pciconf -lv" и развеять все сомнения

    Завелось через ndisulator

    http://bsdportal.ru/viewtopic.php?t=15296&start=30&sid=f808d0f970a7f3362a063e

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру