Files
vwifi/tools/start-vwifi-client.sh
T
Guy Resheff 92df7a383a Upstream vwifi v7.0 (Raizo62/vwifi @ 4a9842e)
Unmodified upstream source from https://github.com/Raizo62/vwifi
Commit: 4a9842e "CMakeLists.txt : VERSION = 7.0"

Simulator of WiFi (802.11) interfaces to communicate between
several Virtual Machines via mac80211_hwsim + TCP relay.

License: Apache-2.0
2026-03-08 08:19:45 -07:00

50 lines
943 B
Bash

#!/bin/bash
FOLDER_VWIFI='/hosthome/vwifi'
DEFAULT_PREFIX_MAC_ADDRESS='74:F8:F6'
# -------------------
cd "${FOLDER_VWIFI}"
if (( $# == 0 ))
then
NbrWifi=2
else
NbrWifi="$1"
fi
if [ -e /sys/module/mac80211_hwsim ]
then
OldNbrWifi=$(cat /sys/module/mac80211_hwsim/parameters/radios)
if (( NbrWifi != OldNbrWifi ))
then
modprobe -r mac80211_hwsim
fi
fi
modprobe mac80211_hwsim radios=0
hexchars="0123456789ABCDEF"
middle=$( for i in {1..4} ; do echo -n ${hexchars:$(( $RANDOM % 16 )):1} ; done | sed -e 's/\(..\)/:\1/g' )
MAC_ADDRESS="${DEFAULT_PREFIX_MAC_ADDRESS}${middle}"
./vwifi-add-interfaces "${NbrWifi}" "${MAC_ADDRESS}"
if [ "$(tty)" = '/dev/ttyS0' ]
then
# In Console Mode -> Tmux can be usefull
if [ -v TMUX ]
then
# Already in tmux
./vwifi-client
else
tmux new-session -s vwifi "bash --rcfile <(echo '. ~/.bashrc; ./vwifi-client')" ; detach &> /dev/null
tmux attach -t vwifi
fi
else
./vwifi-client
fi