LINUX.ORG.RU

Не выключается и не перезагружается миникомпьютер на ядрах 4.4.x.x, 4.8.x.x, 4.10.x.x

 , , , ,


0

1

Проблема такая.Есть миникомп gygabyte brix. И на нем не работает нормально система управления питанием. А точнее при перезагрузке /выключении система виснет. Происходит это на ядрах 4.2.x.x, 4.4.x.x, 4.8.x.x, 4.9.x.x, 4.10.x.x, а также на ветке 3.19.x.x. И все это вне зависимости от дистриба, было проверено на Debian, Xubuntu, Lubuntu, Arch, Manjaro. При чем на ветке 3.16.x.x работает нормально. Как это дело исправить, если это возможно?

Поиграйся с этим, например:

3541     reboot=     [KNL]
3542             Format (x86 or x86_64):
3543                 [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \
3544                 [[,]s[mp]#### \
3545                 [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \
3546                 [[,]f[orce]
3547             Where reboot_mode is one of warm (soft) or cold (hard) or gpio,
3548                   reboot_type is one of bios, acpi, kbd, triple, efi, or pci,
3549                   reboot_force is either force or not specified,
3550                   reboot_cpu is s[mp]#### with #### being the processor
3551                     to be used for rebooting.
post-factum ★★★★★ ()
Ответ на: комментарий от Kaernk

А, сейчас вроде надо писать debug, а не 8. Мог бы и заглянуть в ман.

По поводу netconsole, что и куда должно отправляться?

dmesg на другой компьютер.

anonymous ()
Ответ на: комментарий от anonymous

-n debug вообще ничего не выдает. Другие компы на данный момент не функционируют. Есть какие-нибудь способы настроить подробное логирование перезагрузки/выключения на том же компе?

Kaernk ()

У меня на ноуте когда-то была беда с управлением питанием. Ковырялся, но никак не решил и ничего странного не обнаружил (вернее, решил проблему , купив новый ноут). Не работало ещё регулирование частоты ЦПУ - было всегда на минимальной и очень тормозило. Я вообще выключал ACPI, работал тупо на Макс. Частоте.

На Винде мне помогала утилита ThrottleStop - она как-то реанимировала ноут и все работало нормально. На Линукс ничего такого не нашел, а самому писать аналогичную программу для этого оказалось нецелесообразно. Причем, что на Винде, что на Линукс, проблема появилась одновременно. Может, железная проблема.

Посмотреть как оно поведет себя на Винде может быть полезно

anonymous ()

и с ноги не выключается?

anonymous ()
Ответ на: комментарий от anonymous

У меня дуалбут. На винде все нормально. Сейчас еще на GhostBSD проверил - тоже пашет (но со звуком проблемы). Как я говорил ранее, на ядре 3.16 перезагружается корректно. Так что явно дело не в железе.

Kaernk ()

вы не исправите эту проблему. Это косяк в ядре линукса мне известен с 2015 года

anonymous ()
Ответ на: комментарий от Deleted

Проверил - таже песня. На 4-ой ветке последние сообщения при выключении:

 mount: / is busy
 Will now halt 
И виснет.
А на ядре 3.16:
 mount: / is busy
 Will now halt
 reboot: Power down 
И происходит выключение.

Kaernk ()
Ответ на: комментарий от Kaernk

Если так получается, то делай git bisect. Тогда сможешь точно идентифицировать проблемный коммит.

anonymous ()
Ответ на: комментарий от Kaernk

Сообственно можно ли управлять параметрами перезагрузки с помощью sysctl или надо ядро пересобирать?

Kaernk ()
Ответ на: комментарий от post-factum

Проверил reboot=w,c,h,s,g,b,a,k,t,r,p,f а также различные их комбинации. Ничего не изменилось. Можно как-то глянуть с какими параметрами работает уже запущеное ядро?

Kaernk ()
Ответ на: комментарий от post-factum

Это смотрел, там ни о чем. Я имел ввиду с какими параметрами именно reboot=. Пробовал скопировать работающий конфиг в папке boot, ничего не меняется.

Kaernk ()
Ответ на: комментарий от anonymous

Если предлагаешь качать исходники, то я почти уверен что ядро не соберется из-за установленого через dpkg виртуалбокса. Так что я просто не смогу выполнить git bisect good.

Kaernk ()
Ответ на: комментарий от post-factum

Содержимое работающего config-3.16.0-67-generic, скопировал в не работающий config-4.4.0-93-generic. А что еще остается, если не работает ничего.

Kaernk ()
Ответ на: комментарий от post-factum

Не совсем понял, но все-таки:

walden@wal:~$ cd /boot
walden@wal:/boot$ sudo cp config-3.16.0-77-generic config-3.19.0-80-generic  
walden@wal:/boot$ make olddefconfig
make: *** Нет правила для сборки цели `olddefconfig'.  Останов.
Мы же не сборке говорим? И да, ветка 3.17 недоступна. Ближайшая 3.19

Kaernk ()
Ответ на: комментарий от anonymous

Видимо не совсем:

 CC [M]  ubuntu/vbox/vboxguest/VBoxGuest-linux.o
In file included from <command-line>:0:0:
././include/linux/kconfig.h:54:1: fatal error: ./ubuntu/vbox/vboxguest/include/VBox/VBoxGuestMangling.h: Нет такого файла или каталога
 #endif /* __LINUX_KCONFIG_H */
 ^
compilation terminated.
make[4]: *** [ubuntu/vbox/vboxguest/VBoxGuest-linux.o] Ошибка 1

Kaernk ()
Ответ на: комментарий от Kaernk

да хорош тупить! :) конфиг в буте - это конфиг сборки, с которым ядро было собрано, что бы ты мог увидеть что там. И его можно использовать (и тебе предлагают это сделать) для сборки более нового ядра

Deleted ()
Ответ на: комментарий от Deleted

Допустим) но мне не знакома make olddefconfig. Как я уже сказал ядро не хочет собираться из-за виртуал бокса. Пробовал по этому гайду: http://help.ubuntu.ru/wiki/сборка_ядра. Скачивал через git, конфигурировал make localyesconfig.

Kaernk ()
Ответ на: комментарий от post-factum

Скачал с kernel.org 3.17 ядро не заточенное под убунту, но тем не менее собралось. Перезагрузка работает нормально. Собрал 4.4.9, там перезагрузка не работает.

Kaernk ()
Ответ на: комментарий от post-factum

В общем собрал 36 ядер :) Так получилось, что я пару раз промахнулся и пришлось повторить процесс заново. Первый раз выставил крайнюю версию v3.17, как оказалось не все ядра в этой ветке рабочие, пришлось поменять на v3.16. Второй получился из-за того, что баг не постоянен, т.е. система перезагружалась нормально через раз-два. Причем нормальные конфигурации сопровождались вот такими сообщениями в начале загрузки (если таковых не было, то корретная перезагрузка не происходила):

ehci-pci 0000:00:1d:0:port 1 reset error -110
ehci-pci 0000:00:1d:0:port 1 reset error -110
ehci-pci 0000:00:1d:0:port 1 reset error -110
ehci-pci 0000:00:1d:0:port 1 reset error -110
usb1-port1: Cannot enable. Maybe the usb cable is bad
ehci-pci 0000:00:1d:0:port 1 reset error -110
... 
Ну и собственно вкратце результаты бисекта:
walden@wal:/usr/src/linux-git$ sudo git bisect reset
Checking out files: 100% (53523/53523), done.
Предыдущая позиция HEAD была 0c87b29... mellanox: Change en_print to return void
Переключено на ветку «master»
Ваша ветка обновлена в соответствии с «origin/master».
walden@wal:/usr/src/linux-git$ sudo git bisect start
walden@wal:/usr/src/linux-git$ sudo git bisect bad master
walden@wal:/usr/src/linux-git$ sudo git bisect good v3.16
Bisecting: 122065 revisions left to test after this (roughly 17 steps)
[96b9b1c95660d4bc5510c5d798d3817ae9f0b391] Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
walden@wal:/usr/src/linux-git$ sudo git bisect bad

...

walden@wal:/usr/src/linux-git$ sudo make olddefconfig
scripts/kconfig/conf --olddefconfig Kconfig
#
# configuration written to .config
walden@wal:/usr/src/linux-git$ sudo fakeroot make-kpkg -j 5 --initrd --append-to-version=-bad35 kernel_image kernel_headers #-j 2+1
walden@wal:/usr/src/linux-git$ sudo dpkg -i linux-headers-3.17.0-rc6-bad35+_3.17.0-rc6-bad35+-10.00.Custom_amd64.deb linux-image-3.17.0-rc6-bad35+_3.17.0-rc6-bad35+-10.00.Custom_amd64.deb 
walden@wal:/usr/src/linux-git$ sudo git bisect good
 
638139eb95d2d241781330a321e88c8dafe46078 is the first bad commit
commit 638139eb95d2d241781330a321e88c8dafe46078
Author: Petr Mladek <pmladek@suse.cz>
Date:   Fri Sep 19 17:32:24 2014 +0200

    usb: hub: allow to process more usb hub events in parallel
    
    It seems that only choose_devnum() was not ready to process more hub
    events at the same time.
    
    All should be fine if we take bus->usb_address0_mutex there. It will
    make sure that more devnums will not be chosen for the given bus and
    the related devices at the same time.
    
    Signed-off-by: Petr Mladek <pmladek@suse.cz>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

:040000 040000 6c3b464b8db2bec572cf7904c0aac317b41c1eec da3ee40957d0637f17895ae05aad4a6646377b2a M	drivers
 
Как я понял что-то с usb. Что теперь делать?

Kaernk ()
Ответ на: комментарий от Kaernk

Берёшь все адреса, указанные в коммите + те, которые тебе выдаст get_maintainers на файл, изменённый коммитом, и репортишь.

post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

Ок. А организационная часть:
мне регаться на ланчпаде или на kernel.org? Глянул гентовский гайд https://wiki.gentoo.org/wiki/Bugzilla/Bug_report_guide/ru , там тоже эта информация отсутсвует. Или есть веб-форма куда все данные скинуть?

Kaernk ()
Ответ на: комментарий от post-factum

Типа так?
subject: Баг в ядре
to:pmladek@suse.cz

Здорова чел! Ты поломал мне систему своим коммитом 638139eb95d2d241781330a321e88c8dafe46078

Kaernk ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.