archboot/usr/bin/archboot-hwsim.sh

38 lines
1.2 KiB
Bash
Raw Normal View History

2022-12-13 17:33:20 +01:00
#!/usr/bin/env bash
2023-08-11 17:19:18 +02:00
# SPDX-License-Identifier: GPL-3.0-or-later
2024-08-01 10:09:36 +02:00
# archboot-hwsim.sh - setup a test SSID
# by Tobias Powalowski <tpowa@archlinux.org>
2023-09-05 08:34:45 +02:00
. /usr/lib/archboot/common.sh
2023-01-09 18:28:06 +01:00
_usage()
2022-12-13 17:33:20 +01:00
{
2024-08-01 11:41:51 +02:00
echo -e "\e[1m\e[36mArchboot\e[m\e[1m - Hwsim\e[m"
2024-08-01 10:30:36 +02:00
echo -e "\e[1m----------------\e[m"
2022-12-13 17:40:26 +01:00
echo "Create a simulated wireless SSID for testing purposes"
echo "with mac80211_hwsim module."
2024-08-01 10:45:08 +02:00
echo "- wlan0 will be setup as the AP. Don't use for scanning!"
echo "- wlan1 will be setup for STATION mode. Use this for scanning for your AP."
echo ""
2024-08-01 10:09:36 +02:00
echo -e "Usage: \e[1m${_BASENAME} <SSID>\e[m"
2022-12-13 17:39:43 +01:00
exit 0
2022-12-13 17:33:20 +01:00
}
[[ -z "${1}" ]] && _usage
2024-06-12 22:39:54 +02:00
_archboot_check
echo "Waiting for pacman keyring..."
_pacman_keyring
2023-09-05 08:34:45 +02:00
echo "Installing kernel..."
pacman -Sydd --noconfirm --noscriptlet linux &>"${_LOG}"
2023-09-05 08:30:39 +02:00
depmod -a
2024-06-26 20:26:51 +02:00
if ! rg -qw 'mac80211_hwsim' /proc/modules; then
# kernel module mismatch needs to be checked
if ! modprobe mac80211_hwsim; then
echo "Error: Module mismatch detected!"
exit 1
fi
2022-12-13 17:15:30 +01:00
fi
iwctl ap wlan0 stop
2022-12-13 17:24:32 +01:00
systemctl restart iwd
sleep 2
2022-12-13 17:15:30 +01:00
iwctl device wlan0 set-property Mode ap
iwctl device wlan0 set-property Powered on
2023-02-07 20:19:31 +01:00
iwctl ap wlan0 start "${1}" "12345678" && echo -e "\e[1mSSID:'${1}' with password '12345678' is online now.\e[m"