Прежде всего, я не знаю, является ли это правильным форумом, чтобы спросить это. Если вы знаете лучший вариант, пожалуйста, дайте мне знать, и я опубликую его там, а не просто понизьте вопрос ...
У меня есть старое встроенное устройство 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
}
Я пытаюсь вызвать Raspian Pi с тем же hostapd.conf (буквально копирующим содержимое файла из встроенного linux в pi) и перезапустить мой hostapd на Pi с помощью 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
Лучшее, что я могу придумать, это то, что алгоритм WPA2, который использует Pi, слишком новый, и подключенное устройство продолжает давать сбой во время рукопожатия из-за того, что не посылает правильные ключи, которые ожидает Pi, но я не знаю, где искать или какие файлы попробовать и понизить на Pi, чтобы они соответствовали более старым устройствам, чтобы позволить им подключить их к этому Pi.
Если я меняю rsn_pairwise=TKIP
и pairwise=TKIP
и group=TKIP
на устройствах pi и wpa_supplicant, они успешно подключаются с помощью этого метода к Pi, так что я знаю, что это не проблема с самим Pi или SSID и PASSPHASE.
Я могу запустить hostapd в другом терминале с помощью sudo hostapd -dd /etc/hostapd/hostapd.conf
для получения дополнительной информации, если это необходимо, но я не знаю, что я там ищу, и поможет ли это.