Была в машине PCI карта wi-fi, регулярно этот самый wi-fi отваливался. Однако при переводе компа в "спящий" режим (и через главное меню и кнопкой на клаве) всё происходило правильно: гас монитор, останавливались винты и вентиляторы и тишина.
Приехала новая карта (fenvi 5 ac1200 с bluetooth-ом, на PCI-e), с wi-fi всё good, но комп перестал уходить в режим сна, т.е. выключается монитор, вроде бы как идёт процесс засыпания, но завершается всё это тем, что машина просыпается. Если оставить комп в покое на некоторое время, то и монитор не выключается (просто появляется экран блокировки) и вентиляторы продолжают работать.
Kubuntu 24.04 (пробовал и на kubuntu 24.10 и на fedora 41 - результат тот же).
На win 10 всё работает нормально.
В BIOS стоит режим ACPI S3.
Куда рулить?
Kubuntu 25.04.
Если бы это был не Я, то придумал что-нибудь более ПУТНОЕ. А так могу предложить рулить только в сторонуДык када она выйдет то.
ЗЫ Улыбнул Ваш коммент по поводу 2М не размеченной области
Она уже живёт и здравствует, там ссылка кликабельная.
А если карточку вытащить то нормально засыпает?
Попробуй для начала посмотреть что пишет после попытки заснуть:
journalctl -b | grep -i suspend
янв 06 12:54:13 [...] systemd-logind[847]: Suspend key pressed short.
янв 06 12:54:13 [...] systemd-logind[847]: The system will suspend now!
янв 06 12:54:13 [...] ModemManager[968]: <msg> [sleep-monitor-systemd] system is about to suspend
янв 06 12:54:15 [...] systemd[1]: Starting systemd-suspend.service - System Suspend...
янв 06 12:54:15 [...] kernel: PM: suspend entry (deep)
янв 06 12:54:15 [...] systemd-sleep[3885]: Performing sleep operation 'suspend'...
янв 06 12:54:36 [...] kernel: printk: Suspending console(s) (use no_console_suspend to debug)
янв 06 12:54:36 [...] kernel: PM: suspend exit
янв 06 12:54:34 [...] systemd-sleep[3885]: System returned from sleep operation 'suspend'.
янв 06 12:54:36 [...] systemd[1]: systemd-suspend.service: Deactivated successfully.
янв 06 12:54:36 [...] systemd[1]: Finished systemd-suspend.service - System Suspend.
янв 06 12:54:36 [...] systemd[1]: Reached target suspend.target - Suspend.
янв 06 12:54:36 [...] systemd-logind[847]: Operation 'suspend' finished.
янв 06 12:54:36 [...] systemd[1]: Stopped target suspend.target - Suspend.
От такое...
Ничего интересного не видно. Прерывается процесс, конкретная причина из лога не ясна. Предлагает с параметром no_console_suspend смотреть. Можно еще так попробовать глянуть:
sudo dmesg | grep -i wake
но не думаю что там интересное что-то будет.
Можно еще попробовать Wake On Lan отключить на удачу.
sudo ethtool wlp1s0 wol d
wlp1s0 заменить на название вашего wifi интерфейса.
А как узнать название моего wifi интерфейса вида "wlp1s0"?
На запрос: lspci | grep Wireless
ответ: 04:00.0 Network controller: Intel Corporation Wireless 7260 (rev cb)
ifconfig
Не, картина та же (.
А есть ли какая-нить возможность "аппаратно" отключить устройство (по типу Wind`ы, где это можно сделать в Диспетчере устройств (я знаю, что в Linux нет такого диспетчера, но может команды какие есть))
Проверь статус wakeup для PCIe-устройств
lspci -vvv -s $(lspci | grep 'Network controller' | cut -d' ' -f1) | grep -i 'wake'
если в выводе есть PME# Enable или Wake-on: ..., отключи wakeup:
echo disabled | sudo tee /sys/bus/pci/devices/$(lspci -D | grep 'Network controller' | awk '{print $1}')/power/wakeup
Выводит вот что:
10BitTagComp- 10BitTagReq- OBFF Via WAKE#, ExtFmt- EETLPPrefix-
Это явно не то что нам надо.
а тут что выдает?
cat /proc/acpi/wakeup | grep -i enabled
и тут
grep enabled /sys/bus/usb/devices/*/power/wakeup
по первому:
PS2K S4 *enabled pnp:00:04
USB0 S4 *enabled pci:0000:00:02.0
USB1 S4 *enabled pci:0000:00:04.0
USBB S3 *enabled pci:0000:00:04.1
USB2 S3 *enabled pci:0000:00:02.1
по второму вывод отсутствует ваще
Bluetooth на твоей Fenvi карте, скорее всего, подключен через один из этих USB-портов. Даже если Wi-Fi работает через PCIe, Bluetooth может будить систему через USB.
Отключи для проверки wakeup у этих портов
echo USB0 | sudo tee /proc/acpi/wakeup
echo USB1 | sudo tee /proc/acpi/wakeup
echo USBB | sudo tee /proc/acpi/wakeup
echo USB2 | sudo tee /proc/acpi/wakeup
и проверь сон
Победа ). Какой-то из портов USB портит малину ). После выполнения указанных команд машинка засыпает как раньше ). Ура.
И таки да, я, инсталлируя карту, подключил её к USB-порту на плате идущим в комплекте с картой кабелем.
А как включать порты (чтобы не перезапускать комп каждый раз в процессе поиска "виноватого")?
Той же командой
echo USB0 | sudo tee /proc/acpi/wakeup
она работает как переключатель, если было отключено, включит.Проверить статус
cat /proc/acpi/wakeup | grep USB
Помехой оказалась USB0. При отключении оной комп успешно уходит в sleep.
Забавно, что при отключённой USB0 bluetooth продолжает таки работать ).
lsusb выдаёт такую инфу:
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 8087:07dc Intel Corp. Bluetooth wireless interface
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 0458:00ec KYE Systems Corp. (Mouse Systems) USB Optical Mouse
Как (бы) разобраться, чему что соответствует (USB0 это Bus 00... и т.п.)? Чего я отключил, отключивши USB0?
Мы запретили только пробуждение от USB0 но не отключали питание. Сами устройства (Bluetooth, мышь и т.д.) продолжают работать — их питание не прерывается.
ACPI-порты (USB0, USB1 и т.д.) — это контроллеры/порты материнки, а не физические разъёмы.
Понято. А не просветите ли Вы меня по поводу Linux Foundation 1.1 root hub, Linux Foundation 2.0 root hub - это имеет ли какое-то отношение к версиям usb (1.1 и 2.0)?
Это USB-контроллеры материнки. 1.1 и 2.0 — версии USB, которые они поддерживают.
dm, спасибище Вам самое искреннее за решение моей проблемы.
Я уж было собирался карту удалить и всплакнув над ней отдать юннатам ). А тут такое ).
Хорошо, что есть такой ресурс и такие его обитатели ).
Рад, что получилось решить проблему.
Что бы после перезагрузки автоматом отключалось wakeup у USB0
echo '#!/bin/sh
echo USB0 > /proc/acpi/wakeup' | sudo tee /etc/init.d/disable-usb-wakeup
sudo chmod +x /etc/init.d/disable-usb-wakeup
sudo update-rc.d disable-usb-wakeup defaults
Кто же, если не МЫ.
Отправить комментарий