
У меня старая материнская плата с картой PCIe USB 3.0. К ней подключен адаптер WiFi, который обеспечивает сетевое подключение. Все работает нормально, пока машина не переведена в спящий режим/режим ожидания. После пробуждения сеть не включается, потому что, как мне кажется, машина пытается включить сеть до того, как снова включается карта USB. После этого я могу просто перезапустить сеть, что работает, так как интерфейс USB к тому времени уже включен, но было бы неплохо, чтобы ОС ждала, пока интерфейс USB включится первым, прежде чем пытаться включить сетевое подключение. Можно ли что-то сделать, чтобы приоритизировать включение USB или иным образом заставить это работать так, как задумано?
Редактировать: Драйвер WiFi — это драйвер MediaTek, так как адаптер WiFi использует хорошо поддерживаемый чип MT7612U. У меня нет этой проблемы при использовании встроенных портов USB 2.0 на материнской плате. Кроме того, чип USB 3.0 на карте — это Renesas/NEC, но я не могу вспомнить фактическую модель на данный момент. Дело в том, что это все очень хорошо поддерживаемое оборудование в Linux, поэтому я не уверен, почему это происходит.
решение1
Если я правильно понял, команда
sudo systemctl restart network-manager.service
решает проблему.
Решением тогда будет добавить его в качестве сценария пробуждения.
От Запуск скриптов до и после приостановки с помощью systemd:
Просто поместите исполняемый скрипт с любым именем в /usr/lib/systemd/system-sleep/, который проверяет, является ли первый аргумент pre (до перехода системы в спящий режим) или post (после выхода системы из спящего режима).
Если это
pre
, то сделайте то, что вы хотите сделать перед приостановкой, если это ,post
то сделайте то, что вы хотите сделать после возобновления. Просто!Вот бесполезный пример:
#!/bin/sh if [ "${1}" == "pre" ]; then # Do the thing you want before suspend here, e.g.: echo "we are suspending at $(date)..." > /tmp/systemd_suspend_test elif [ "${1}" == "post" ]; then # Do the thing you want after resume here, e.g.: echo "...and we are back from $(date)" >> /tmp/systemd_suspend_test fi