嵌入式软件 Linux HOSTAPD 连接问题

嵌入式软件 Linux HOSTAPD 连接问题

首先,我不知道这是否是提出此问题的正确论坛。如果您知道更好的论坛,请告诉我,我会将其发布在那里,不要只是对问题投反对票...

我有一个较旧的嵌入式 Linux 设备,它使用 hostapd 作为其接入点模式,并具有以下 hostapd.conf 文件:

ctrl_interface=/var/run/hostapd
interface=uap0
driver=nl80211
channel=1
ssid=XXXXXXXXXX
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=XXXXXXXXXX
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

hw_mode=g
ap_max_inactivity=3000
ieee8021x=0
wpa_group_rekey=0

wmm_enabled=1

# Low priority / AC_BK = background
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0

# Normal priority / AC_BE = best effort
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0

# High priority / AC_VI = video
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0

# Highest priority / AC_VO = voice
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0

我有一些较旧的嵌入式 Linux 设备,使用 wpa_supplicant 连接到该较旧的设备,即以下 .conf 文件。

ctrl_interface=/var/run/wpa_supplicant
roam_hysteresis=-100
network={
    ssid="XXXXXXXXXX"
    bgscan="simple:10:-75:10"
    proto=WPA2
    key_mgmt=WPA-PSK
    pairwise=CCMP
    group=CCMP
    psk="XXXXXXXXXX"
    priority=0
}

我正在尝试使用相同的 hostapd.conf 启动 Raspian Pi(实际上是将文件内容从嵌入式 Linux 复制到 pi)并使用在 Pi 上重新启动我的 hostapd sudo systemctl start hostapd.service。我的/etc/default/hostapd文件如下:

# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF="/etc/hostapd/hostapd.conf"

# Additional daemon options to be appended to hostapd command:-
#       -d   show more debug messages (-dd for even more)
#       -K   include key data in debug messages
#       -t   include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
DAEMON_OPTS=""

hostapd.service 启动并运行,但是当能够连接到第一个设备的嵌入式 Linux 设备尝试连接到这个设备时,我得到的sudo systemctl status hostapd.service只是

hostapd[10290]: wlan0: STA XX:XX:XX:XX:XX:XX IEEE 802.11: associated
hostapd[10290]: wlan0: STA XX:XX:XX:XX:XX:XX IEEE 802.11: disassociated

我能想到的最好的原因是 Pi 使用的 WPA2 算法太新了,并且由于没有发送 Pi 期望的正确密钥,连接的设备在握手过程中不断失败,但我不知道在哪里查找或尝试在 Pi 上降级哪些文件以匹配旧设备,从而允许它们将它们连接到这个 Pi。

如果我更改pi 和 wpa_supplicant 设备上的rsn_pairwise=TKIPpairwise=TKIP和 ,它们就会使用此方法成功连接到 Pi ,所以我知道这不是 Pi 本身或 SSID 和 PASSPHASE 的问题。group=TKIP

如果需要,我可以在另一个终端启动 hostapd 以sudo hostapd -dd /etc/hostapd/hostapd.conf获取更多信息,但我不知道我在那里寻找什么,或者它是否有帮助。

相关内容