Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт запускается лишь со второго раза  (Прочитано 1225 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Здравствуйте! Столкнулся с проблемой при решении бага с отображением стрелок вместо wifi индикатора на Ubuntu 16.04.
Имеется скрипт:
#!/bin/sh

case "$1" in
  suspend|hibernate|pre)
    /sbin/rmmod ath9k
    ;;
  thaw|resume|post)
    /sbin/modprobe ath9k
    ;;
esac
exit 0
Он брошен в /lib/systemd/system-sleep/
После перезагрузки, ухода в сон и выхода из него скрипт не выполняется (получаем стрелочки, будто подключён по Ethernet, а не WiFi.). После повторного перехода в режим сна и выхода из него имеет нормальную иконку, в последующие разы тоже всё хорошо.
В чём может быть проблема, прошу помочь, подсказать.

ТС не появлялся на Форуме более полугода по состоянию на 17/07/2019 (последняя явка: 19/08/2018). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 17 Июль 2019, 09:12:00 от zg_nico »

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #1 : 17 Декабрь 2017, 19:12:33 »
Попробуй изменить скрипт так:

#!/bin/sh

case "$1" in
  suspend|hibernate|pre)
    sleep 5 && /sbin/rmmod ath9k
    ;;
  thaw|resume|post)
    sleep 5 && /sbin/modprobe ath9k
    ;;
esac
exit 0

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #2 : 17 Декабрь 2017, 19:22:44 »
Неа, не помогло.
Вообще интересное поведение, оформил скрипт выше в виде сервиса systemd и результат тот же - после первого сна нет результата, а после последующих всё работает. В статусе systemctl также видно, что сервис запускается, выполняется и завершается как положено. :idiot2:
А вот если ручками после первого сна перезагрузить модуль или выполнить сервис, то также всё нормально.
UPD:
Нашёл кое-что интересное в логах.
При первом выходе из сна после поднятия сети и выполнения скрипта я вижу ошибку
systemd-sleep[2311]: /lib/systemd/system-sleep/wpasupplicant failed with error code 255.
А вот после последующих выходов из сна этой ошибки нет!
« Последнее редактирование: 17 Декабрь 2017, 20:02:54 от dimon2242 »

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #3 : 17 Декабрь 2017, 20:04:30 »
Неа, не помогло.

Попробуй увеличить время задежки. Поставь 'sleep 15' в обоих случаях.

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #4 : 17 Декабрь 2017, 20:21:01 »
Не помогло, но задержка увеличилась.
Моё замечание выше про wpasupplicant ложно, без него то же самое в точности.
После нескольких перезагрузок всё-таки сработал с первого раза, но вот в следующий раз он уже не отработал.
« Последнее редактирование: 17 Декабрь 2017, 20:23:21 от dimon2242 »

Оффлайн ecc83

  • Старожил
  • *
  • Сообщений: 2078
  • Lubuntu 16.04 LTS
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #5 : 17 Декабрь 2017, 20:34:32 »
Странно. Ищи в логах причину ошибки.

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #6 : 17 Декабрь 2017, 20:44:20 »
А как узнаёте, работает скрипт или нет? По наличию "стрелочек" в трее? Так не пойдет.

Код: Bash
  1. #!/bin/sh
  2.  
  3. case "$1" in
  4.   suspend|hibernate|pre)
  5.     sleep 5
  6.     /sbin/rmmod ath9k && echo "rmmod ath9k OK" ||  echo "rmmod ath9k FAIL"
  7.     ;;
  8.   thaw|resume|post)
  9.     sleep 5
  10.     /sbin/modprobe ath9k && echo "modprobe ath9k OK" ||  echo "modprobe ath9k FAIL"
  11.     ;;
  12. esac
  13.  

journalctl | grep ath9k
« Последнее редактирование: 17 Декабрь 2017, 20:48:23 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #7 : 17 Декабрь 2017, 20:59:40 »
Почти так и делал, скрипт срабатывает.

дек 17 20:55:09 Photonix-Laptop kernel: ath9k 0000:02:00.0 wlp2s0: renamed from wlan0
дек 17 20:55:21 Photonix-Laptop NetworkManager[1068]: <info>  [1513533321.2858] rfkill0: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy0/rfkill0) (driver ath9k)
дек 17 20:56:03 Photonix-Laptop kernel: ath9k: ath9k: Driver unloaded
дек 17 20:56:03 Photonix-Laptop systemd-sleep[2229]: rmmod ath9k OK
дек 17 20:56:08 Photonix-Laptop NetworkManager[1068]: <info>  [1513533368.3386] rfkill2: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy1/rfkill2) (driver ath9k)
дек 17 20:56:08 Photonix-Laptop kernel: ath9k 0000:02:00.0 wlp2s0: renamed from wlan0
дек 17 20:56:08 Photonix-Laptop systemd-sleep[2229]: modprobe ath9k OK
дек 17 20:59:08 Photonix-Laptop kernel: ath9k: ath9k: Driver unloaded
дек 17 20:59:08 Photonix-Laptop systemd-sleep[4522]: rmmod ath9k OK
дек 17 20:59:13 Photonix-Laptop kernel: ath9k 0000:02:00.0 wlp2s0: renamed from wlan0
дек 17 20:59:13 Photonix-Laptop systemd-sleep[4522]: modprobe ath9k OK
дек 17 20:59:13 Photonix-Laptop NetworkManager[1068]: <info>  [1513533553.3473] rfkill3: found WiFi radio killswitch (at /sys/devices/pci0000:00/0000:00:1c.3/0000:02:00.0/ieee80211/phy2/rfkill3) (driver ath9k)

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #8 : 17 Декабрь 2017, 21:01:38 »
dimon2242, если выполняется, то какие вопросы? Причина "стрелочки в трее" тогда явно не в том, что скрипт не выполняется.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн victor00000

  • Забанен
  • Старожил
  • *
  • Сообщений: 15570
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #9 : 17 Декабрь 2017, 21:33:52 »
интереснее, как головоломка.
1:L~$
1:L~$ sleep 100000 & echo $! > /tmp/pid1
[1] 29707
1:L~$
1:L~$ cat /tmp/pid1
29707
1:L~$
1:L~$ pgrep -F /tmp/pid1 || echo ERROR
29707
1:L~$
1:L~$ kill `cat /tmp/pid1`1:L~$
[1]+  Завершено      sleep 100000
1:L~$
1:L~$ cat /tmp/pid1
29707
1:L~$
1:L~$ pgrep -F /tmp/pid1 || echo ERROR
ERROR
1:L~$
1:L~$
1:L~$ rm /tmp/pid1
1:L~$

« Последнее редактирование: 17 Декабрь 2017, 21:38:56 от victor00000 »
Нельзя друзья, дулу - AnrDaemon видите?
~.o

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #10 : 17 Декабрь 2017, 22:38:18 »
dimon2242, если выполняется, то какие вопросы? Причина "стрелочки в трее" тогда явно не в том, что скрипт не выполняется.
Да, с заголовком не совсем точно вышло.
Суть в том, что скрипт выполняется, а проблема не решается, хотя если вручную выполнить перезагрузку модуля в той же ситуации, то нужный результат достигается.
Это известная проблема в 16.04, даже баг-репорт имеется.
В любом случае всем спасибо за участие!
Благо редко приходится ребутить машину, в основном в гибернации и сне живёт ;)

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4307
  • Capture the truth
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #11 : 17 Декабрь 2017, 22:43:43 »
dimon2242, в баг-репорте единственное решение модуль "дёргать"?
можно ссылочку, у меня Lubuntu - там всё хорошо.
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3276
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #12 : 18 Декабрь 2017, 00:40:05 »
dimon2242, вообще-то это проблема толи Network-Manager толи nm-indicator. И решается перезагрузкой залипшего сервиса)
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн dimon2242

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #13 : 18 Декабрь 2017, 02:24:16 »
dimon2242, вообще-то это проблема толи Network-Manager толи nm-indicator. И решается перезагрузкой залипшего сервиса)
Да вот после нескольких перезапусков сервиса вообще отваливается апплет. Единственный верный вариант - перезапуск апплета. Пробовал перезапускать его из сервиса systemd и скриптом в system-sleep, но в логах видно что он не может запуститься, поскольку не может подключиться к дисплею, а значит надо запускать от имени моей учётки, тогда придётся, как я полагал, лезть в sudoers, чтобы получилось запустить с помощью sudo -u

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3276
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #14 : 18 Декабрь 2017, 02:57:14 »
dimon2242, и для чего такие сложности?
SystemD может работать и в юзерспейсе (systemctl --user <command> <service> # БЕЗ SUDO)
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

 

Страница сгенерирована за 0.193 секунд. Запросов: 23.