====== Настройка сети Wi-Fi из консоли ====== Если старт сети производится из-под пользователя su Password: Убиваем предыдущую сессию wpa_supplicant, если была запущена. [ $(pidof wpa_supplicant) ] && kill $(pidof wpa_supplicant) Если нет конфигурационного файла wpa_supplicant.conf, создаём wpa_passphrase MYUSSID MYPASSWORD > /etc/wpa_supplicant.conf Определяем интерфейс Wi-Fi basename $(dirname /sys/class/net/*/phy80211) wlan0 Запускаем соединение с Wi-Fi роутером wpa_supplicant -B -D nl80211 -i wlan0 -c /etc/wpa_supplicant.conf Successfully initialized wpa_supplicant Получаем IP автоматически dhcpcd wlan0 dhcpcd[2217]: version 6.4.7 starting dhcpcd[2217]: DUID 00:01:00:01:1b:ee:81:e8:20:68:9d:3a:89:c2 dhcpcd[2217]: wlan0: IAID 9d:3a:89:c2 dhcpcd[2217]: wlan0: soliciting a DHCP lease dhcpcd[2217]: wlan0: soliciting an IPv6 router dhcpcd[2217]: wlan0: offered 192.168.1.100 from 192.168.1.1 dhcpcd[2217]: wlan0: leased 192.168.1.100 for 7200 seconds dhcpcd[2217]: wlan0: adding route to 192.168.1.0/24 dhcpcd[2217]: wlan0: adding default route via 192.168.1.1 dhcpcd[2217]: forked to background, child pid 2248 Одна тонкость, для новых версий wpa_supplicant указать драйвер nl80211 вместо wext. ===== Все одним скриптом: ===== Запускать от root #!/bin/sh #wi-fi up (console). DdShurick 25.11.14 version 002 GPL if [ $(whoami) = root ]; then IFACE=$(basename $(dirname /sys/class/net/*/phy80211)) [ $(pidof dhcpcd) ] && dhcpcd -k $IFACE [ $(pidof wpa_supplicant) ] && kill $(pidof wpa_supplicant) if [ "$(cat /sys/class/net/$IFACE/operstate)" != "up" ]; then ifconfig $IFACE up sleep 2 fi echo "Выберите сеть" if iwlist $IFACE scan | grep ESSID; then echo -n "ESSID: " read MYESSID echo -n "Пароль " read MYPASSWD wpa_passphrase $MYESSID $MYPASSWD > /tmp/wpa.conf wpa_supplicant -B -D wext -i $IFACE -c /tmp/wpa.conf dhcpcd $IFACE else echo "Доступные сети не найдены" fi else echo "У вас нет прав на выполнение wifiup, нужны права root" fi [[http://forum.puppyrus.org/index.php/topic,16233.new.html#new|Обсуждение]] 14.07.11 DdShurick ===== GUI ===== По просьбе из [[http://forum.puppyrus.org/index.php/topic,16233.new.html#new|обсуждения]], то же но с GUI #!/bin/sh #wi-fi up. DdShurick 04.12.14 version 003 which loginroot && loginroot=loginroot || loginroot=sudo [ `id -u` = 0 ] || exec $loginroot $0 IFACE=$(basename $(dirname /sys/class/net/*/phy80211)) [ $(pidof dhcpcd) ] && dhcpcd -k $IFACE [ $(pidof wpa_supplicant) ] && kill $(pidof wpa_supplicant) [ "$(cat /sys/class/net/$IFACE/operstate)" = "up" ] || ifconfig $IFACE up sleep 2 iwlist $IFACE sc | egrep 'Address:|Channel:|Quality|Encryption key:|ESSID:' > /tmp/iwlist export Window=" MYESSID $(awk -F \: '/ESSID/ {print ""$2""}' /tmp/iwlist) " eval $(gtkdialog -c --program "Window") [ "$EXIT" = "Cancel" -o "$EXIT" = "abort" ] && exit [ "$MYESSID" ] || exit [ "$EXIT" = "Подключить" ] || exit KEY=$(grep $MYESSID -B 1 /tmp/iwlist | awk '/Encryption/ {print $2}') if [ "$KEY" = "key:on" ]; then export Passw=" password MYPASSWD " eval $(gtkdialog -c --program "Passw") [ "$EXIT" = "Cancel" -o "$EXIT" = "abort" ] && exit [ "$MYPASSWD" ] || exit [ "$EXIT" = "Подключить" ] || exit wpa_passphrase $MYESSID $MYPASSWD | grep -v '#psk' > /tmp/wpa.conf wpa_supplicant -B -D nl80211 -i $IFACE -c /tmp/wpa.conf #wpa_supplicant -B -D wext -i $IFACE -c /tmp/wpa.conf #для старых версий wpa_supplicant dhcpcd $IFACE if [ "$?" = 0 ]; then export Addr=" " eval $(gtkdialog -c --program "Addr") [ "$EXIT" = "Cancel" -o "$EXIT" = "abort" ] && exit [ "$EXIT" = "Сохранить" ] || exit MYADDR=$(grep -B 5 USSR /tmp/iwlist | awk '/Address/ {print $5}') cp /tmp/wpa.conf /etc/network-wizard/wireless/wpa_profiles/${MYADDR}.wpa.conf fi elif [ "$KEY" = "key:off" ]; then iwconfig $IFACE essid $MYESSID key off dhcpcd $IFACE fi Для gtk3 заменить на Испытано: PRA, PR-1312-XFCE, AltLinux Simply, Richy. Теоретически должно работать в любом Linux. Добавлено DdShurick