Копипаст с https://forum.altlinux.org/index.php?topic=40059.msg316952#msg316952 https://forum.altlinux.org/index.php?topic=40059.msg316959#msg316959 https://forum.altlinux.org/index.php?topic=40059.msg316962#msg316962 На HP Compaq nx6110 с сизифной sysv-xfce и dist-upgrade от 23-го августа, ядром 4.9.38-std-def при загруженном броадкомовском драйвере b44, выловил о-очень неприятную проблему acpi: # uname -r 4.9.38-std-def-alt1 # grep -rH b44 /etc/modprobe.d/blacklist-bcm*.conf /etc/modprobe.d/blacklist-bcm2.conf:blacklist b44 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) # modprobe b44 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 # cat /etc/polkit-1/rules.d/60-xfce4-pm-helper.rules polkit.addRule(function(action, subject) { if (action.id == "org.xfce.power.xfce4-pm-helper" && subject.isInGroup("xgrp") ) { return polkit.Result.YES; } }); # rpm -qf /etc/polkit-1/rules.d/60-xfce4-pm-helper.rules polkit-sysvinit-0.3.4-alt2.noarch $ pkexec /usr/sbin/xfce4-pm-helper --suspend После последней команды, система зависнет на 30 секунд при отображающемся рабочем столе с курсором, затем экран на 10 секунд станет чёрным, после чего ноутбук уйдёт в быстрый ребут. Если драйвер b44 не загружать, то команда $ pkexec /usr/sbin/xfce4-pm-helper --suspend стабильно правильно отрабатывает вход в suspend и выход из него (без fast reboot). Воспроизводил с многократной повторяемостью. Т.е. по состоянию сизифной системы на 23-е августа, на HP Compaq nx6110 полностью отсутствует возможность иметь проводную сеть. Загрузился в лайв, рекурсивно скопировал логи, просмотрел, но криминала не увидел.
Проблема с freeze и последующим fast reboot после загрузки b44, при попытке отправить в suspend, в сизифной системе на HP Compaq nx6110 проявляется на всех ядрах 4.9.x-std-def (по меньшей мере начиная с 4.9.20-std-def). Но не проявляется на ядре 4.4.53-std-def: # uname -r 4.4.53-std-def-alt1 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) # modprobe b44 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 $ date && pkexec /usr/sbin/xfce4-pm-helper --suspend && \ > date && \ > echo "Done. Good exit from suspend." && \ > echo -e `uname -r` Сб сен 23 20:50:34 +03 2017 Сб сен 23 20:50:59 +03 2017 Done. Good exit from suspend. 4.4.53-std-def-alt1
Проверялись ядра: # ls -1 /boot/vm* /boot/vmlinuz /boot/vmlinuz-3.14.79-std-def-alt0.M70P.2 /boot/vmlinuz-4.4.27-std-def-alt1 /boot/vmlinuz-4.4.30-std-def-alt1 /boot/vmlinuz-4.4.31-std-def-alt1 /boot/vmlinuz-4.4.34-std-def-alt1 /boot/vmlinuz-4.4.35-std-def-alt1 /boot/vmlinuz-4.4.44-std-def-alt1.1 /boot/vmlinuz-4.4.47-std-def-alt1.1 /boot/vmlinuz-4.4.53-std-def-alt1 v /boot/vmlinuz-4.9.20-std-def-alt1 v /boot/vmlinuz-4.9.30-std-def-alt1 v /boot/vmlinuz-4.9.34-std-def-alt1 v /boot/vmlinuz-4.9.38-std-def-alt1 v /boot/vmlinuz-std-def
Проверил и последнее сизифное ядро: Последнее ядро, драйвер b44 загружен: # uname -r 4.9.51-std-def-alt1 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) # modprobe b44 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 $ date && pkexec /usr/sbin/xfce4-pm-helper --suspend && \ > date && \ > echo "Done. Good exit from suspend." && \ > echo -e `uname -r` Сб сен 24 09:42:37 +03 2017 # Здесь freeze 40sec и fast reboot Но между тем: Последнее ядро, драйвер b44 не загружен $ lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) $ date && pkexec /usr/sbin/xfce4-pm-helper --suspend && \ > date && \ > echo "Done. Good exit from suspend." && \ > echo -e `uname -r` Вс сен 24 09:53:08 +03 2017 Вс сен 24 09:53:38 +03 2017 Done. Good exit from suspend. 4.9.51-std-def-alt1
Просьба важность ошибки перевести в статус major.
(В ответ на комментарий №3) > Проверил и последнее сизифное ядро: 4.13.3?
(В ответ на комментарий №5) > (В ответ на комментарий №3) > > Проверил и последнее сизифное ядро: > 4.13.3? Проверил и 4.13.3-un-def-alt1, - та же проблема с b44+suspend.
Разлом произошёл после перехода на новую версию ядра. Архив сизифа: 4.4.55-std-def 2017/03/22 b44+suspend в норме 4.9.16-std-def 2017/03/23 b44+suspend: suspend разломан
http://cdimage.ubuntu.com/xubuntu/releases/16.04.3/release/xubuntu-16.04.3-desktop-i386.iso Лайв-режим загрузки: root@xubuntu:~# uname -r 4.10.0-28-generic root@xubuntu:~# lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 root@xubuntu:~# cat /etc/os-release NAME="Ubuntu" VERSION="16.04.3 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.3 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial xubuntu@xubuntu:~$ date && xfce4-session-logout --suspend && uname -r && echo -e 'Done\nGood exit from suspend' && date Вс сен 24 22:49:55 UTC 2017 4.10.0-28-generic Done Good exit from suspend Вс сен 24 22:49:55 UTC 2017 xubuntu@xubuntu:~$ Говоря простым языком, на чистокровной 32 бит Интел архитектуре: - На текущем сизифном xfce с ядрами выше 4.4.х (в сизифе 4.9.х и выше) при загруженном драйвере b44, уход в suspend вызывает фриз 40 секунд и следом за ним быстрый ребут. - На лайве xubuntu-16.04.3-desktop-i386.iso (dd) при загруженном драйвере b44, вход в suspend и выход из него беспроблемный.
Проверка на лайве Федора с ядром выше чем 4.4: https://spins.fedoraproject.org/xfce/download/xfce-download-splash?file=https://download.fedoraproject.org/pub/fedora-secondary/releases/26/Spins/i386/iso/Fedora-Xfce-Live-i386-26-1.5.iso Лайв-режим: [root@localhost-live ~]# uname -r 4.11.8-300.fc26.i686 [root@localhost-live ~]# lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 [root@localhost-live ~]# cat /etc/os-release NAME=Fedora VERSION="26 (Twenty Six)" ID=fedora VERSION_ID=26 PRETTY_NAME="Fedora 26 (Twenty Six)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:fedoraproject:fedora:26" HOME_URL="https://fedoraproject.org/" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=26 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=26 PRIVACY_POLICY_URL=https://fedoraproject.org/wiki/Legal:PrivacyPolicy [liveuser@localhost-live ~]$ date && xfce4-session-logout --suspend && echo -e 'Done\nGood exit from suspend' && date && uname -r Mon Sep 25 12:02:19 EDT 2017 Done Good exit from suspend Mon Sep 25 12:02:19 EDT 2017 4.11.8-300.fc26.i686 [liveuser@localhost-live ~]$ Драйвер b44 загружен, вход в suspend и выход из него нормальный.
Результат после долгого поиска обкаткой un-def, при переходе с какого на какое ядро произошёл слом с потерей функционала: Короче, раз цепочка версий ядер un-def есть в архиве сизифа, то гонял его. Выжимка из обкатки большого количества ядер: ================================================= TEST UN-DEF ALT ARCHIVE SISYPHUS ------------------------------------------------- # uname -r data archive 2016/03/17 4.4.5-un-def-alt1 # modprobe b44 $ date && pkexec /usr/sbin/xfce4-pm-helper --suspend && date && echo "Done. Good exit from suspend." && echo -e `uname -r` Пн сен 25 14:41:28 +03 2017 Пн сен 25 14:41:55 +03 2017 Done. Good exit from suspend. 4.4.5-un-def-alt1 ------------------------------------------------- 4.5.0-un-def data archive 2016/03/18 modprobe b44 suspend фриз и фаст ребут на суспенд ------------------------------------------------- Т.е., 17-го марта прошлого года было ядро 4.4.5-un-def-alt1 и оно нормально работало. Но 18-го марта уже появилось ядро 4.5.0-un-def-alt1 и при загруженном b44, suspend тут же разломался до 40-касекундного фриза с последующим fast reboot нечто похожим на reset. Между тем ядра 4.10 из xubuntu 16.04.03 и 4.11 из fedora 26, работают правильно и корректно.
Нашёл и Slackware с подходящим ядром, той же линейки что и у альта, и посмотрел её: root@darkstar:~# cat /etc/os-release NAME=Slackware VERSION="14.2" ID=slackware VERSION_ID=14.2 PRETTY_NAME="Slackware 14.2" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:slackware:slackware_linux:14.2" HOME_URL="http://slackware.com/" SUPPORT_URL="http://www.linuxquestions.org/questions/slackware-14/" BUG_REPORT_URL="http://www.linuxquestions.org/questions/slackware-14/" root@darkstar:~# uname -r 4.9.50 root@darkstar:~# lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company PRO/Wireless 2200BG [Calexico2] Network Connection (nc6120/nx8220/nw8240) Kernel driver in use: ipw2200 Kernel modules: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company BCM4401-B0 100Base-TX (NX6110/NC6120) Kernel driver in use: b44 live@darkstar:~$ date && xfce4-session-logout --suspend && \ echo -e 'Done\nGood exit from suspend' && \ uname -r && \ cat /etc/slackware-version && \ date Сб сен 30 10:36:14 +03 2017 Done Good exit from suspend 4.9.50 Slackware 14.2 Сб сен 30 10:36:14 +03 2017 Т.е. на nx6110, suspend с b44 правильно работает в любом линукс, по крайней мере из трёх увиденных, - xubuntu, fedora, slackware. Кроме альтлинукс: в альтлинукс стабильное обрушение системы .
================================================= # cat /image/.disk/info ALT regular-xfce/i586 2017-09-27 # uname -r 4.13.3-un-def-alt1 # ls -l /proc/1/exe lrwxrwxrwx 1 root root 0 сен 30 18:17 /proc/1/exe -> /lib/systemd/systemd # lspci -k|grep -A2 'Netw\|Ether' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 $ date && xfce4-session-logout --suspend && \ > uname -r && date && echo -e 'Done\nGood exit from suspend' Сб сен 30 18:31:16 UTC 2017 4.13.3-un-def-alt1 Сб сен 30 18:31:16 UTC 2017 Done Good exit from suspend ================================================= # uname -r 4.13.4-un-def-alt1 # ls -l /proc/1/exe lrwxrwxrwx 1 root root 0 сен 30 2017 /proc/1/exe -> /sbin/init # cat /etc/altlinux-release ALT Linux Sisyphus (unstable) # grep apt-get /var/log/user/info|tail -n1|awk '{print $1,$2,$3,$8}' Sep 30 19:04:42 removed # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) # modprobe b44 # lspci -k|grep -A2 'Ether\|Netw' 02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05) Subsystem: Hewlett-Packard Company nc6120/nx8220/nw8240 Kernel driver in use: ipw2200 -- 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 Kernel driver in use: b44 $ date && xfce4-session-logout --suspend && \ > uname -r && date && echo -e 'Done\nGood exit from suspend' Сб сен 30 19:16:55 UTC 2017 # Здесь freeze 40 sec > fast reboot =================================================
Правильно ли я понимаю, что в +- одинаковом окружении с systemd работает, а с sysVinit -- нет? Тут может быть довольно много всего, вплоть до того, что xfce4-logout может по разному делать suspend при разных init-ах... А что будет если сделать echo disk > /sys/power/state ? И воспроизводится ли проблема на x86_64?
(В ответ на комментарий №13) > Правильно ли я понимаю, что в +- одинаковом окружении с systemd работает, а с > sysVinit -- нет? > Да. Это первая часть Комментарий #12: https://bugzilla.altlinux.org/show_bug.cgi?id=33913#c12 Первая часть комментария, это лайв xfce регулярки на systemd. Вторая часть, это установленная система xfce с sysv и почти с тем же по версии ядром. Окружение близкое по срезу даты репозиториев +- до максимума. В первом случае, с systemd, система удачно входит в suspend и удачно выходит из него. Во втором случае, на установленной системе xfce с sysv, сразу же после попытки уйти в спячку в память, система с рабочим столом и курсором замерзает секунд на 30, затем секунд на 10 экран становится чёрным, затем как будто бы кто-то нажал reset. Смотрел логи, но не увидел чтобы система чем-то сильно была недовольна. Вероятно из-за фриза. > Тут может быть довольно много всего, вплоть до того, что xfce4-logout может по > разному делать suspend при разных init-ах... > > А что будет если сделать echo disk > /sys/power/state > ? > Усыпил на диск второй раз в жизни :-) # uname -r 4.9.52-std-def-alt1 # echo disk > /sys/power/state && echo -e \ 'Привет, я проснулась из STD!\nА ты уже тут? Я рада нашей встрече!' Привет, я проснулась из STD! А ты уже тут? Я рада нашей встрече! В Suspend-To-Disk входит и выходит вполне нормально. > И воспроизводится ли проблема на x86_64? Это не проверить: HP Compaq NX6110 это чистокровный Intel 32bit с процессором Intel Pentium M processor 770 https://ark.intel.com/ru/products/27597/Intel-Pentium-M-Processor-770-2M-Cache-2_13-GHz-533-MHz-FSB $ lscpu Архитектура:i686 CPU op-mode(s): 32-bit Порядок байт:Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Ядер на сокет:1 Сокетов: 1 ID прроизводителя:GenuineIntel Семейство ЦПУ:6 Модель: 13 Имя модели: Intel(R) Pentium(R) M processor 2.13GHz Степпинг: 8 CPU MHz: 800.000 CPU max MHz: 2133,0000 CPU min MHz: 800,0000 BogoMIPS: 1600.05 Флаги: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx bts eagerfpu est tm2 $ grep 'model name\|address sizes' /proc/cpuinfo model name : Intel(R) Pentium(R) M processor 2.13GHz address sizes : 32 bits physical, 32 bits virtual У этого ноутбука мощный чипсет и один из самых мощных по тем временам процессоров, которого тем не менее и по сегодняшний день хватает в пределах mate/tde/xfce и ниже.
(В ответ на комментарий №13) > Тут может быть довольно много всего, вплоть до того, что xfce4-logout может по > разному делать suspend при разных init-ах... > > А что будет если сделать echo disk > /sys/power/state > ? > А вот спячка в память этой командой, при том же загруженном драйвере b44, приводит к 40-касекундному фризу и быстрой перезагрузке похожей на reset: # uname -r 4.9.52-std-def-alt1 # cat /sys/power/state freeze mem disk # echo mem > /sys/power/state && echo -e \ 'Привет!\nЯ уже проснулась из STR!\nНу что, поехали?' # тут был фриз 40 сек. и быстрый ребут Между тем если драйвер b44 не загружать, то Suspend-To-Ram нормальный: # uname -r 4.9.52-std-def-alt1 # lspci -k|grep -A2 'Ether' 02:0e.0 Ethernet controller: Broadcom Limited BCM4401-B0 100Base-TX (rev 02) Subsystem: Hewlett-Packard Company NX6110/NC6120 03:00.0 USB controller: NEC Corporation OHCI USB Controller (rev 43) # date && echo mem > /sys/power/state && echo -e \ > 'Привет!\nЯ уже проснулась из STR!\nНу что, поехали?' && date Пт окт 6 19:57:32 +03 2017 Привет! Я уже проснулась из STR! Ну что, поехали? Пт окт 6 19:58:05 +03 2017 Т.е. получается что как виновник, xfce4-session-logout сам по себе исключается.
> Т.е. получается что как виновник, xfce4-session-logout сам по себе исключается. Ну, не то, чтоб совсем. Похоже, что при засыпании через systemd он делает ещё что-то, что предотращает зависание, чего не делает в sysv и при прямом echo mem...
Была проведена дополнительная проверка сборок ядра 4.9.50: slackware-current при загруженном b44 входит и выходит из suspend. altlinux - фриз и падение системы. Неведомым образом починилось на ядре $ uname -r 4.9.61-std-def-alt1 Такой же стабильный вход и выход из suspend и на ядре $ uname -r 4.9.62-std-def-alt1 # modprobe b44 # lsmod | grep 'ipw2200\|b44' b44 26629 0 ssb 46814 1 b44 mii 4758 1 b44 ipw2200 132346 0 libipw 26394 1 ipw2200 cfg80211 496987 3 wl,ipw2200,libipw $ echo "Выход из suspend:" && xfce4-session-logout --suspend; echo 'Готово' Выход из suspend: Готово Просьба закрыть багрепорт со статусом CLOSED FIXED
исправлено в upstream