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


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

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

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

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.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

  • Старожил
  • *
  • Сообщений: 2121
  • Ubuntu Mate 22.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

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

Оффлайн ALiEN

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

Код: (bash) [Выделить]
#!/bin/sh

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

journalctl | grep ath9k
« Последнее редактирование: 17 Декабря 2017, 20:48:23 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: 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)

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6810
  • 20% Cooler
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #8 : 17 Декабря 2017, 21:01:38 »
dimon2242, если выполняется, то какие вопросы? Причина "стрелочки в трее" тогда явно не в том, что скрипт не выполняется.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (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 »
Wars ~.o

Оффлайн dimon2242

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

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6810
  • 20% Cooler
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #11 : 17 Декабря 2017, 22:43:43 »
dimon2242, в баг-репорте единственное решение модуль "дёргать"?
можно ссылочку, у меня Lubuntu - там всё хорошо.
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #12 : 18 Декабря 2017, 00:40:05 »
dimon2242, вообще-то это проблема толи Network-Manager толи nm-indicator. И решается перезагрузкой залипшего сервиса)
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн dimon2242

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

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: Скрипт запускается лишь со второго раза
« Ответ #14 : 18 Декабря 2017, 02:57:14 »
dimon2242, и для чего такие сложности?
SystemD может работать и в юзерспейсе (systemctl --user <command> <service> # БЕЗ SUDO)
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

 

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