Добрый вечер. На днях приобрел Wifi адаптер Alfa Awus036H с чипсетом RTL8187L, прилагался диск с дровами, но вся загвостка, я не могу их установить. Работаю на ноутбуке от Lenovo G50-30 ОС стоит Kali Linux с ядром 3.18
Что я делал: Распаковывать не пришлось, все было на DVD-RW. Прочитал файл ReadMe :
Release Date: 2008-12-05, ver 1037 RTL8187L Linux driver version 1037 --This driver supports RealTek RTL8187L Wireless LAN NIC for 2.6 kernel: Fedora Core 2/3/4/5/6/7, Debian 3.1, Mandrake 10.2/Mandriva 2006, SUSE 9.3/10.1/10.2, Gentoo 3.1, etc, Ubuntu8.04/8.10. 2.4 kernel: Redhat 9.2, etc - Support Client mode for either infrastructure or adhoc mode - Support WEP, WPAPSK and WPA2PSK connection ====================================================================================== Component ====================================================================================== The driver is composed of several parts: 1. Module source code ieee80211 rtl8187
2. Script ot build the modules Makefile
3. Script to load/unload modules wlan0up wlan0down
4. Script and configuration for DHCP wlan0dhcp ifcfg-wlan0 5. Supplicant source code: wpa_supplicant-0.5.5.tar.gz 6. Example of supplicant configuration file: wpa1.conf ====================================================================================== Installation ====================================================================================== <<Method 1>> Runing the scripts can finish all operations of building up modules from the source code, installing driver to the kernel and starting up the nic. 1. Build up the drivers from the source code make
2. Install the driver to the kernel make install reboot 3. bring up wlan if nic is not brought up by GUI, such as NetworkManager ifconfig wlan0 up Note: use ifconfig to check whether wlan0 is brought up and use iwconfig to check your wlan interface name,since it may change wlan0 to wlan1,etc.
<<Method 2>> Or only load the driver module to kernel and start up nic. 1. Build up the drivers from the source code make
2. Load driver module to kernel and start up nic. ./wlan0up
Note: when «insmod: error inserting 'xxxx.ko': -1 File exists» comes out after run ./wlan0up, please run ./wlan0down first, then it should be ok.. Note: If you see the message of «unkown symbol» during ./wlan0up, it is suggested to build driver by <<Method 1>>. ====================================================================================== Set wireless lan MIBs ====================================================================================== This driver uses Wireless Extension as an interface allowing you to set Wireless LAN specific parameters. Current driver supports «iwlist» to show the device status of nic iwlist wlan0 [parameters] where parameter explaination [parameters] ----------------------- ------------- Show available chan and freq freq / channel Show and Scan BSS and IBSS scan[ning] Show supported bit-rate rate / bit[rate] Show Power Management mode power For example: iwlist wlan0 channel iwlist wlan0 scan iwlist wlan0 rate iwlist wlan0 power Driver also supports «iwconfig», manipulate driver private ioctls, to set MIBs. iwconfig wlan0 [parameters] [val] where parameter explaination [parameters] [val] constraints ----------------------- ------------- ------------------ Connect to AP by address ap [mac_addr] Set the essid, join (I)BSS essid [essid] Set operation mode mode {Managed|Ad-hoc} Set keys and security mode key/enc[ryption] {N|open|restricted|off} For example: iwconfig wlan0 ap XX:XX:XX:XX:XX:XX iwconfig wlan0 essid «ap_name» iwconfig wlan0 mode Ad-hoc iwconfig wlan0 mode essid «name» mode Ad-hoc iwconfig wlan0 key 0123456789 [2] open iwconfig wlan0 key off iwconfig wlan0 key restricted [3] 0123456789 ====================================================================================== Getting IP address ====================================================================================== After start up the nic, the network needs to obtain an IP address before transmit/receive data. This can be done by setting the static IP via «ifconfig wlan0 IP_ADDRESS» command, or using DHCP. If using DHCP, setting steps is as below: (1)connect to an AP via «iwconfig» settings iwconfig wlan0 essid [name] or iwconfig wlan0 ap XX:XX:XX:XX:XX:XX (2)run the script which run the dhclient ./wlan0dhcp or dhcpcd wlan0 (Some network admins require that you use the hostname and domainname provided by the DHCP server. In that case, use dhcpcd -HD wlan0) ====================================================================================== WPAPSK/WPA2PSK ====================================================================================== Wpa_supplicant helps to secure wireless connection with the protection of WPAPSK/WPA2PSK mechanism.
If the version of Wireless Extension in your system is equal or larger than 18, WEXT driver interface is recommended. Otherwise, IPW driver interface is advised.
Note: Wireless Extension is defined us «#define WIRELESS_EXT» in Kernel Note: To check the version of wireless extension, please type «iwconfig -v»
If IPW driver interface is used, We suggested to follow the steps from 1 to 6. If wpa_supplicant has been installed in your system, only steps 5 and 6 are required to be executed for WEXT driver interface.
To see detailed description for driver interface and wpa_supplicant, please type «man wpa_supplicant». (1)Download latetest source code for wpa supplicant or use wpa_supplicant-0.5.5 attached in this package. (It is suggested to use default package contained in the distribution because there should less compilation issue.)
Unpack source code of WPA supplicant:
tar -zxvf wpa_supplicant-0.5.5.tar.gz (e.g.) cd wpa_supplicant-0.5.5
(2)Create .config file:
cp defconfig .config
(3)Edit .config file, uncomment the following line if ipw driver interface will be applied:
#CONFIG_DRIVER_IPW=y.
(4)Build and install WPA supplicant: make cp wpa_cli wpa_supplicant /usr/local/bin
If make error for lack of <include/md5.h>, install the openssl lib(two ways): 1. Install the openssl lib from corresponding installation disc: Fedora Core 2/3/4/5(openssl-0.9.71x-xx), Mandrake10.2/Mandriva10.2(openssl-0.9.7x-xmdk), Debian 3.1(libssl-dev), Suse 9.3/10.0/10.1(openssl_devl), Gentoo(dev-libs/openssl), etc. 2. Download the openssl open source package from http://www.openssl.org, build and install it.
(5)Edit wpa_supplicant.conf to set up SSID and its passphrase. For example, the following setting in «wpa1.conf» means SSID to join is «BufAG54_Ch6» and its passphrase is «87654321».
Example 1: Configuration for WPA-PWK network={ ssid=«BufAG54_Ch6» proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk=«87654321» priority=2 }
Example 2: Configuration for LEAP network={ ssid=«BufAG54_Ch6» key_mgmt=IEEE8021X group=WEP40 WEP104 eap=LEAP identity=«user1» password=«1111» }
Note: 1. proto=WPA for WPA, proto=RSN for WPA2. 2. If user needs to connect an AP with WPA or WPA2 mixed mode, it is suggested to set the cipher of pairwise and group to both CCMP and TKIP unless you know exactly which cipher type AP is configured. 3. Low kernel version which is lower than 2.6.18.rc2 may have trouble with TKIP heavy traffic while SMP is configured. Please change your security cipher or update your kernel. 4. According to documentaion «wpa_supplicant.conf» provided by the package of wpa_supplicant, ap_scan is set to 2 for IBSS connection. If user is trying to associate to AP in Infrastructure mode, please unmark this line us as belowing «#ap_scan=2»
(6)Execute WPA supplicant (Assume related modules had been loaded): wpa_supplicant -D wext -c wpa1.conf -i wlan0 & (recommended) wpa_supplicant -D ipw -c wpa1.conf -i wlan0
Note: At first, user sholud check Wireless Extension by typing «iwconfig -v» on the comment line. If the version of Wireless Extension is equal or larger than 18, the option of "-D wext" is suggested. If the version of Wireless extension is less than 18, the option of "-D ipw" is suggested. But before you use «wext» or «ipw» command, you sholud check which drivers wpa_supplicant can support by typing command «wpa_supplicant». after typing the comment line, you can see some infomations about wpa_supplicant are listed, example: --------------------------------------------------------------------------- usage: XXXXXXXXX drivers: wext = Linux wireless extensions (generic) atmel = ATMEL AT76C5XXx (USB, PCMCIA) wired = wpa_supplicant wired Ethernet driver options: XXXXXXXXX example: XXXXXXXXX --------------------------------------------------------------------------- The driver interface wpa_supplicant can support are listed in «drivers», if «ipw» or «wext» is not listed in it, you can only use the the other interface. If the interface you want to use is not supported by wpa_supplicant. you can follow steps (1)-(6), And in step (3) you must let:
CONFIG_DRIVER_IPW=y. or CONFIG_DRIVER_WEXT=y. or both CONFIG_DRIVER_IPW=y. CONFIG_DRIVER_WEXT=y.
====================================================================================== GPIO methord for Radio On/Off ====================================================================================== 1. The Change For Deliverring Power State:
Now we add the RadioPower.sh script in the driver root path. When you run ./wlan0up or make install, this script will be copied to /etc/acpi/events. And the driver can deliver the power state «RFON» or «RFOFF» into /etc/acpi/events/RadioPower.sh from driver. So you can change this script based on the power state RFON or RFOFF.
2. For Example:
Now the RadioPower.sh's content is: if[ «$1» = «„RFON ]; then echo “===================>Now Polling Method Turn RF ON!» > /etc/acpi/events/RadioPowerTest else echo «===================>Now Polling Method Turn RF OFF!» > /etc/acpi/events/RadioPowerTest fi
So when you turn on RF using Polling Method, you can see «===================>>Now Polling Method Turn RF ON!» using command: cat /etc/acpi/events/RadioPowerTest.
And when you turn off RF using Polling Method, you can see «===================>>Now Polling Method Turn RF OFF!» using command: cat /etc/acpi/events/RadioPowerTest.
С начала понял, что мое ядро может оказаться слишком новым, начал искать в инете новые дрова нашел : http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=24&a... - скачал новые - оказалось тоже самое (один в один 100%).
Сразу заметил что нет файла Configure
Потом начал усанавливать драйвер :
root@kali-Linux:~# cd /media/cdrom0/driver/Linux_driver/AWUS036H
root@kali-Linux:/media/cdrom0/driver/Linux_driver/AWUS036H#
sudo ./configure
sudo: ./configure: command not found
root@kali-Linux:/media/cdrom0/driver/Linux_driver/AWUS036H# sudo make
make[1]: Entering directory `/lib/modules/3.18.0-kali3-amd64/build' make[1]: *** Нет правила для сборки цели `modules'. Останов. make[1]: Leaving directory `/lib/modules/3.18.0-kali3-amd64/build' make: *** [all] Ошибка 2
root@kali-Linux:/media/cdrom0/driver/Linux_driver/AWUS036H# sudo make install
kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko: kernel/drivers/misc/eeprom/eeprom_93cx6.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko kernel/net/rfkill/rfkill.ko kernel/drivers/usb/core/usbcore.ko kernel/drivers/usb/common/usb-common.ko kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko: kernel/drivers/misc/eeprom/eeprom_93cx6.ko kernel/net/mac80211/mac80211.ko kernel/net/wireless/cfg80211.ko kernel/net/rfkill/rfkill.ko kernel/drivers/usb/core/usbcore.ko kernel/drivers/usb/common/usb-common.ko make[1]: Entering directory `/media/cdrom0/driver/Linux_driver/AWUS036H/rtl8187' make -C /lib/modules/3.18.0-kali3-amd64/build M=/media/cdrom0/driver/Linux_driver/AWUS036H/rtl8187 CC=gcc modules make[2]: Entering directory `/lib/modules/3.18.0-kali3-amd64/build' make[2]: *** Нет правила для сборки цели `modules'. Останов. make[2]: Leaving directory `/lib/modules/3.18.0-kali3-amd64/build' make[1]: *** [modules] Ошибка 2 make[1]: Leaving directory `/media/cdrom0/driver/Linux_driver/AWUS036H/rtl8187' make: *** [install] Ошибка 2
Было очевидно что команда sudo ./configure ни чего не выдаст, так как его там просто нет.
Прочитал и обшарил весь интернет в поисках как убрать эту ошибку, но так ни чего не нашел.
Вот что выводят другие команды :
root@kali-Linux:~# airmon-ng
Interface Chipset Driver
wlan1 Realtek RTL8187L rtl8187 - [phy0]
root@kali-Linux:~# airmon-ng start wlan1
Found 2 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to kill (some of) them! -e PID Name 2546 NetworkManager 3431 dhclient
Interface Chipset Driver
wlan1 Realtek RTL8187L rtl8187 - [phy0]SIOCSIFFLAGS: Operation not possible due to RF-kill
(monitor mode enabled on mon0)
root@kali-Linux:~# airmon-ng mon0
usage: airmon-ng <start|stop|check> <interface> [channel or frequency]
root@kali-Linux:~# ifconfig
eth0 Link encap:Ethernet HWaddr 28:d2:44:a9:92:6c UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:52 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3120 (3.0 KiB) TX bytes:3120 (3.0 KiB)
usb0 Link encap:Ethernet HWaddr 36:4b:50:b7:ef:2d inet addr:192.168.0.182 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::344b:50ff:feb7:ef2d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4237 errors:0 dropped:0 overruns:0 frame:0 TX packets:3075 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2601933 (2.4 MiB) TX bytes:503963 (492.1 KiB)
В результате просидел около 4 дней так и ни в чем не разобрался.