Tyto stránky jsou zastaralé. Veškerý obsah a mnoho dalších novinek je nyní dostupných na mé vlastní doméně :
http://max.devaine.cz
Návod jak zprovoznit D-Link DWL-520+ pod jádrem 2.4.x a 2.6.x :
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.bin
Pro 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
route
Zavedení 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" .