Автор Тема: Исправление DSDT  (Прочитано 29191 раз)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Исправление DSDT
« : 08.11.2018 19:45:08 »
Альт Рабочая станция К 8.3 (beta20180816).

Linux 4.14.78-un-def-alt0.M80P.1 (свежее нет, обновлялся на днях)

Материнка ASUS PRIME B350-PLUS с новейшей BIOS 4023.

При загрузке ядра вижу:
kernel: ACPI Error: Needed [Integer/String/Buffer], found [Region] ffff88081e8f1e58 (20170728/exresop-424)
kernel: ACPI Exception: AE_AML_OPERAND_TYPE, Could not execute arguments for [IOB2] (Region) (20170728/nsinit-426)
ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
kernel: [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)

Уже порылся по сети. Это ошибка прошивки, ядро не виновато. Как оказалось, это распространено на материнках ASUS (кстати, мне они отказали в поддержке Linux уже, обращение в поддержку E1811040527).

Рекомендуют на форумах разбираться с DSDT.

Извлек, декомпилировал, вроде бы нашел то самое место в исходниках:OperationRegion (IOB2, SystemIO, SMIP, 0x02)
Field (IOB2, ByteAcc, NoLock, Preserve)
{
    SMPT,   8,
    SMIS,   8
}

И все. Что тут можно поправить? Языка не знаю, не в теме вообще.

Пробовал обойти проблему настраивая параметр ядра acpi_os_name:
Windows 2013: Ошибка ACPI сохраняется (есть вывод), система не загружается.
Linux: Ошибка ACPI сохраняется (есть вывод), система загружается, но неожиданно зависает.
« Последнее редактирование: 09.11.2018 03:26:27 от kiav »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Исправление DSDT
« Ответ #1 : 09.11.2018 03:53:41 »
Linux 4.14.78-un-def-alt0.M80P.1 (свежее нет, обновлялся на днях)

Свежее есть в сизифе:
kernel-image-un-def-4.18.17

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #2 : 09.11.2018 03:57:46 »
Свежее есть в сизифе:
Там может и есть, да в P8 нет.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Исправление DSDT
« Ответ #3 : 09.11.2018 10:25:32 »
Свежее есть в сизифе:
Там может и есть, да в P8 нет.

Установите из Сизифа. Ядро из Сизифа в p8 устанавливать не возбраняется.

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #4 : 09.11.2018 13:44:08 »
Установите из Сизифа. Ядро из Сизифа в p8 устанавливать не возбраняется.
Нужно подключить некий (пока не знаю какой) репозитарий и update-kernel сделать?

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 908
    • Домашняя страница
    • Email
Re: Исправление DSDT
« Ответ #5 : 09.11.2018 21:43:56 »
apt-repo rm all
apt-repo add sisyphus
apt-get update
update-kernel
apt-repo rm all
apt-repo add p8
Андрей Черепанов (cas@)

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #6 : 09.11.2018 22:45:49 »
Ядро из Сизифа в p8 устанавливать не возбраняется.
А зря.

VirtualBox теперь не запустить.
Спойлер
RTR3InitEx failed with rc=-1912 (rc=-1912)

The VirtualBox kernel modules do not match this version of VirtualBox. The installation of VirtualBox was apparently not successful. Executing

'/sbin/vboxconfig'

may correct this. Make sure that you do not mix the OSE version and the PUEL version of VirtualBox.

where: supR3HardenedMainInitRuntime what: 4 VERR_VM_DRIVER_VERSION_MISMATCH (-1912) - The installed support driver doesn't match the version of the user.

Да и с NVidia какие-то непонятки.
Спойлер
ноя 09 22:21:25 main.localdomain kernel: ------------[ cut here ]------------
ноя 09 22:21:25 main.localdomain kernel: Bad or missing usercopy whitelist? Kernel memory exposure attempt detected from SLAB object 'nvidia_stack_cache' (o
ноя 09 22:21:25 main.localdomain kernel: WARNING: CPU: 14 PID: 792 at mm/usercopy.c:81 usercopy_warn+0x7e/0xa0
ноя 09 22:21:25 main.localdomain kernel: Modules linked in: snd_hda_codec_hdmi nvidia_drm(PO) nvidia_modeset(PO) nvidia(PO) nls_utf8 nls_cp866 edac_mce_amd
ноя 09 22:21:25 main.localdomain kernel:  crc16 mbcache jbd2 fscrypto sd_mod ahci libahci libata evdev crc32c_intel input_leds scsi_mod serio_raw
ноя 09 22:21:25 main.localdomain kernel: CPU: 14 PID: 792 Comm: X Tainted: P           O      4.18.17-un-def-alt1 #1
ноя 09 22:21:25 main.localdomain kernel: Hardware name: System manufacturer System Product Name/PRIME B350-PLUS, BIOS 4023 08/20/2018
ноя 09 22:21:25 main.localdomain kernel: RIP: 0010:usercopy_warn+0x7e/0xa0
ноя 09 22:21:25 main.localdomain kernel: Code: c7 c0 65 3c e2 81 48 0f 44 c2 41 50 51 41 51 48 89 f9 49 89 f1 4d 89 d8 4c 89 d2 48 89 c6 48 c7 c7 c0 3c e2 8
ноя 09 22:21:25 main.localdomain kernel: RSP: 0018:ffffc90003be7b58 EFLAGS: 00010286
ноя 09 22:21:25 main.localdomain kernel: RAX: 0000000000000000 RBX: ffff8807e679ae30 RCX: 0000000000000006
ноя 09 22:21:25 main.localdomain kernel: RDX: 0000000000000007 RSI: 0000000000000086 RDI: ffff88081ef965d0
ноя 09 22:21:25 main.localdomain kernel: RBP: 0000000000000003 R08: 0000000000000001 R09: 000000000000037b
ноя 09 22:21:25 main.localdomain kernel: R10: ffffffff81e4b82a R11: 0000000000000000 R12: 0000000000000001
ноя 09 22:21:25 main.localdomain kernel: R13: ffff8807e679ae33 R14: 0000000000000000 R15: ffff8807e679ae78
ноя 09 22:21:25 main.localdomain kernel: FS:  00007f2455a22980(0000) GS:ffff88081ef80000(0000) knlGS:0000000000000000
ноя 09 22:21:25 main.localdomain kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
ноя 09 22:21:25 main.localdomain kernel: CR2: 00007f244e135d20 CR3: 00000007e8138000 CR4: 00000000003406e0
ноя 09 22:21:25 main.localdomain kernel: Call Trace:
ноя 09 22:21:25 main.localdomain kernel:  __check_object_size+0x9e/0x190
ноя 09 22:21:25 main.localdomain kernel:  os_memcpy_to_user+0x21/0x40 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  _nv009384rm+0xbf/0xe0 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv028097rm+0x79/0x90 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv028097rm+0x55/0x90 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv013699rm+0xee/0x100 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv015347rm+0x154/0x270 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv008317rm+0x134/0x1a0 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv008296rm+0x29c/0x2b0 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv001072rm+0xe/0x20 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv007324rm+0xd8/0x100 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? _nv001171rm+0x627/0x830 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? rm_ioctl+0x73/0x100 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? nvidia_ioctl+0x589/0x730 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? nvidia_frontend_unlocked_ioctl+0x3e/0x50 [nvidia]
ноя 09 22:21:25 main.localdomain kernel:  ? do_vfs_ioctl+0xa4/0x630
ноя 09 22:21:25 main.localdomain kernel:  ? dput+0xb6/0x140
ноя 09 22:21:25 main.localdomain kernel:  ? syscall_trace_enter+0x1e4/0x2e0
ноя 09 22:21:25 main.localdomain kernel:  ? ksys_ioctl+0x70/0x80
ноя 09 22:21:25 main.localdomain kernel:  ? __x64_sys_ioctl+0x16/0x20
ноя 09 22:21:25 main.localdomain kernel:  ? do_syscall_64+0x63/0x150
ноя 09 22:21:25 main.localdomain kernel:  ? entry_SYSCALL_64_after_hwframe+0x44/0xa9
ноя 09 22:21:25 main.localdomain kernel: ---[ end trace c21f82600a1de2ad ]---

Этот метод больше подходит для проверки, а не для работы.
Так придется из Сизифа тянуть и остальное, либо возвращаться на исходное ядро.

apt-repo rm all
apt-repo add sisyphus
apt-get update
update-kernel
apt-repo rm all
apt-repo add p8
Спасибо.

Да, ошибки DSDT пропали. Но добавилась другая:kernel: ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x0000000000000000/
По ACPI остались две, что были и раньше:kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
kernel: [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
« Последнее редактирование: 09.11.2018 22:48:19 от kiav »

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Исправление DSDT
« Ответ #7 : 09.11.2018 23:35:51 »
Да и с NVidia какие-то непонятки.
ноя 09 22:21:25 main.localdomain kernel: ------------[ cut here ]------------
ноя 09 22:21:25 main.localdomain kernel: Bad or missing usercopy whitelist? Kernel memory exposure attempt detected from SLAB object 'nvidia_stack_cache' (o

Это не что-то из этого?
https://devtalk.nvidia.com/default/topic/1031067/linux/-linux416-nvidia-390-48-nvidia_stack_cache-rip-0010-usercopy_warn-0x7e-0xa0/post/5255457/#5255457

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #8 : 10.11.2018 00:23:45 »
Это не что-то из этого?
https://devtalk.nvidia.com/default/topic/1031067/linux/-linux416-nvidia-390-48-nvidia_stack_cache-rip-0010-usercopy_warn-0x7e-0xa0/post/5255457/#5255457
Да, очень похоже. По крайней мере начало тоже самое - "mm/usercopy.c:81 usercopy_warn+0x7e/0xa0" у меня, и "mm/usercopy.c:81 usercopy_warn+0x7d/0xa0" у другого пострадавшего.
У него явно не systemd и подгружается модуль bbswitch (я глазками смотрел, не видел в логе, но модуль пока еще есть). У меня постарее NVidia (Module  390.87, против 396.24).

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Исправление DSDT
« Ответ #9 : 10.11.2018 15:48:12 »
Это не что-то из этого?
https://devtalk.nvidia.com/default/topic/1031067/linux/-linux416-nvidia-390-48-nvidia_stack_cache-rip-0010-usercopy_warn-0x7e-0xa0/post/5255457/#5255457
Да, очень похоже.
...
У меня постарее NVidia (Module  390.87, против 396.24).

Да, там парень дальше пишет, что на 396.24 исправлено.
У nvidia уже есть драйверы версии 396.54, 410.73:
https://www.nvidia.ru/object/unix-ru.html
Но у альтов он в версии 390.87.
Причину застывшей у альтов версии видеодрайвера вижу здесь:
https://nvidia.custhelp.com/app/answers/detail/a_id/4604
Кратко говоря:
После версии 390.87, nvidia прекращает выпуск видеодрайверов для x86 систем.

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #10 : 11.11.2018 22:40:26 »
Причину застывшей у альтов версии видеодрайвера вижу здесь:
https://nvidia.custhelp.com/app/answers/detail/a_id/4604
Кратко говоря:
После версии 390.87, nvidia прекращает выпуск видеодрайверов для x86 систем.
Рано или поздно все равно придется с этим согласиться и выпускать (при условии, что Альт останется на 32 битах) две версии.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Исправление DSDT
« Ответ #11 : 12.11.2018 06:36:44 »
Причину застывшей у альтов версии видеодрайвера вижу здесь:
https://nvidia.custhelp.com/app/answers/detail/a_id/4604
Кратко говоря:
После версии 390.87, nvidia прекращает выпуск видеодрайверов для x86 систем.
Рано или поздно все равно придется с этим согласиться и выпускать (при условии, что Альт останется на 32 битах) две версии.

 :-) А их и выпускают.
В сизифе:
i586 - 390.87
x86_64 - 410.73

Оффлайн kiav

  • Завсегдатай
  • *
  • Сообщений: 527
  • Стич-спасатель
    • Email
Re: Исправление DSDT
« Ответ #12 : 26.12.2018 10:04:50 »
apt-repo rm all
apt-repo add sisyphus
apt-get update
update-kernel
apt-repo rm all
apt-repo add p8
А как теперь корректно избавиться от ядра из Сизифа?

На днях вышло обновление BIOS и стало доступно для обновления через Инет прямо в BIOS (скачать можно было заметно раньше). Обновился до версии 4207. Ситуация изменилась кардинально. Ошибок DSDT нет. Причем на исходном для этой теме ядре из P8 (4.14.78-un-def-alt0.M80P.1). Знаю, что в P8 есть поновее, но боюсь трогать update-kernel до избавления от постороннего ядра.

Для справок, в логе осталось по ACPI только это:
дек 26 09:01:54 main.localdomain kernel: ACPI BIOS Warning (bug): Optional FADT field Pm2ControlBlock has valid Length but zero Address: 0x0000000000000000/0x1 (20170728/tbfadt-658)
дек 26 09:01:54 main.localdomain kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
дек 26 09:01:54 main.localdomain kernel: [Firmware Bug]: ACPI MWAIT C-state 0x0 not supported by HW (0x0)
(вот таких строк в логе 16 подряд, видимо, по числу потоков процессора).
дек 26 09:01:54 main.localdomain kernel: acpi PNP0C14:01: duplicate WMI GUID 05901221-D566-11D1-B2F0-00A0C9062910 (first instance was on PNP0C14:00)

Затруднений с nvidia никаких нет.

Оффлайн rits

  • Завсегдатай
  • *
  • Сообщений: 1 031
  • ITS
Re: Исправление DSDT
« Ответ #13 : 26.12.2018 11:06:15 »
Как один из вариантов:
# apt-cache search select-kernel
select-kernel - Tool to install/upgrade/remove system kernel
# apt-get install select-kernel
# select-kernel --help
Просто набрать # select-kernel