21 / 12 / 10
Регистрация: 17.05.2014
Сообщений: 157
1

Не работает сканирование WiFI cron

20.12.2016, 09:35. Показов 2339. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья, пытаюсь научить малинку подключаться к нужной сети. Дома сеть1, на работе сеть2.
Скрипт после загрузки должен сканировать диапазон сетей, записывать результат в файл, а потом с помощью if, grep, sed записывать в /etc/network/interfaces нужный ssid и ключ.
Работая в системе команда iwlist wlan0 scan прекрасно выполняется, а вот в скрипте нет.
В логах пишет что
Bash
1
wlan0     Interface doesn't support scanning : Network is down
В начале скрипта указал параметры окружения, запускал iwlist разными способами, результат тот же
В crontab'e тоже добавил окружение. ЧЯДНТ?
Bash
1
2
3
4
5
crontab -e 
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#@reboot /root/scripts/autorunWiFi.sh > /root/scripts/autorunWiFi.out2 2>&1
@reboot /root/scripts/autorunWiFi.sh

сам скрипт

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
scanFile="/tmp/scan.log"
interfacesFile="/etc/network/interfaces"
sudo /sbin/iwlist wlan0 scan > $scanFile
/sbin/ifconfig wlan0 up
 
if  cat $scanFile | grep -i "ASUS-LNX9"; then
        /bin/sed -n -e :a -e '1,2!{P;N;D;};N;ba' -i $interfacesFile
        echo "wpa-ssid "ssid1"" >> $interfacesFile
        echo "wpa-psk "pass1"" >> $interfacesFile
else if cat $scanFile | grep -i "nkuzn"; then
        /bin/sed -n -e :a -e '1,2!{P;N;D;};N;ba' -i $interfacesFile
        echo "wpa-ssid "ssid2"" >> $interfacesFile
        echo "wpa-psk "pass2"" >> $interfacesFile
fi
fi
/sbin/ifdown wlan0 ; /sbin/ifconfig wlan0 up; /sbin/ifup wlan0
Вот логи выполнения
/root/scripts/autorunWiFi.out2

Bash
1
2
3
4
5
wlan0     Interface doesn't support scanning : Network is down
 
/sbin/ifdown: interface wlan0 not configured
/sbin/ifup: waiting for lock on /run/network/ifstate.wlan0
/sbin/ifup: interface wlan0 already configured
/var/log/cron.log
Bash
1
2
3
4
5
Dec 20 06:26:23 pi  cron[229]: (CRON) INFO (pidfile fd = 3)
Dec 20 06:26:23 pi  cron[229]: (CRON) INFO (Running @reboot jobs)
Dec 20 06:26:23 pi  CRON[267]: (root) CMD (/root/scripts/autorunWiFi.sh)
Dec 20 06:26:23 pi  CRON[268]: (root) CMD (/root/scripts/autorunWiFi.sh)
Dec 20 06:27:12 pi  systemd-timesyncd[185]: Timed out waiting for reply from 85.114.26.194:123 (2.debian.pool.ntp.org).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2016, 09:35
Ответы с готовыми решениями:

wifi работает, даже локальная сеть на ноуте через wifi работает, а вот внешка нет!!!
пользователь под ником "neige18" пишет: "Wifi подключен на ноутбуке. Создано беспроводное...

Сканирование HP LJ Pro MFT M225dw печатает по WIFI, но не сканирует
Проблема такая: нужно организовать работу сканера на данном устройстве по WI-FI... Аппарат видится,...

Не работает cron
CentOS в файле /etc/crontab прописано следующее: SHELL=/bin/bash...

Не работает cron
Настроил бакупы в ISP они не делаются, запустил задание в ручную все сделалось. Начал рыть дальше...

4
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
20.12.2016, 13:59 2
Цитата Сообщение от Demitrius Посмотреть сообщение
sudo /sbin/iwlist
Почему через sudo?
0
21 / 12 / 10
Регистрация: 17.05.2014
Сообщений: 157
20.12.2016, 14:28  [ТС] 3
Цитата Сообщение от Marinero Посмотреть сообщение
Почему через sudo?
Пробовал и так и эдак) Решил, что в этом дело
0
Эксперт NIX
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
20.12.2016, 16:13 4
Лучший ответ Сообщение было отмечено Demitrius как решение

Решение

Проблема думаю в том, что интерфейс не успевает запуститься ко времени выполнения скрипта. Я бы привязывал к поднятию сети, а не перезапуску разместив его в /etc/network/if-up.d/
1
21 / 12 / 10
Регистрация: 17.05.2014
Сообщений: 157
21.12.2016, 09:54  [ТС] 5
Цитата Сообщение от Marinero Посмотреть сообщение
Проблема думаю в том, что интерфейс не успевает запуститься ко времени выполнения скрипта.
Скопировал в ту папку, результата не принесло. Но вы мыслили в верном направлении: добавил задержку sleep 20s и всё получилось. Спасибо!
0
21.12.2016, 09:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2016, 09:54
Помогаю со студенческими работами здесь

cron не работает
Пытаюсь запускать php скрипт каждую минуту из cron, но каждую минуту по каким-то причинам он не...

Не работает cron
Суть проблемы в заголовке. Есть python скрипт, который постит фото в вк группу, когда запускаю...

Cron не работает
Добрый день. Нужно блокировать определённый ip на несколько часов. Я создал два sh скрипта - один...

Cron expression (Как узнать входит ли определенная дата в этот Cron)
Доброе время суток, Господа! Есть к примеру Cron такого вида: "0 0/30 * 1/1 * ? *", который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru