Wireless工具移植之openssl版本导致wifi连接失败的问题

        手头一台使用rtl8188eus的设备,之前调试wifi功能的时候本来OK的,昨天从AP切换到Station模式时,发现连接不上路由器了。提示如下错误:

        wpa_supplicant: can't load library 'libssl.so.0.9.8'

 

        于是找到以前移植的openssl-0.9.8e的库,下载到设备的lib目录下,建立软链接后,重新运行。依旧连接不上网络,查看wifi驱动的调试信息,如下:

        wpa_supplicant v2.5                                                            

random: Trying to read entropy from /dev/random                                

Successfully initialized wpa_supplicant                                        

Initializing interface 'wlan0' conf '/usr/app/config/wpa_supplicant.conf' driver

Configuration file '/usr/app/config/wpa_supplicant.conf' -> '/usr/app/config/wpa

Reading configuration file '/usr/app/config/wpa_supplicant.conf'               

ctrl_interface='/var/run/wpa_supplicant'                                       

Priority group 0                                                               

   id=0 ssid='MERCURY'                                                         

rfkill: Cannot open RFKILL control device                                      

WEXT: RFKILL status not available                                              

SIOCGIWRANGE: WE(compiled)=22 WE(source)=16 enc_capa=0xf                       

  capabilities: key_mgmt 0xf enc 0x1f flags 0x0                                

ioctl[SIOCSIWAP]: Operation not permitted                                      

WEXT: Failed to clear BSSID selection on disconnect                            

WEXT: Driver: rtl8188eu                                                        

netlink: Operstate: ifindex=3 linkmode=1 (userspace-control), operstate=5 (IF_OP

Add interface wlan0 to a new radio N/A                                         

wlan0: Own MAC address: 20:f4:1b:55:a4:8f                                      

wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0          

wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0          

wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0          

wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0

wpa_driver_wext_set_countermeasures

wlan0: RSN: flushing PMKID list in the driver

wlan0: Setting scan request: 0.100000 sec

ENGINE: Loading dynamic engine

ENGINE: Loading dynamic engine

EAPOL: SUPP_PAE entering state DISCONNECTED

EAPOL: Supplicant port status: Unauthorized

EAPOL: KEY_RX entering state NO_KEY_RECEIVE

EAPOL: SUPP_BE entering state INITIALIZE

EAP: EAP entering state DISABLED

Using existing control interface directory.

ctrl_iface bind(PF_UNIX) failed: Address already in use

ctrl_iface exists, but does not allow connections - assuming it was leftover from forced program termination

Successfully replaced leftover ctrl_iface socket '/var/run/wpa_supplicant/wlan0'

wlan0: Added interface wlan0

wlan0: State: DISCONNECTED -> DISCONNECTED

wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)

netlink: Operstate: ifindex=3 linkmode=-1 (no change), operstate=5 (IF_OPER_DORMANT)

Daemonize..

 

手动运行wpa_supplicant服务时,报错如下:

Failed to connect to non-global ctrl_ifname: wlan0 error: Connection refused

 

回到之前编译移植rtl8188eus驱动和wpa_supplicant工具的目录,才发现问题,我使用的wpa_supplicant2.5版本的,它对应的openssl版本号为openssl-0.9.8za openssl-0.9.8zf

 

而前面步骤中下载的是 openssl-0.9.8e版本的。

重新换用openssl-0.9.8za的库,再次连接路由器,问题解决!

你可能感兴趣的:(Linux,Working,Notes)