Wi-Fi ThinkPad S440 и неожиданный системный останов

Всего несколько дней назад я установил новый драйвер Wi-Fi, и все, казалось, хорошо работало на Lenovo ThinkPad S440. Но теперь я испытываю проблему с Wi-Fi: скорость замедляется для обнуления той страницы, мог загрузиться в веб-браузере. Второй проблемой (не уверенный, если они соединены, но возможно) неожиданно являются системные катастрофические отказы. это - pastebin вывода dmesg, таким образом, Вы видели то, что происходит. Когда система отказывает, X и весь другой катастрофический отказ программ. Я не могу даже переключиться на tty и перезапуск X. Не может быть воспроизведен. Не знайте, как показать Вам вывод, который я вижу на экране.

Обновление
Я использовал флаг начальной загрузки ядра acpi_os=Windows noapic на моей Ubuntu 12.04 на Lenovo ThinkPad S440, потому что я предполагаю, что, если они имеют, создают его с Windows8 + в памяти, это могло бы помочь так или иначе, но я не уверен. В этом pastebin можно считать весь вывод из /var/log/syslog.

Обновление 2
Wat - это? Я выполнил memtest86 с несколькими передачами, и он был прекрасен, w/o ошибки, но:

[    0.000000] PM: Registered nosave memory: 00000000be97f000 - 00000000c2e7f000

повторения несколько раз подряд.

[    5.170944] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[    5.170948] AMD IOMMUv2 functionality not available on this system
[    5.186546] ACPI Warning: 0x0000000000001828-0x000000000000182f SystemIO conflicts with Region \PMIO 1 (20121018/utaddress-251)
[    5.186556] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    5.186560] ACPI Warning: 0x0000000000000830-0x000000000000083f SystemIO conflicts with Region \GPRL 1 (20121018/utaddress-251)
[    5.186564] ACPI Warning: 0x0000000000000830-0x000000000000083f SystemIO conflicts with Region \GPR_ 2 (20121018/utaddress-251)
[    5.186567] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    5.186568] ACPI Warning: 0x0000000000000800-0x000000000000082f SystemIO conflicts with Region \GPRL 1 (20121018/utaddress-251)
[    5.186571] ACPI Warning: 0x0000000000000800-0x000000000000082f SystemIO conflicts with Region \GPR_ 2 (20121018/utaddress-251)
[    5.186574] ACPI Warning: 0x0000000000000800-0x000000000000082f SystemIO conflicts with Region \IO_D 3 (20121018/utaddress-251)
[    5.186577] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver


Что такое DRM?

[   12.535066] [drm] GMBUS [i915 gmbus dpb] timed out, falling back to bit banging on pin 5
[   12.614067] fbcon: inteldrmfb (fb0) is primary device
[   13.805535] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[   14.129091] [drm:intel_dp_set_link_train] *ERROR* Timed out waiting for DP idle patterns
[   14.129093] [drm:i915_write32] *ERROR* Unknown unclaimed register before writing to 64040


Эта строка может быть результатом acpi_os=Windows noapic параметр начальной загрузки ядра, я предполагаю:

[   14.189856] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS


[   14.194131] ACPI Error: [\_SB_.PCI0.GFX0.DD02._BCL] Namespace lookup failure, AE_NOT_FOUND (20121018/psargs-359)
[   14.194139] ACPI Error: Method parse/execution failed [\_SB_.PCI0.RP05.PEGP.DD02._BCL] (Node ffff88012920ded8), AE_NOT_FOUND (20121018/psparse-537)


[  322.663766] [drm:i915_write8] *ERROR* Unknown unclaimed register before writing to 3b4


[  326.687401] [drm:i915_write32] *ERROR* Unclaimed write to 70030
[  326.689118] i915 0000:00:02.0: More than 8 outputs detected
[  326.894826] usb 2-7: reset full-speed USB device number 5 using xhci_hcd
[  326.904666] dpm_run_callback(): pnp_bus_resume+0x0/0x70 returns -19
[  326.904668] PM: Device 00:06 failed to resume: error -19
[  326.913169] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880124c65000
[  326.913171] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880124c65040
[  326.913172] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880124c65080
[  326.913173] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880124c650c0


[  328.005875] [drm:intel_dp_set_link_train] *ERROR* Timed out waiting for DP idle patterns
[  328.005879] [drm:i915_write32] *ERROR* Unknown unclaimed register before writing to 64040


Обновление 3
Так, как я могу управлять случаем? Вот снимок того, что я присматриваю за катастрофическим отказом.

1
задан 13 April 2017 в 15:24

1 ответ

Решил перенести мои комментарии в ответ, у меня нет полного ответа, но, по крайней мере, я могу помочь объяснить сообщения, которые вы видите, и указать вам правильное направление.

BIOS на современных компьютерах - ОГРОМНОЕ наследство. ACPI - это функция BIOS. Есть много маленьких микросхем и сенсоров, которые управляют всеми мелочами на вашем компьютере, небольшая скорость вентилятора сброса чипов gpio, другие показания температуры сброса и т. Д. Они похожи на маленькие микроконтроллеры, которые обрабатывают все мелочи и общаются с аппаратное обеспечение напрямую. Все они поступают в контроллер ACPI, который является либо собственным чипом, либо частью другого чипа. Когда говорят о «чипсете» материнской платы, это является частью картины. Этим устройствам необходим способ связи с более крупной системой, чтобы ваша ОС (или BIOS) могла правильно решить, что ей нужно делать (отключение при перегреве, увеличение скорости вращения вентилятора и т. Д.). Самый простой способ - просто выделить немного памяти, из которой будет считывать / записывать контроллер ACPI, детали того, какой именно блок памяти принадлежит разработчику BIOS / mobo, но это не имеет значения. Ваш драйвер ACPI будет искать (или знать), что это за раздел памяти, и записывать прямо в него. Большая часть этого материала полностью прозрачна для вас, как для пользователя, только когда это становится проблемой, драйвер, ядро ​​и BIOS не согласны с тем, что происходит.

Memcheck сообщает вам эти маленькие детали, сообщая вам следующее

[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009cfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d000-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000afc61fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000afc62000-0x00000000afe63fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000afe64000-0x00000000be97efff] usable
[    0.000000] BIOS-e820: [mem 0x00000000be97f000-0x00000000c2e7efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000c2e7f000-0x00000000c2f7efff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000c2f7f000-0x00000000c2ffefff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000c2fff000-0x00000000c2ffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c3000000-0x00000000cf9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fe101000-0x00000000fe112fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed08000-0x00000000fed08fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000012f5fffff] usable

Если вы решите математику, последняя строка сообщает вам, что последние 6,5 ГБ памяти свободны для операционной системы. иметь дело с тем, что он хочет (адрес памяти указывает на байт памяти, число является шестнадцатеричным 64-битным адресом, поэтому легко вычислить, сколько байтов находится в диапазоне). При ближайшем рассмотрении вы увидите, что на самом деле это всего лишь объем памяти, превышающий 32-битный адрес 4 ГБ, вплоть до максимального адреса, с которым может работать контроллер памяти (даже если ваша физическая память меньше этого предела ~ 10 ГБ). Кроме того, в списке вы можете видеть, как некоторые меньшие части памяти объемом 4 ГБ выделяются BIOS по разным причинам (в основном устаревшие), но основная часть ваших младших 4 ГБ помечена как «пригодная для использования». ОС читает эту информацию и в основном знает, что она не может использовать эти разделы памяти для отображения общих функций ОС и виртуальной памяти. В середине у вас около 70 МБ памяти, выделенной для контроллера ACPI.

Теперь перейдем к вашим ошибкам.

По мере загрузки ОС различные драйверы загружаются и проходят некоторые основные инициализации и проверки (проверка устройства, его включение и т. Д.). В ряде случаев вы получаете жалобу на то, что существуют конфликты между тем, что определенные (низкоуровневые) системные драйверы предполагают, является ли их кусок памяти, и тем, что, по мнению ОС, должно быть там. В сочетании с предупреждающими сообщениями о невозможности определить пространство имен ACPI для определенных устройств говорит мне, что существует очень большая вероятность того, что не все находятся на одной странице о том, что и куда нужно отправлять. Это означает, что существует вероятность того, что кто-то переписать некоторые страницы памяти, которые они не должны или другого вреда.

Что касается вашего сообщения о сбое.

kthread - это общее имя для процесса ядра, процесс ядра запускается в пространстве ядра, а не в пространстве пользователя, поэтому его способность вызывать вред значительно возрастает, так как они имеют прямой доступ к системной памяти, как правило, они представляют демоны драйверов и другие низкоуровневые функции ядра.

Ваш компьютер вылетает из kthread с испорченным предупреждением, означающим, что ядро ​​определило (с помощью множества сложных алгоритмов), что память или входные данные, с которыми работает процесс, не заслуживают доверия, и скорее Продолжая рисковать, он вызывает панику ядра и приводит к сбою системы. Анализ заражения и обнаружение заражения - это способ динамически отлавливать и предотвращать эксплойты от злоумышленников, но в этом случае обнаруживается ошибка в ядре, которая, скорее всего, связана с вашей проблемой ACPI / wifi.

Наконец-то мы приступим к решению ваших проблем. Трудно определить точно , что вызывает вред только из этих журналов и снимка, однако можно с уверенностью сказать, что драйвер Wi-Fi не работает правильно, и ваша попытка исправить ACPI только усложнила проблему, поэтому я бы порекомендовал следующую последовательность шагов.

  1. Я бы вернул все флаги ACPI, которые вы добавили в команду загрузки
  2. Я бы вернул драйвер Wi-Fi к тому, что работало ранее
  3. Я бы обновил ядро ​​системы как минимум Возможно, вся система.
  4. Я попытался бы обновить драйвер снова.
  5. Если он не работает, подайте отчет об ошибке в драйвере
.
0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: