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
|
|
|
}
|
2023-01-09 18:38:55 +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
|
2024-08-12 10:33:22 +02:00
|
|
|
# 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"
|