LINUX.ORG.RU
ФорумAdmin

как обнаружить на линуксе включение на смартфоне точки доступа

 , ,


0

1

Пользуюсь инетом на пк с линуксом мало,поэтому использую смартфон для выхода в сеть . Для автоматизации подключения проводного способа подключения смартфона к пк применяю (startup)

while true; do  if [ -d /sys/class/net/usb0 ]; then dhcpcd usb0; 
 break; fi; sleep 2; done

Проверяется наличие /sys/class/net/usb0 и запускается инет.

Подскажите нубу, не нашел пока ответа, как организовать автоматическое обнаружение , при включении на смартфоне точки доступа,те какой командой на пк можно обнаружить включение на смартфоне точки доступа. Сейчас сначала включаю точку доступа и запускаю вручную

wpa_supplicant -B -Dnl80211 -iwlan0 -c$CONFIG; wait;  /usr/sbin/dhcpcd  --noarp wlan0

пс:Программу connman знаю ,хотелось именно однострочником,если возможно.

Ответ нашел,можно закрыть тему.

nik120s
() автор топика
Ответ на: комментарий от Aceler

Если сеть уже известна, то Networkmanager делает это сам.

Хотел найти решение без Networkmanager,только с помощью терминала. Пробовал через if [ -n "$(iw dev wlan0 scan)" ], но iw не работает с wap2

nik120s
() автор топика
Ответ на: комментарий от Aceler

Почему-то сработала команда

while true; do if [ -n "$(iw dev wlan0 scan)" ; then wpa_supplicant -B -Dnl80211 -iwlan0 -c$CONFIG; wait; /usr/sbin/dhcpcd --noarp wlan0; fi; sleep 2; done ...

и я думал,что нашел решение,но вставив это в автозагрузку и перезагрузив пк - не работало.Узнал,что iw не поддерживает wpa2.Поэтому пока решения нет и никто не подсказывает как это сделать.

nik120s
() автор топика
Последнее исправление: nik120s (всего исправлений: 1)
Ответ на: комментарий от Aceler

Тогда напиши ответ, вдруг кому-то надо )

если вдруг кому-то надо,то так заработало,пока

a=0; while [ $a -le 120 ]; do  if [ "$(wpa_supplicant -B -Dnl80211 -iwlan0 -c$CONFIG)" ]; then  wpa_supplicant -B -Dnl80211 -iwlan0 -c$CONFIG; wait;  /usr/sbin/dhcpcd  --noarp wlan0 
 break; fi; sleep 2; (( a++ )); done
nik120s
() автор топика
Ответ на: комментарий от nik120s

если вдруг кому-то надо,то так заработало,пока

Ограничение в виде привязки к какому либо таймауту не самый лучший вариант, у вас получается 4 минуты которые вы взяли с потолка по принципу у меня сейчас! заработало.

anc ★★★★★
()

Демон wpa_supplicant всегда запущен, при старте системы пакет tlp выключает адаптер wifi, когда нужен просто жму кнопку(есть такая в наличии и есть Fn+) на ноуте.

spawn_sp ★★★★
()

Так тебе

как организовать автоматическое обнаружение

или руками?, если руками то можно wpa_cli интерактивно, wpa_cli help. Например в нём после запуска: > scan , > list_networks и т.д.

spawn_sp ★★★★
()
Ответ на: комментарий от spawn_sp

Нашел решение,автоматизация включения инета через WIFI (WPA2) на пк через смартфон с точкой доступа,с помощью однострочника,без манагеров.

rfkill unblock 0; CONFIG="/tmp/wpa_supplicant.conf"; wpa_supplicant -B -Dnl80211 -iwlan0 -c$CONFIG; a=0; while [ $a -le 150 ]; do  if [ -n "$(iwconfig wlan0 | grep $(sed -n 's/.*ssid=//p' $CONFIG))" ]; then /usr/sbin/dhcpcd  --noarp wlan0; break; fi; sleep 2; (( a++ )); done

цифра 150=3 минутам работы скрипта.Если за это время не включена точка доступа на смартфоне,то гудбай.

/tmp/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant
ap_scan=1
update_config=1

network={
	ssid="ваш на смарте"
	psk=это все есть,как делается
	proto=WPA2
	key_mgmt=WPA-PSK
	pairwise=CCMP
	group=CCMP
}

nik120s
() автор топика
Ответ на: комментарий от anc

150*2/60=5 Вы прогуливать школу начали с первых классов?

Это сделано специально,чтобы поторопились))

nik120s
() автор топика
Ответ на: комментарий от nik120s

цифра 150=3 минутам работы скрипта.

150*2/60=5 Вы прогуливать школу начали с первых классов?

Это сделано специально,чтобы поторопились))

Ответ виде «потому что гладиолус»?

anc ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.