ºìÁªLinuxÃÅ»§
Linux°ïÖú

ÔÚHP nc4400ÉÏÊÔÓÃFedora8 Ö®ÎÞÏßÍø¿¨

·¢²¼Ê±¼ä:2007-12-12 01:30:12À´Ô´:ºìÁª×÷Õß:erfcend
Sideway xtadw@yahoo.com.cn

ÔÚÎÒµÄHP nc4400ÉÏÊÔ×°ÁËFedora 8£¬Í¨¹ýÀ¶ÑÀÒѾ­Äܳɹ¦ÓëÎÒµÄN70Á¬½Ó²¢ÄÜ´«ÊäÎļþ£¬ÒÔÌ«ÍøÍø¿¨Ò²Äܳɹ¦Èϳö£¬½â¾öÁËÒÔǰ°æ±¾ÐèÒªÊÖ¹¤°²×°Íø¿¨Çý¶¯µÄÎÊÌâ¡£½ÓמÍÊÇÎÞÏßÍø¿¨µÄÎÊÌ⣬ÏÂÃæ¾Í½²½²ÈçºÎÕýÈ·ÉèÖÃÎÞÏßÍø¿¨¡£

ÔÚĬÈϰ²×°µÄFedora 8Ï£¬Äã»á·¢ÏÖÊÇÎÞ·¨ÂíÉÏʹÓÃÎÞÏßÍø¿¨µÄ£¬µ«ÆäʵϵͳÒѾ­³É¹¦¼ÓÔØÁËÇý¶¯£¬Ö»ÊÇÒòΪ°æ±¾ÎÊÌâûÓм¯³ÉÎÞÏßÍø¿¨µÄfirmware£¬Ö÷Òª½â¾öÁËfirmwareÎÊÌâ¾ÍÄܳɹ¦Ê¹ÓÃÎÞÏßÍø¿¨ÁË¡£

ÒÔÏÂÊÇÎÒµÄÕû¸ö½â¾öÎÊÌâµÄ²½Ö裺
×¢£ºb43ÊÇBroadcomÎÞÏßÍø¿¨linuxÇý¶¯µÄÃû³Æ£¬ÓйØÐÅÏ¢¿ÉÒԲ鿴ÓйØÍøÕ¾£¬ÕâÒ²ÊÇÎÒÔÚÒÔǰÊÖ¹¤°²×°Çý¶¯Ê±²ÅÖªµÀµÄ¡£

Ò»¡¢Ê¹ÓÃlspciÃüÁî²é¿´Ó²¼þÐÅÏ¢
#lspci -v

10:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
Subsystem: Hewlett-Packard Company Unknown device 1364
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f4000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 2
Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [d0] Express Legacy Endpoint IRQ 0

#lspci -vn

10:00.0 0280: 14e4:4311 (rev 01)
Subsystem: 103c:1364
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f4000000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 2
Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [d0] Express Legacy Endpoint IRQ 0

¶þ¡¢ÓÃPSÃüÁî²é¿´Çý¶¯ÊÇ·ñ±»¼ÓÔØÔÚÄÚ´æÀïÁË
# ps -A | grep b43

Èý¡¢ÓÃdmesgÃüÁî²é¿´Ò»ÏÂϵͳÈÕÖ¾£¬¿´¿´Ó²¼þÇý¶¯µÄ¼ÓÔØÇé¿ö
#dmesg

b43-phy0 debug: Adding Interface type 2
b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found or load failed.
b43-phy0 ERROR: You must go to http://linuxwireless.org/en/users/Drivers/bcm43xx#devicefirmware and download the correct firmware (version 4).

´ÓÖÐÎÒÃÇ¿ÉÒÔ¿´µ½ÔÚ¼ÓÔØb43ʱ±¨´íÁË£¬ËµÊÇûÓÐÕÒµ½ucode5.fwÕâ¸öÍø¿¨µÄfirmware£¬ÈÕÖ¾²¢¸ø³öÁËÏÂÔØµÄµØÖ·£¬ÄǾͰ´ÕÕÕâ¸öµØÖ·È¥Ï°ɡ£×¢Ò⣺ÏÂÔØµØÖ·ÊÇ£ºhttp://linuxwireless.org/en/users/Drivers/bcm43xx#devicefirmware

ËÄ¡¢°²×°ÏÂÔØµÄfirmware
ÏÂÔØÍøÕ¾Éϸø³öÁ˷dz£ÏêϸµÄ˵Ã÷£¬ÒÔ¼°°²×°·½·¨£¬Îª·½±ã´ó¼Ò£¬ÕâÀﻹÊÇÔÙÖØ¸´Ò»Ï¡£
ÏÂÔØÕë¶Ôb43µÄfirmware,ÏÂÔØµØÖ·Îª£ºhttp://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
# tar xvjf broadcom-wl-4.80.53.0.tar.bz2
# cd broadcom-wl-4.80.53.0/kmod
# b43-fwcutter -w /lib/firmware wl_apsta.o (Èç¹ûûÓÐb43-fwcutterÃüÁÄǾͰ²×°Ò»¸öb43-fwcutter°ü)

Îå¡¢ÖØÆôϵͳ£¬¿´¿´ÏµÍ³ÊÇ·ñÄÜ×Ô¶¯¼ÓÔØÇý¶¯£¬»¹ÊÇÓÃdmesg¿´

# dmesg | grep b43 | more

b43-phy0: Broadcom 4311 WLAN found
b43-phy0 debug: Found PHY: Analog 4, Type 2, Revision 8
b43-phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
b43-phy0 debug: Adding Interface type 2
b43-phy0 debug: Loading firmware version 351.126 (2006-07-29 05:54:02)
b43-phy0 debug: Chip initialized
b43-phy0 debug: 32-bit DMA initialized
b43-phy0 debug: Wireless interface started

ºÃÏñÒѾ­¼ÓÔØ³É¹¦ÁË£¬Ã»ÓÐÔÙ±¨´íÁË

Áù¡¢±à¼­ÍøÂçÅäÖÃÎļþ
# vi /etc/sysconfig/network-scripts/ifcfg-wlan0
DEVICE=wlan0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
CHANNEL=12
MODE=Auto
RATE=Auto

Æß¡¢¼¤»îÎÞÏßÍø¿¨,²¢¿´¿´½á¹û£¨ÎÞÏßAP¹¤×÷ÔÚManaged£¨¹ÜÀí£©Ä£Ê½£¬Í¨¹ýDHCP·ÖÅ䵨ַ²¢ÇÒûÓÐÈκΰ²È«ÅäÖã©
# ifup wlan0
×¢£ºÓÉÓÚÎÒµÄÎÞÏßAPÊǹ¤×÷ÔÚAd-hoc£¬ÎÞÏßÍø¿¨ÊÇÇý¶¯Á˵«ÎÞ·¨¹¤×÷ÔÚAd-hocģʽ£¬Ã»°ì·¨²âÊÔÁË£¬Ö»ÄÜÏ´ÎÔÙÊÔÁË£¬ÏÈдµ½Õ⣬ÒԺ󲹳䡣
# iwconfig

wlan0 IEEE 802.11g ESSID:"TP-LINK"
Mode:Managed Frequency:2.462 GHz Access Point: 00:30:39:39:39:39
Bit Rate=1 Mb/s Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2346 B
Encryption key:off
Link Quality=91/100 Signal level=-43 dBm Noise level=-69 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
¿´µ½ÁËÎÞÏßÍø¿¨ÕÒµ½Ò»¸öessidΪTP-LINKµÄÎÞÏßÍøÂç
# ifconfig
¿ÉÒÔ¿´µ½ÎÞÏßÍø¿¨ÒѾ­»ñÈ¡ÁËIPµØÖ·
# ping 192.168.0.1
Íø¹ØÒ²Í¨ÁË£¬ËµÃ÷ÎÞÏßÍø¿¨¹¤×÷Õý³£

°Ë¡¢¸ü°²È«µÄ¹¤×÷
¼ÈÈ»ÎÞÏßÍø¿¨Äܹ¤×÷ÁË£¬µ«×ܲ»ÄÜʹÓÃÒ»¸öÈκÎÈ˶¼¿ÉÒÔËæ±ã½ø³öµÄÎÞÏßÍøÂç°É¡£ÎªÁËÈÃÎÞÏßÍøÂç¸ü°²È«µÄ¹¤×÷£¬ÎÒÃDZØÐëÅäÖÃһϰ²È«Ñ¡Ï¿É¹©ÎÒÃÇÑ¡ÔñµÄÖ÷ÒªÓÐÁ½ÖÖ£ºWEPºÍWPA¡£ÒÔǰ¾Í¾ßÌå½éÉÜÒ»ÏÂÁ½ÖÖ¼ÓÃÜ·½Ê½µÄÉèÖ÷½·¨¡£

£¨Ò»£©¡¢WEP
ÊÔÑéδÄܳɹ¦£¬ÔÝÁô£¬ÒԺ󲹳䡣

£¨¶þ£©¡¢wpa-spk/wpa2-spk
1¡¢AP¶ËµÄÉèÖã¨ÒÔTP-LINK TL-WR340G 54MÎÞÏß¿í´øÂ·ÓÉÆ÷ΪÀý£©
°²È«ÀàÐÍ£ºWPA-PSK/WPA2-PSK
°²È«Ñ¡Ï×Ô¶¯Ñ¡Ôñ
¼ÓÃÜ·½·¨£º×Ô¶¯Ñ¡Ôñ
PSKÃÜÂ룺12345678

2¡¢°²×°wpa_supplicantÈí¼þ°ü
# rpm -q wpa_supplicant £¨²éѯһÏÂϵͳÖÐÊÇ·ñ×°ÁË£¬Èç¹ûûװ¾Í×Ô¼º×°Ò»¸ö£©

3¡¢ÐÞ¸Ä/etc/sysconfig/wpa_supplicantÅäÖÃÎļþ
# vi /etc/sysconfig/wpa_supplicant

INTERFACES="-iwlan0"
DRIVERS=""

4¡¢Éú³ÉÃÜÔ¿²¢ÐÞ¸Ä/etc/wpa_supplicant/wpa_supplicant.confÎļþ
# wpa_passphrase TP-LINK 12345678 >> /etc/wpa_supplicant/wpa_supplicant.conf
# more /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
network={
ssid="TP-LINK"
#psk="12345678"
psk=1eecc652f354863e9f985a96d48545c4994e0d21b04955432b60c2600c0743da
}

5¡¢Æô¶¯wpa_supplicant·þÎñ
# service wpa_supplicant start

Æô¶¯ wpa_supplicant£º/etc/wpa_supplicant/wpa_supplicant.conf, -iwlan0, ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - [È·¶¨]

6¡¢ÖØÐ¼¤»îÎÞÏßÍø¿¨
# ifdown wlan0
# ifup wlan0
# ifconfig
# ping 192.168.0.1
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ