If you have installed a Linux operating system, do you know how to install a wireless network card in Linux? After a recent research, I finally completed the installation of a wireless network card in Linux, analyzed the problems encountered, and sorted out the detailed process. I would like to share with you more specific development documents, if you need it, contact us for the next step to transplant it to the ARM platform. I hope to discuss it with you more.
Adapter Asus WL-167G, TP-LINK TL-WN321G
Driver RT73_Linux_STA_Drv1.0.3.6
Http://dlsvr01.asus.com/pub/ASUS/wireless/WL-167g/Linux_1218.zip
1. Prepare and decompress the kernel source code, copy the makefile of the corresponding kernel, and change the file attributes.
- [root@dding RT73_Linux_STA_Drv1.0.3.6]# chmod 777 Module
- [root@dding RT73_Linux_STA_Drv1.0.3.6]# ls -al
Total usage 16
.....
Drwxrwxrwx 2 root 4096 2006-07-04 Module
# Make sure that the file is readable and executable to any user. Otherwise, make config and 777 can ensure all permissions.
2, add support for WL-167G ASUS network card, pay attention to the official version of 1218 before the driver including the network card comes with the CD does not have this description, otherwise the driver will be said after loading unable to find the device
- [root@dding Module]# gedit rtmp_def.h
- ##add support for WL-167G ASUS
- {USB_DEVICE(0x0B05,0x1723)}, /* dding add WL-167G ASUS */ \
- {USB_DEVICE(0x0B05,0x1724)}, /* dding add ASUS */ \
3. Configure and compile the kernel source code in the/usr/src directory.
- 1> $make config
- ## ensure there are such directories as /usr/src/linux-2.4.20-8 and /lib/modules/2.4.20-8/kernel/drivers/net, but they are your own kernel
- 2> $make all # compile driver source code
- ## ensure no problems occur
4. Modify the self-starting profile ifcfg-rausb0 and install RT73.o and add alias rausb0 rt73
1> modify the ifcfg-rausb0 under the current directory, if the dynamic IP does not need to modify
- [Root @ dding Module] # gedit ifcfg-rausb0
- # Edit the file according to your network system, and it can be auto loaded when booting system. and the file is as follows:
- DEVICE=Rausb0
- ONBOOT=Yes
- # Static for fixed ip
- BOOTPROTO=Static
- IPADDR=192. 168.0.31 # Your own IP address and other related settings
- NETMASK=255. 255.255.0
- GATEWAY=192. 168.0.1
2> Installation module and other self-starting settings
- [root@dding Module]# make install
- install -m 755 -o 0 -g 0 -d /lib/modules/2.4.20-8/extra
- ………………
# After installation, make sure the following files exist in the corresponding directory.
# After installation, the contents of modules. conf are as follows:
...............
Alias rausb0 rt73
# After installation of ifcfg-rausb0 content such as gedit ifcfg-rausb0 set
5. Copy the system firmware and the default configuration file for auto-start.
- 1> $cp rt73.bin /etc/Wireless/RT73STA/ # copy firmware
- [root@dding Module]# cp rt73.bin /etc/Wireless/RT73STA/
# The/etc/Wireless/RT73STA/directory must be created layer by layer before the copy operation is executed. Otherwise, an error is returned.
- 2> $dos2unix rt73sta.dat
- $cp rt73sta.dat /etc/Wireless/RT73STA/rt73sta.dat
- [root@dding Module]# dos2unix rt73sta.dat
- dos2unix: converting file rt73sta.dat to UNIX format ...
# Check whether the two files exist after the two files are copied
# Use "vi-B rt73sta. dat" to modify settings according to your need.
6. dynamically load the module and use relevant commands to confirm that the module has been loaded successfully.
- [root@dding Module]# insmod rt73.o
- [root@dding Module]# cat /var/log/messages | tail
- 。。。。。。。。。。
- Apr 14 14:05:44 dding kernel: rtusb init ====>
- Apr 14 14:05:44 dding kernel: usb.c: registered new driver rt73
- [root@dding Module]# dmesg | tail
- 。。。。。。。。。。
- rtusb init ====>
- usb.c: registered new driver rt73
- [root@dding Module]# lsmod
- Module Size Used by Not tainted
- rt73 233632 0 (unused)
- ...............
- usbcore 78784 1 [rt73 hid usb-uhci ehci-hcd]
# Check whether the module is successfully loaded
7. Insert the NIC to see if it can be identified
- ## insert the WL-167G card
- [root@dding Module]# cat /var/log/messages | tail
- 。。。
- Apr 14 14:07:58 dding kernel: idVendor = 0xb05, idProduct = 0x1723
- Apr 14 14:07:59 dding /etc/hotplug/net.agent: invoke ifup rausb0
- 。。。
- Apr 14 14:08:02 dding /etc/hotplug/usb.agent: Setup rt73 for USB product b05/1723/1
- [root@dding Module]# dmesg | tail
- 。。。。。
- ## pop out the WL-167G card insert the TL-WN321G card
- [root@dding Module]# cat /var/log/messages | tail
- 。。。
- Apr 14 14:11:02 dding /etc/hotplug/usb.agent: Setup rt73 for USB product 148f/2573/1
- Apr 14 14:11:02 dding devlabel: devlabel service started/restarted
- ## support for USB product 148f/2573/1, and all is ok
- [root@dding Module]# dmesg | tail
8. After successful identification, use iwconfig to view and set the wireless network.
- [root@dding Module]# iwconfig
- rausb0 RT73 WLAN ESSID:"lab706"
- Mode:Ad-Hoc Channel:1 Cell: 00:18:F3:E5:9D:66
- 。。。。
- [root@dding Module]# iwconfig rausb0 mode managed
- [root@dding Module]# iwconfig
- rausb0 RT73 WLAN ESSID:""
- 。。。
# Infrustructure mod, ESSID by default: "" is blank,
- [root@dding Module]# iwlist rausb0 scan
- rausb0 Scan completed :
- Cell 01 - Address: 00:18:F3:E5:9D:66
- ESSID:"lab706"
- 。。。。
- Cell 02 - Address: 00:C0:02:0A:8D:52
- ESSID:"A509-ID"
- 。。。
# Automatically receive the surrounding beacon frames and compare the signal values for automatic connection. You can also scan and manually set
- [root@dding Module]# iwconfig
- rausb0 RT73 WLAN ESSID:"lab706"
- Mode:Managed Channel:1 Access Point: 00:18:F3:E5:9D:66
- 。。。。
# After the AP end is set, the TL-WN321G is automatically connected to the AP, it is too good, the WL-167G can also be used when the AP
# Add a MAC Control List on the AP to prevent other users from connecting to the network. The preceding figure shows how to install a wireless Nic in Linux.
- Yuan Meng: a decade of great changes in Linux
- 8 best Linux platform BI) Software
- FAQs about soft RAID in Linux
- The anti-piracy Method for new systems based on Linux platforms is not applicable.
- Inter-process communication in Linux