Tento text je velmi zastaralý a již nemusí poskytovat funkční řešení daného problému. Pro bližší info mne neváhejte kontaktovat.
(Tento zastaralý text je ponechán na webu z nostalgie.)
Návod jak zprovoznit D-Link DWL-520+ pod jádrem 2.4.x a 2.6.x :
(Tento zastaralý text je ponechán na webu z nostalgie.)
Co budete pořebovat ? - Hlavně zdrojové soubory jádra (kernelu), aplikace předpokládají, že bude jádro umístěno v /usr/src/linux ftp://ftp.linux.cz/pub/linux/kernel/ - wireless-tools (dávám přednost verzi 2.6)- je to sada nástrojů iwconfig /*nastavuje parametry karty*/ iwlist /*slouží ke skenování okolí a vašeho připojení..*/ iwspy /*přesně nevím :-/ */ iwpriv /*přesně nevím :-/ */ ifrename /*přesně nevím :-/ */ http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.26.tar.gz - Windows ovladače pro DWL-520+ (verze v době psaní tohoto dokumentu : dwl520+_drivers_307.zip) možnost stahování např. z : ftp://ftp.dlink.com/Wireless/dwl520+/Driver/ - Nejaktuálnější verzi acx100 "ovladačů" http://rhlx01.fht-esslingen.de/~andi/acx100/ A můžem se pustit do toho :-) : Předpokládejme, že jsme win ovladače stáhli do adresáře /home/max/wifi/dwl/ a acx100 ovladače s wireless-tools do /home/max/wifi/ #ls -l /home/max/wifi/dwl/ dwl520+_drivers_307.zip #ls -l /home/max/wifi/ acx100-0.2.0pre8_plus_fixes_33.tar.bz2 wireless_tools.26.tar.gz #cd /home/max/wifi/ #tar xvfz wireless_tools.26.tar.gz /*rozbalení wireless-tools*/ wireless_tools.26/ wireless_tools.26/INSTALL wireless_tools.26/Makefile wireless_tools.26/README wireless_tools.26/iwpriv.c wireless_tools.26/iwconfig.8 wireless_tools.26/iwconfig.c wireless_tools.26/wireless.h wireless_tools.26/iwspy.c wireless_tools.26/iwpriv.8 wireless_tools.26/iwlist.c wireless_tools.26/iwspy.8 wireless_tools.26/iwgetid.c wireless_tools.26/sample_pm.c wireless_tools.26/COPYING wireless_tools.26/PCMCIA.txt wireless_tools.26/iwlist.8 wireless_tools.26/wireless.10.h wireless_tools.26/iwlib.h wireless_tools.26/iwlib.c wireless_tools.26/CHANGELOG.h wireless_tools.26/macaddr.c wireless_tools.26/wireless.11.h wireless_tools.26/iwevent.c wireless_tools.26/iwgetid.8 wireless_tools.26/wireless.12.h wireless_tools.26/wireless.13.h wireless_tools.26/wireless.14.h wireless_tools.26/iwevent.8 wireless_tools.26/wireless.15.h wireless_tools.26/DISTRIBUTIONS.txt wireless_tools.26/wireless.7 wireless_tools.26/sample_enc.c wireless_tools.26/sample_priv_addr.c wireless_tools.26/wireless.16.h wireless_tools.26/iwredir.8 wireless_tools.26/iwredir.c #cd wireless_tools.26/ #su root /*využití práv roota - bez nich nemůžeme instalovat*/ #make /*zkompilování programu*/ #make install /*instalace programu*/ #cd .. /*rozbalení acx100 ovl. do adresáře /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33*/ #tar xvf acx100-0.2.0pre8_plus_fixes_33.tar.bz2 --use bzip2 acx100-0.2.0pre8_plus_fixes_33/ acx100-0.2.0pre8_plus_fixes_33/doc/ acx100-0.2.0pre8_plus_fixes_33/doc/general_info acx100-0.2.0pre8_plus_fixes_33/doc/glossary acx100-0.2.0pre8_plus_fixes_33/doc/usb_info acx100-0.2.0pre8_plus_fixes_33/doc/iwpriv.txt acx100-0.2.0pre8_plus_fixes_33/doc/firmware_versions.txt acx100-0.2.0pre8_plus_fixes_33/src/ acx100-0.2.0pre8_plus_fixes_33/src/acx100.c acx100-0.2.0pre8_plus_fixes_33/src/acx100_helper.c acx100-0.2.0pre8_plus_fixes_33/src/acx100_ioctl.c acx100-0.2.0pre8_plus_fixes_33/src/acx100_helper2.c acx100-0.2.0pre8_plus_fixes_33/src/acx80211frm.c acx100-0.2.0pre8_plus_fixes_33/src/Makefile acx100-0.2.0pre8_plus_fixes_33/src/ihw.c acx100-0.2.0pre8_plus_fixes_33/src/acx100_conv.c acx100-0.2.0pre8_plus_fixes_33/src/acx100_usb.c acx100-0.2.0pre8_plus_fixes_33/src/idma.c acx100-0.2.0pre8_plus_fixes_33/src/ioregister.c acx100-0.2.0pre8_plus_fixes_33/src/.#acx100.c.1.228 acx100-0.2.0pre8_plus_fixes_33/src/ihw_usb.c acx100-0.2.0pre8_plus_fixes_33/src/Makefile2.6 acx100-0.2.0pre8_plus_fixes_33/src/setrate.c acx100-0.2.0pre8_plus_fixes_33/ChangeLog acx100-0.2.0pre8_plus_fixes_33/Configure acx100-0.2.0pre8_plus_fixes_33/LICENSE acx100-0.2.0pre8_plus_fixes_33/Makefile acx100-0.2.0pre8_plus_fixes_33/README acx100-0.2.0pre8_plus_fixes_33/TODO acx100-0.2.0pre8_plus_fixes_33/firmware/ acx100-0.2.0pre8_plus_fixes_33/firmware/Makefile acx100-0.2.0pre8_plus_fixes_33/firmware/extract.c acx100-0.2.0pre8_plus_fixes_33/include/ acx100-0.2.0pre8_plus_fixes_33/include/acx100.h acx100-0.2.0pre8_plus_fixes_33/include/acx100_helper.h acx100-0.2.0pre8_plus_fixes_33/include/acx100_helper2.h acx100-0.2.0pre8_plus_fixes_33/include/ioregister.h acx100-0.2.0pre8_plus_fixes_33/include/acx80211frm.h acx100-0.2.0pre8_plus_fixes_33/include/idma.h acx100-0.2.0pre8_plus_fixes_33/include/ihw.h acx100-0.2.0pre8_plus_fixes_33/include/monitor.h acx100-0.2.0pre8_plus_fixes_33/include/p80211hdr.h acx100-0.2.0pre8_plus_fixes_33/include/p80211mgmt.h acx100-0.2.0pre8_plus_fixes_33/include/p80211msg.h acx100-0.2.0pre8_plus_fixes_33/include/p80211types.h acx100-0.2.0pre8_plus_fixes_33/include/version.h acx100-0.2.0pre8_plus_fixes_33/include/wlan_compat.h acx100-0.2.0pre8_plus_fixes_33/include/acx100_conv.h acx100-0.2.0pre8_plus_fixes_33/scripts/ acx100-0.2.0pre8_plus_fixes_33/scripts/stop_net acx100-0.2.0pre8_plus_fixes_33/scripts/iwc acx100-0.2.0pre8_plus_fixes_33/scripts/start_net acx100-0.2.0pre8_plus_fixes_33/scripts/crashme acx100-0.2.0pre8_plus_fixes_33/scripts/acx100_indent acx100-0.2.0pre8_plus_fixes_33/scripts/fetch_firmware acx100-0.2.0pre8_plus_fixes_33/scripts/run_splint acx100-0.2.0pre8_plus_fixes_33/scripts/inject_kernel_tree acx100-0.2.0pre8_plus_fixes_33/scripts/kernel_help #cd dwl/ /*rozbalení win ovl. do aktuálního adresáře /home/max/wifi/dwl*/ #uzip dwl520+_drivers_307.zip Archive: dwl520+_drivers_307.zip inflating: Setup.inx inflating: data1.cab inflating: data1.hdr inflating: data2.cab inflating: ikernel.ex_ inflating: layout.bin inflating: Setup.exe inflating: Setup.ini inflating: Drivers/Win2000/AIRPLUS.CAT inflating: Drivers/Win2000/AIRPLUS.INF inflating: Drivers/Win2000/AIRPLUS.SYS inflating: Drivers/Win2000/RADIO0d.BIN inflating: Drivers/Win2000/RADIO11.BIN inflating: Drivers/Win2000/RADIO15.BIN inflating: Drivers/Win2000/WLANGEN.bin inflating: Drivers/Win98/AIRPLUS.CAT inflating: Drivers/Win98/AIRPLUS.INF inflating: Drivers/Win98/AIRPLUS.SYS inflating: Drivers/Win98/RADIO0d.BIN inflating: Drivers/Win98/RADIO11.BIN inflating: Drivers/Win98/RADIO15.BIN inflating: Drivers/Win98/WLANGEN.bin inflating: Drivers/WinME/AIRPLUS.CAT inflating: Drivers/WinME/AIRPLUS.INF inflating: Drivers/WinME/AIRPLUS.SYS inflating: Drivers/WinME/RADIO0d.BIN inflating: Drivers/WinME/RADIO11.BIN inflating: Drivers/WinME/RADIO15.BIN inflating: Drivers/WinME/WLANGEN.bin inflating: Drivers/WinXP/AIRPLUS.CAT inflating: Drivers/WinXP/AIRPLUS.INF inflating: Drivers/WinXP/AIRPLUS.SYS inflating: Drivers/WinXP/RADIO0d.BIN inflating: Drivers/WinXP/RADIO11.BIN inflating: Drivers/WinXP/RADIO15.BIN inflating: Drivers/WinXP/WLANGEN.binPro jádro řady 2.4.x
/*zkopírování ovladačů kromě WLANGEN.bin*/ /*zkopírování a zároveň přejmenování souboru WLANGEN.bin na WLANGEN.BIN*/ #cd Drivers/Win2000/ #cp RADIO0d.BIN RADIO11.BIN /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/firmware/ #cp WLANGEN.bin /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/firmware/WLANGEN.BIN #cd /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/scripts/ #nano -w start_net /*editace startovacího scriptu - zde je jen část, která nás zajímá*/ #!/bin/bash ######################################### # start_net script # # acx100 project # # acx100.sourceforge.net # # edited by arnie < urnotwelcome@gmx.de> # ######################################### # Please edit here DEV=wlan0 ESSID="any" # THIS IS CASE SeNsItIvE!! any == associate to any ESSID # Default rate configured as 11Mbps to not cause connection problems with non-22Mbps hardware... RATE=11M AUTORATE=1 CHAN=6 # it's useful to try to stick to channels 1, 6 or 11 only, since these don't overlap with other channels #SHORTPREAMBLE=1 #set a value of 1 in order to use "Short Preamble" (incompatible with very old WLAN hardware!) #TXPOWER=18 # 0..20 (dBm) (18dBm is firmware default) overly large setting might perhaps destroy your radio eventually! MODE=Auto # Auto == auto-select Managed or Ad-Hoc depending on environment DEBUG=0xb #KEY="B401CD21B44CCD21DEADBEEF11" # WEP128 #KEY0="1234567890" #WEP64 #KEY1="1234567890" #KEY2="1234567890" #KEY3="1234567890" ALG=open # open == Open System, restricted == Shared Key USE_DHCP=0 # set to 1 for auto configuration instead of fixed IP setting IP=192.168.0.10 NETMASK=255.255.255.0 GATEWAY=192.168.0.254 # Usually no editing should be required below this line... # -- unless you want this script to fetch stuff with dhcp ######################################### DEV=wlan0 /*označení přidělené vaší wifi kartě*/ ESSID="any" /*zde vyplňte název vaší sítě - pozor na velká a malá písmena*/ RATE=11M /*nastavení rychlosti síťovky , mě jede na 22M , ale vy tam raději nechte 11M*/ CHAN=6 /*nastavení kanálu, který používáte pro spojení*/ MODE=Auto /*nechte auto*/ DEBUG=0xb /*zapnutý debug, nevím, zda je to dobře, ale já ho vypínám nastavením hodnoty 0x0*/ #KEY="B401CD21B44CCD21DEADB" # WEP128 /*pokud používáte šifrovaný přenos, tak zadejte svůj klíč mezi uvozovky a křížek před KEY odstraňte => zapne se volba KEY*/ USE_DHCP=0 /*použití DHCP 0=vypnuto 1=zapnuto , my DHCP nepoužíváme*/ IP=192.168.0.10 /*zde napište svojí IP adresu*/, NETMASK=255.255.255.0 /*zde napište svojí podmasku sítě*/ GATEWAY=192.168.0.254 /*a samozřejmě IP brány*/ Změny uložte #cd .. #./Configure /*připravení zdrojáků na kompilaci*/ #make /*zkompilování zdrojáků*/ Příkaz make install neprovádíme !!! #cd scripts #./start_net /*zavedení acx100 modulu a nastavení parametrů sítě*/ #./stop_net /*odpojení acx100 modulu => zrušení sítě*/Pro jádro řady 2.6.x
#mkdir /usr/share/acx #cd Drivers/Win2000/ #cp RADIO0d.BIN RADIO11.BIN /usr/share/acx/ /*zkopírování win ovl.*/ #cp WLANGEN.bin /usr/share/acx/WLANGEN.BIN /*zkopírování a přejmenování posledního souboru*/ #cd /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/ #cp -r src/ /usr/src/linux/drivers/net/wireless/acx /*zkopírování souborů a zároveň vytvoření adresáře*/ #cp -r include/* /usr/src/linux/drivers/net/wireless/acx /*zkopírování všech souborů v adresáři include*/ #cd /usr/src/linux/drivers/net/wireless/acx100/ #mv Makefile2.6 Makefile /*přejmenování Makefile2.6, které je pro jádra 2.6 na aktivní Makefile*/ #nano -w ../Makefile /*editace Makefile, který se nachází o adresář výše*/ obj-m += acx/ /*tento řádek doplníme*/ Nyní standartně zkompilujeme naše jádro a provedeme restart /*kompilaci jádra popisuji v nabídce praxe*/ #reboot Po nabootování systému můžeme náš modul lehce načíst : #modprobe acx_pci Síť můžeme zprovoznit třeba pomocí scriptu, který je napsán dole. Nebo aspoň pomocí příkazů v něm napsaných, tj. iwconfig ifconfig routeZavedení sítě při startu systému
#mkdir /usr/share/acx #cp /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/firmware/RADIO0d.BIN RADIO11.BIN WLANGEN.BIN /usr/share/acx/ #cp /home/max/wifi/acx100-0.2.0pre8_plus_fixes_33/src/acx_pci.o /lib/modules/kernel-2.4.x/kernel/drivers/net/ Tímto jsme zajistili možnost ručního připojování modulu.Cesta /usr/share/acx je defaulní nastavení, které lze změnit pomocí parametrů při připojování modulu. Tak, a aby se modul načítal automaticky při nabíhání systému musíme zeditovat soubor : V gnu/gentoo linux : #nano -w /etc/modules.autoload.d/kernel-2.4 nebo pro jádra řady 2.6.x #nano -w /etc/modules.autoload.d/kernel-2.6 acx_pci /*tento řádek doplníme*/ V gnu/debian linux : #nano -w /etc/modules.conf alias ... /*hafo jiných zařízení, alias ... které nás zatím nezajímají*/ alias wlan0 acx_pci /*tento řádek doplníme*/ Nebo, aby nám změny nemizely při instalaci nového software, tak provedeme úpravu : #nano -w /etc/modules alias ... /*hafo jiných zařízení, alias ... které nás zatím nezajímají*/ alias wlan0 acx_pci /*tento řádek doplníme*/ #update-modules S jinými distribucemi nemám moc zkušenosti, ale mělo by to být podobné Dále už nám chybí jen script, který nahodí síť.U některých distribucí je jejich součástí nebo jsou tyto scripty k nalezení na internetu.Zde vypíši script, který jsem si napsal pro gentoo linux : #nano -w /etc/init.d/wireless #!/sbin/runscript start() { ebegin "Zavadim wireless" iwconfig wlan0 mode managed channel 1 essid Max key XXXXXXXXXX rate auto ifconfig wlan0 192.168.2.21 broadcast 192.168.2.255 netmask 255.255.255.0 up route add default gw 192.168.2.1 eend $? "Zavadeni selhalo" } #chmod 755 /etc/init.d/wireless /*nastavení práv pro spouštění a čtení*/ #rc-update add wireless default /*přidání scriptu ke spouštění při náběhu systému*/ Návrat nastavení (Odstranění scriptu) provedeme takto : #rc-update del wireless Také můžete namítnout, proč nevytvořit script, který když používáme kernel 2.4.x rovnou spustí start_net. Nevím, zda toto řešení funguje (asi ano), ale mě osobně to příjde jako "prasárna" .