我一直在尝试寻找一个简单的详细说明,说明如何使用脚本或其他东西或手动升级 wpa_supplicant。我目前正在运行 2.4 版本,该版本确实与我的特定无线驱动程序存在一些问题。更准确地说,wifi 在 1 分钟内断开连接,dmesg 中出现以下错误:crc RXD_W3_CIPHER_ERROR据我所知,这可能是因为 2.4 版本不接受任何 CA 证书……希望升级到 2.6 版本或降级到 2.3 版本可以解决这个问题。问题是,由于我是 Ubuntu 新手,我无法自己找到升级或降级 wpa_supplicant 的方法。我尝试了网上的一些说明,但没有用。希望有人知道怎么做。
答案1
如果您想将 wpa_supplicant 从当前版本升级到 2.6,请参考以下链接....
此链接中给出的说明适用于 ubuntu 16.04,但我也在 ubuntu 17.10 上尝试过,到目前为止没有出现任何问题。仍请自行承担风险。
我不对任何不良影响负责。(尽管对我来说情况并非如此。它运行良好,没有任何错误)。
如果您要尝试它们,我建议您使用“sudo -s”并以 root 用户身份登录。然后,当您在根目录中执行“cd /tmp”时,它将派上用场。如果没有,它将给出错误目录未找到。
关联 :http://www.linuxtopic.com/2017/08/compile-wpasupplicant-ubuntu.html
编辑:
我在下面添加了必要的信息,这些信息也可在上述链接中找到,以供任何人使用,以防链接不再起作用......
1)需要安装 wpa_supplicant 所需的一些依赖项
sudo apt install libssl-dev build-essential checkinstall pkg-config
sudo apt install dbus libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev libreadline-dev libncurses5-dev
sudo apt install libnl-genl-3-dev libnl-3-dev
2)然后进入根目录,然后进入 tmp 文件夹
cd /
cd tmp
3)下载 wpa_supplicant 源码包
wget https://w1.fi/releases/wpa_supplicant-2.6.tar.gz wpa_supplicant2.6.tar.gz
4)解压 wpa_supplicant2.6.tar.gz
sudo tar xvf wpa_supplicant2.6.tar.gz
如果此命令返回错误,请确保下载的 tar 文件的名称与命令中的名称相同。如果下载的 tar 文件的名称与命令中的文件名不同,则无法提取该文件。
5)进入解压的 wpa_supplicant 文件夹。
cd wpa_supplicant2.6
如果返回错误,请再次检查文件夹名称是否正确。
6)通过运行以下命令创建适用于标准 WiFi 设置的构建配置文件。
cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
7)如果您将 WPA Supplicant 与 NetworkManager 1.8.0 结合使用,请将以下选项添加到 WPA Supplicant 构建配置中(可选)
cat >> wpa_supplicant/.config << "EOF"
CONFIG_CTRL_IFACE_DBUS=y
CONFIG_CTRL_IFACE_DBUS_NEW=y
CONFIG_CTRL_IFACE_DBUS_INTRO=y
EOF
8)编译并创建包
cd wpa_supplicant
make
9)安装 Wpa_supplicant 并创建 wpa_supplicant 2.6 包
checkinstall
此命令将继续安装,并记下用户需要在几个位置按 ENTER 才能继续安装。
10)最后,在同一目录中检查包创建情况,并检查 wpa_supplicant 版本
ls wpa-supplicant*
wpa_supplicant -v
完成!如果一切顺利,它应该返回,wpa_supplicant 版本是 2.6