在Linux上移植wpa_supplicant与OpenSSL的详细步骤

4星 · 超过85%的资源 需积分: 49 21 下载量 146 浏览量 更新于2024-09-15 收藏 2KB TXT 举报
本文主要介绍了如何在特定环境下移植wpa_supplicant,这是一款用于无线网络连接管理的开源软件。移植过程中涉及到了openssl的编译以及wpa_supplicant配置文件的修改,还包括了无线网卡驱动的加载。 移植wpa_supplicant的过程中,首先要编译openssl库。你需要下载openssl源代码,并应用相应的补丁。执行命令`./Configure`来配置编译选项,这里使用的是`linux-elf-mips`架构,设置endianness为大端模式(`-DB_ENDIAN`),指定交叉编译器为`mipsel-linux-gcc`,并设定共享库选项(`shared`),最后指定安装路径为`/home/blue/linux/wpa_supplicant-0.6.9/openssl-h`。 完成openssl的编译后,接下来是wpa_supplicant的配置。复制`defconfig`文件为`.config`,然后编辑`.config`,添加以下内容: - `CC=mipsel-linux-gcc -L /home/blue/linux/wpa_supplicant-0.6.9/openssl-h/lib/`:设置交叉编译器及链接时的库路径。 - `CFLAGS+=-I/home/blue/linux/wpa_supplicant-0.6.9/openssl-h/include/`:添加头文件搜索路径。 - `LIBS+=-L/home/blue/linux/wpa_supplicant-0.6.9/openssl-h/lib/`:添加链接时的库路径。 完成配置后,通过`make`命令进行编译。 移植完成后,需要创建一个配置文件,例如将`wpa_supplicant/examples/wpa-psk-tkip.conf`复制到`/etc/`目录下并命名为`tkip.conf`。配置文件应包含你的无线网络接入点(AP)的信息,如SSID、扫描SSID、加密类型(WPA-PSK)、协议(WPA)、对称加密算法(TKIP)以及预共享密钥(PSK)。 启动wpa_supplicant服务,可以使用以下配置: - `ctrl_interface=/var/run/wpa_supplicant`:指定控制接口路径。 - `ctrl_interface_group=0`:设置控制接口组权限。 - `eapol_version=1`:EAPOL版本。 - `ap_scan=2`:自动扫描AP模式。 - `fast_reauth=1`:快速重新认证。 对于无线网卡的驱动加载,假设使用的是sd8686芯片,需要加载对应的sdio和sd8686模块。通过`insmod`命令加载模块,设置必要的GPIO引脚,并配置IP地址。例如: - `insmod sdio.ko gpio_sd_vcc_en_n=113 gpio_sd_cd_n=110`:加载sdio模块并设置GPIO引脚。 - `insmod sd8686.ko helper_name=./FwImage/helper_sd.binfw_name=./FwImage/sd8686.bin`:加载sd8686模块并指定固件文件路径。 - `ifconfig eth1 192.168.0.111`:配置网卡eth1的IP地址。 - `iwpriv eth1 setreg`:设置无线网卡相关参数。 这个过程涉及了从源码编译软件、配置文件定制、无线网卡驱动加载等多个环节,确保了wpa_supplicant能在目标平台上正确运行,实现无线网络的连接和管理。