#format wiki #language for wiki bulgarian #language for kontakt german, russian or bulgarian = Конфигурация на WLAN-Адаптери с BROADCOM чипове чрез NDISWRAPPER на 7.10 и 8.04 = ---- Упътването като PDF със снимки за по-добро обяснение {{attachment:ndiswrapper_with_broadcom/Ndiswrapper_rev0.3_ubuntuwiki.pdf}} == 1. ПРЕПОРЪКА. == Бих си позволил да Ви посъветвам да използвате ndiswrapper, защото bcm43xx, b43 са още много нестабилни и при някои чипове се блокира операционната система при голямо натоварване на WLAN адаптера. За пример мога да посоча bcm4318, който за жалост имам, при голям интернет трансфер с 16mb през торентите. Тогава само рестарт помага до следващия срив на операционната система. Много неприятна и изнервяща ситуация е. == 2. ПОДГОТОВКА. == Предварително ви трябват основно пакетите ndiswrapper-common, ndiswrapper-utils-1.9,cabextract,wpa_supplicant,wpa_passphrase и подходящия Windows драйвер. Ако имате процесор с две и повече ядра тогава стандарните ndiswrapper пакети не са за препоръчване, защото не предлагат пълна поддръжка на SMP процесори. От версия 1.53 на ndiswrapper това вече е включено. Поради тази причина е необходимо да си свалите кода от страницата на разработчиците 2.1. ''http://ndiswrapper.sourceforge.net/joomla/'' 2.2. Windows драйверите се намират както следва : 2.2.1. за bcm43x ''https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff?highlight=(WifiDocs/Driver)'' 2.2.2. или за всички възможни драйвери ''https://help.ubuntu.com/community/WifiDocs/Driver'' 2.2.3. за bcm94311mcg mini pci ''http://rapidshare.com/files/70969505/WLANBroadcom.tar.gz.html'' 2.3. Cabextract ''http://de.archive.ubuntu.com/ubuntu/pool/universe/c/cabextract/'' 2.4. Ndiswrapper се намира на инсталационното CD. В случай, че сами ще си го компилирате погледнете точка 2.1. 2.5. wpa_supplicant и wpa_passphrase се инсталират автоматчно при инсталацията на Ubuntu. == 3. ИНСТАЛАЦИЯ В UBUNTU 7.10 и 8.04. == Oт тук нататък е лесно, но трябва да сте по-смели с конзолата - да пишете и конфигурирате. Това са стъпките: 3.1. Инсталирайте двата ndiswrapper пакета и cabextract. Виж по-горе в ПОДГОТОВКА . 3.2. Напишете {{{ velikovmn@ubuntu-x64:~$ sudo lspci 00:00.0 Host bridge: ATI Technologies Inc RS480 Host Bridge (rev 10) 00:02.0 PCI bridge: ATI Technologies Inc RS480 PCI-X Root Port 00:12.0 IDE interface: ATI Technologies Inc IXP SB400 Serial ATA Controller 00:13.0 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller 00:13.1 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller 00:13.2 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller 00:14.0 SMBus: ATI Technologies Inc IXP SB400 SMBus Controller (rev 11) 00:14.1 IDE interface: ATI Technologies Inc IXP SB400 IDE Controller 00:14.3 ISA bridge: ATI Technologies Inc IXP SB400 PCI-ISA Bridge 00:14.4 PCI bridge: ATI Technologies Inc IXP SB400 PCI-PCI Bridge 00:14.5 Multimedia audio controller: ATI Technologies Inc IXP SB400 AC'97 Audio Controller (rev 02) 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600] (rev a2) 02:00.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02) 02:01.0 Multimedia controller: Philips Semiconductors SAA7133/SAA7135 Video Broadcast Decoder (rev d0) 02:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:04.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) }}} или {{{ velikovmn@ubuntu-x64:~$ sudo lsusb Bus 003 Device 001: ID 0000:0000 Bus 002 Device 003: ID 058f:9360 Alcor Micro Corp. 8-in-1 Media Card Reader Bus 002 Device 002: ID 04a9:2220 Canon, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 }}} в конзолата, за да видите какви WLAN PCI CARD или WLAN USB Stick имате. В случаят при мене е {{{ 02:00.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02) }}} 3.3. Примерната инсталация е за ASUS WL-138g v.2(чип bcm4318) с Windows драйвер от HP sp34152.exe при Ubuntu 7.10 и 8.04. При 7.10 има само bcm43xx, а при 8.04 b43, bcm43xx и ssb. При 7.10 игнорирайте редовете с b43 и ssb. {{{ velikovmn@ubuntu-x64:~$ cabextract sp34152.exe velikovmn@ubuntu-x64:~$ cd sp34152 velikovmn@ubuntu-x64:~$ sudo ndiswrapper -i bcmwl5.inf velikovmn@ubuntu-x64:~$ sudo ndiswrapper -l bcmwl5 : driver installed device (14E4:4318) present (alternate driver: bcm43xx) velikovmn@ubuntu-x64:~$ sudo gedit /etc/modprobe.d/blacklist }}} (Тук трябва да неутрализирате bcm43xx,b43 и ssb , но синтаксът на файла трябва да се спази. На ред-само един blaklist модул. След рестарт b43, bcm43xx и ssb са блокирани и не се прикачват автоматично към ядрото) {{{ # replaced by b43 and ssb. blacklist bcm43xx blacklist b43 blacklist ssb }}} {{{ velikovmn@ubuntu-x64:~$ sudo rmmod -r bcm43xx velikovmn@ubuntu-x64:~$ sudo rmmod -r b43 velikovmn@ubuntu-x64:~$ sudo rmmod -r ssb velikovmn@ubuntu-x64:~$ sudo modprobe ndiswrapper }}} Сега трябва да изчакате 1 минута докато Ubuntu регистрира, че има ново устройство. То е wlan0, eth1 или друго. {{{ velikovmn@ubuntu-x64:~$ iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11g ESSID:"EssID" Mode:Managed Frequency:2.412 GHz Access Point: 00:AA:BB:CC:DD:EE Bit Rate=24 Mb/s Tx-Power:32 dBm RTS thr:2347 B Fragment thr:2346 B Power Management:off Link Quality:59/100 Signal level:-58 dBm Noise level:-96 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:2362436 Invalid misc:9266773 Missed beacon:0 }}} Имаме ли мрежа около нас? Сканирането става по следния начин : {{{ velikovmn@ubuntu-x64:~$ sudo iwlist wlan0 scan }}} Как се конфигурира WLAN - много лесно. Използвате командата iwconfig отново. За генериране на ключ Ви препоръчвам пограмката pwgen. Генерирането на ключ става по следният начин {{{ velikovmn@ubuntu-x64:~$ pwgen -c -n -s 63 1 z9x8aLTSJqBCaW4m3p03FwancKBlIxJdBXyQUtFhJBiuf2rwb2n1zSrKi3S1wF7 }}} Имайте на предвид,че според това дали е ключът 64 или 128 Bit дължината му е различна. Първо погледнете в интернет при http://wikipedia.com какво е WEP, WPA и какво означава 64 или 128 Bit ключ. За повече информация, какви опции има pwgen може да използвате man page. {{{ velikovmn@ubuntu-x64:~$ man pwgen }}} *За мрежа без кодиране {{{ velikovmn@ubuntu-x64:~$ sudo iwconfig wlan0 essid ТвоятWLANAcessPoint }}} *За мрежа с WEP кодиране {{{ velikovmn@ubuntu-x64:~$ sudo iwconfig wlan0 essid ТвоятWLANAcessPoint key ТвоятWEP }}} *(В обработка)За мрежа с WPA1/WPA2 кодиране трябва на wpa_supplicant да се подаде клюучът в ASCII или HEX формат. За препоръчване е да настроите мрежата през графичните програми Wicd или network-manager-* (не е довършено указанието за този тип кодиране) ## Ако я посочвате в ASCII, ## {{{ ## velikovmn@ubuntu-x64:~$ sudo iwconfig wlan0 essid ТвоятWLANAcessPoint key s:ТвоятWPA_или_WPA2 ## }}} ## а ако искате да улесните wpa_supplicant може да го обърнете директно в HEX формат с помоща на wpa_passphrase по сленият начин ## {{{ ## velikovmn@ubuntu-x64:~$ wpa_passphrase Stuggitown z9x8aLTSJqBCaW4m3p03FwancKBlIxJdBXyQUtFhJBiuf2rwb2n1zSrKi3S1wF7 ## network={ ## ssid="Stuggitown" ## #psk="z9x8aLTSJqBCaW4m3p03FwancKBlIxJdBXyQUtFhJBiuf2rwb2n1zSrKi3S1wF7" ## psk=7119142e59cce2ef0e4b28e8d9ff20a9fbff15563c6016c1778e3f54e55aac38 ## } ## }}} ## Самата конфигурация става с ## {{{ ## velikovmn@ubuntu-x64:~$ sudo iwconfig wlan0 essid Stuggitown key ## 7119142e59cce2ef0e4b28e8d9ff20a9fbff15563c6016c1778e3f54e55aac38 ## }}} Вече имате WLAN връзка и интернет, които работят успешно със статично или динамично IP на Router. Важно към 7.10 : При 7.10 трябва да добавите bcm43xx към /etc/modprobe.d/blacklist, а ndiswrapper към /etc/modules. Важно към 8.04 : При 8.04 с ядро по ниско от 2.6.24-18, при рестарт, модулът ssb отново се зарежда, въпреки че е в blacklist списъка и не предоставя контрол на Ndiswrapper върху WLAN адаптера . Този BUG е премахнат при 2.6.24-18. Ако сте с по-ниска версия, то след всеки рестарт трябва отново да изпълните в конзолата {{{ velikovmn@ubuntu-x64:~$ sudo modrobe -r b43 velikovmn@ubuntu-x64:~$ sudo modrobe -r ssb velikovmn@ubuntu-x64:~$ sudo modrobe -r bcm43xx velikovmn@ubuntu-x64:~$ sudo modrobe -r ndiswrapper velikovmn@ubuntu-x64:~$ sudo modprobe ndiswrapper }}} Един бърз update на ядрото решава този проблем. Ако по някаква причина update на ядрото не е допустим, тогава може да модифицираме файла /etc/rc.local с горните редове. В крайна сметка той трябва да изглежда както следва: {{{ #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. modrobe -r b43 modrobe -r ssb modrobe -r bcm43xx modrobe -r ndiswrapper sleep 3 modprobe ndiswrapper exit 0 }}} По подразбиране файлът е изпълним, но за всеки случай: {{{ sudo chmod 755 /etc/rc.local }}} Aко сте инсталирали Windows драйвера през ndisgtk не е необходимо да добавятв ndiswrapper към /etc/modules, защото този модул се прикачва автоматично при стартирането, въпреки че не е добавен към /etc/modules. Интересно, нали? Няма да Ви кажа как става. Лесно ще откриете, защо става така. == 4. ГРАФИЧНИ ПРОГРАМИ ЗА НАСТРОЙКА НА ВРЪЗКАТА КЪМ БЕЗЖИЧНАТА МРЕЖА. == Лично аз имам много добри впечатления от Wicd. Тази програма съчетава в себе си всички WLAN инструменти, които се използват под конзола за настройка на WLAN адаптера и връзката с Router. За жалост не се намира в официалните repos на Ubuntu и трябва да се добави към source.list или през http . Wicd има и Addon's, които разширяват спектъра на поддържаните типове кодиране на мрежата. Repo-тата се намират на следните адреси, т.е. трябва да си ги добавите сами към списъка с източници в synaptic : {{{ deb http://apt.wicd.net hardy extras deb http://apt.wicd.net gutsy extras deb http://apt.wicd.net feisty extras deb http://apt.wicd.net edgy extras deb http://apt.wicd.net dapper extras }}} Addons ''http://www.elektronenblitz63.de/'' Wicd може да бъде настроен да стратира при login в лентата и да се връзва автоматично към определенa WLAN точка . Под GNOME отивате в System > Preferences > Sessions и в "Startup Programs" подпрозорец кликвате върху "New" бутона. Като име задайте Wicd, а на командния ред /opt/wicd/tray.py. Под KDE изпълнявате командата еднократно в терминал. {{{ velikovmn@ubuntu-x64:~$ sudo ln -s /opt/wicd/tray.py ~/.kde/Autostart/tray.py }}} ---- При открити грешки моля изпращайте ми идеи за корекции на Email: mmvelikov AT SPAMFREE gmx DOT de