Files
Arch-R/scripts/wifi-connect.sh
2026-02-04 14:09:18 -03:00

103 lines
2.7 KiB
Bash

#!/bin/bash
#==============================================================================
# Arch R - Wi-Fi Connection Script
#==============================================================================
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
echo -e "${GREEN}=== Arch R Wi-Fi Setup ===${NC}"
echo ""
#------------------------------------------------------------------------------
# Check for Wi-Fi interface
#------------------------------------------------------------------------------
echo "Checking for Wi-Fi interface..."
IFACE=""
for iface in wlan0 wlan1 wlp1s0; do
if [ -d "/sys/class/net/$iface" ]; then
IFACE="$iface"
break
fi
done
if [ -z "$IFACE" ]; then
echo -e "${RED}No Wi-Fi interface found!${NC}"
echo ""
echo "Troubleshooting:"
echo " 1. Make sure Wi-Fi adapter is connected"
echo " 2. Check if driver is loaded: lsmod | grep aic"
echo " 3. Check dmesg for errors: dmesg | grep -i wifi"
exit 1
fi
echo -e "${GREEN}Found interface: $IFACE${NC}"
echo ""
#------------------------------------------------------------------------------
# Check NetworkManager
#------------------------------------------------------------------------------
if command -v nmcli &> /dev/null; then
# Use NetworkManager
echo "Scanning for networks..."
echo ""
nmcli device wifi rescan 2>/dev/null
sleep 2
echo "Available networks:"
nmcli device wifi list
echo ""
read -p "Enter network name (SSID): " SSID
read -sp "Enter password: " PASSWORD
echo ""
echo "Connecting to $SSID..."
nmcli device wifi connect "$SSID" password "$PASSWORD"
if [ $? -eq 0 ]; then
echo -e "${GREEN}Connected successfully!${NC}"
echo ""
echo "IP Address:"
ip -4 addr show "$IFACE" | grep inet
else
echo -e "${RED}Connection failed!${NC}"
exit 1
fi
else
# Fallback to wpa_supplicant
echo "NetworkManager not available, using wpa_supplicant..."
read -p "Enter network name (SSID): " SSID
read -sp "Enter password: " PASSWORD
echo ""
# Create wpa_supplicant config
WPA_CONF="/tmp/wpa_temp.conf"
wpa_passphrase "$SSID" "$PASSWORD" > "$WPA_CONF"
# Stop any existing wpa_supplicant
killall wpa_supplicant 2>/dev/null
# Start wpa_supplicant
wpa_supplicant -B -i "$IFACE" -c "$WPA_CONF"
sleep 2
# Get IP via DHCP
dhcpcd "$IFACE"
echo -e "${GREEN}Connection attempted!${NC}"
echo ""
echo "IP Address:"
ip -4 addr show "$IFACE" | grep inet
fi