User:Trickygnome/wifi low level configuration
From Gentoo Wiki
Jump to:navigation
Jump to:search
Steps:
- down: iw dev wlan0/mon0 del (optional), stop and kill wpa_supplicant - rfkill unblock wlan - iw phy interface add wlan0 type managed (optional) - restart dhcpcd, restart wpa_supplicant - wpa_cli set_network $nid bssid/ssid $SSID - wpa_cli set_network $nid key_mgmt/psk NONE/$PSK - wpa_cli enable $nid
Note: Well, maybe it will easier to use sed commands at /etc/wpa_supplicant.conf instead of wpa_cli
.
FILE
/root/.bash_aliases
downsimple() { # for rtl8822bu
if [ -z "$1" ] ; then
driver=/sys/bus/usb/drivers/mt7601u/*/ieee80211/
else
driver=$1
fi
echo downsimple driver: $driver
ifs1=$(ls $driver 2>/dev/null)
echo downsimple ifs1: $ifs1
echo ip link set $ifs1 down 2>/dev/null
ip link set $ifs1 down 2>/dev/null
sleep 0.3
echo ip link set mon0 down 2>/dev/null
ip link set mon0 down 2>/dev/null
iw dev mon0 del &>/dev/null
# rm /var/run/dhcpcd/pid &>/dev/null
echo rc-service dhcpcd restart
rc-service dhcpcd restart
echo rc-service wpa_supplicant stop
rc-service wpa_supplicant stop
echo killall wpa_supplicant
killall wpa_supplicant &>/dev/null
sleep 0.3
}
upwpartl88() { # intel by default
if [ -z "$1" ] ; then
driver='/sys/bus/pci/drivers/iwlwifi/*/net/' # /sys/bus/usb/drivers/mt7601u/*/net/
else
driver=$1
fi # driver
if [ -z "$2" ] ; then
phy=/sys/bus/pci/drivers/iwlwifi/*/ieee80211/ # /sys/bus/usb/drivers/mt7601u/*/ieee80211/
else
phy=$2
fi # phy
echo -- upwpartl88 $driver $phy --
echo rfkill unblock wlan
rfkill unblock wlan
sleep 1
# echo wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -f/var/log/wpa_supplicant.log
# wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf -f/var/log/wpa_supplicant.log>/dev/null &
echo rc-service wpa_supplicant start
rc-service wpa_supplicant start
sleep 0.5
}
upsimple() {
if [ -z "$1" ] ; then echo no SSID ; return 1 ; fi # SSID
SSID=$1
PSK=$2
echo SSID="$SSID"
echo PSK # ="$PSK"
BSSID=$(echo ${SSID^^} | grep -oE "^[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}:[A-F0-9]{2}")
echo BSSID=$BSSID
echo wpa_cli add_network
nid=$(wpa_cli add_network | grep -o ^[0-9]*)
if [ -z "$BSSID" ]; then
echo wpa_cli set_network $nid ssid \"$SSID\"
wpa_cli set_network $nid ssid \"$SSID\"
else
echo wpa_cli set_network $nid bssid $BSSID
wpa_cli set_network $nid bssid $BSSID
fi
if [ -z "$PSK" ] ; then
echo wpa_cli set_network $nid key_mgmt NONE
wpa_cli set_network $nid key_mgmt NONE
else
echo wpa_cli set_network $nid # psk \"$PSK\"
wpa_cli set_network $nid psk \"$PSK\"
fi # password
sleep 0.5
echo wpa_cli enable $nid
wpa_cli enable $nid
# wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant/wpa_supplicant.conf &
# wpa_cli
while [ -z "$(wpa_cli status | grep COMPLETED)" ] ; do sleep 0.3 ; done
echo "Association completed"
while [ -z "$(ip -o -f inet a | grep wlan0)" ] ; do sleep 0.3 ; done
echo "IP retrived"
# sleep 5
wpa_cli status
wpa_cli status | grep CONNECTED || echo Failed
}
upwlanrtl88() {
driver="/sys/bus/usb/drivers/rtl88x2bu/*/net/"
phy='/sys/bus/usb/drivers/rtl88x2bu/*/ieee80211/'
downsimple "$driver"
upwpartl88 "$driver" "$phy"
upsimple "$1" "$2"
}
uphome() { upwlanrtl88 'TP-Link_223Df' 'password' ; }
upfreewifi() { upwlanrtl88 'Caffee' ; }
root #
upfreewifi