ndiswrapper_with_broadcom

Конфигурация на WLAN-Адаптери с BROADCOM чипове чрез NDISWRAPPER на 7.10 и 8.04


Упътването като PDF със снимки за по-добро обяснение 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 това вече е включено. Поради тази причина е необходимо да си свалите кода от страницата на разработчиците

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-* (не е довършено указанието за този тип кодиране)

Вече имате 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 с горните редове. В крайна сметка той трябва да изглежда както следва:

#
# 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

BulgarianDocumentation/ndiswrapper_with_broadcom (last edited 2008-08-13 14:23:57 by e180051005)