LINUX.ORG.RU

Coreboot в Lenovo G505S

 , , , ,


2

7

Здесь будем обсуждать технические вопросы работы coreboot в вышеуказанной модели.

Какую версию коребута и конфиг ты используешь?

4.10-690-g28cbab3956-dirty актуальную на 17 сентября этого года
был применен csb_patcher.sh актуальный на ту же дату.

С последним коребутом и конфигом, который предоставляет последняя версия csb_patcher.sh (с единственным изменением - включить «Cache stages in CBMEM» CONFIG_CBMEM_STAGE_CACHE в «make menuconfig -> General Setup»), всё должно быть прекрасно. Там включены важные вещи вроде «Re-run VGA Option ROMs on S3 resume» CONFIG_S3_VGA_ROM_RUN.

Ближе к выходному планирую добраться до ноута и собрать последнюю версию с твоими замечаниями.

Гибернацию пробовал разными способами через systemctl и пробовал устанавливать uswsusp, ниже скидываю логи, уже не помню какой с какого конфига, но пусть будут.

hibernate.log

Starting suspend at Вс сен 15 18:07:13 MSK 2019
hibernate: [01] Executing CheckLastResume ... 
hibernate: [01] Executing CheckRunlevel ... 
hibernate: [01] Executing LockFileGet ... 
hibernate: [01] Executing NewKernelFileCheck ... 
hibernate: [10] Executing EnsureSysfsPowerStateCapable ... 
hibernate: [11] Executing XHacksSuspendHook1 ... 
hibernate: [59] Executing RemountXFSBootRO ... 
hibernate: [89] Executing SaveKernelModprobe ... 
hibernate: [91] Executing ModulesUnloadBlacklist ... 
hibernate: [95] Executing XHacksSuspendHook2 ... 
hibernate: [98] Executing CheckRunlevel ... 
hibernate: [99] Executing DoSysfsPowerStateSuspend ... 
hibernate: Activating sysfs power state disk ...
hibernate: [90] Executing ModulesLoad ... 
hibernate: [89] Executing RestoreKernelModprobe ... 
hibernate: [85] Executing XHacksResumeHook2 ... 
hibernate: [70] Executing ClockRestore ... 
hibernate: [59] Executing RemountXFSBootRW ... 
hibernate: [11] Executing XHacksResumeHook1 ... 
hibernate: [01] Executing NoteLastResume ... 
hibernate: [01] Executing LockFilePut ... 
Resumed at Вс сен 15 18:08:13 MSK 2019
часть kernel.log

Sep 16 18:59:22 home kernel: [ 1670.114512] ACPI: Waking up from system sleep state S4
Sep 16 18:59:22 home kernel: [ 1670.115005] ACPI: EC: interrupt unblocked
Sep 16 18:59:22 home kernel: [ 1670.238546] ath: phy0: ASPM enabled: 0x43
Sep 16 18:59:22 home kernel: [ 1670.238759] ACPI: button: The lid device is not compliant to SW_LID.
Sep 16 18:59:22 home kernel: [ 1670.238777] ACPI: EC: event unblocked
Sep 16 18:59:22 home kernel: [ 1670.244954] [drm] PCIE GART of 1024M enabled (table at 0x00000000001D6000).
Sep 16 18:59:22 home kernel: [ 1670.245170] radeon 0000:00:01.0: WB enabled
Sep 16 18:59:22 home kernel: [ 1670.245173] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr 0x0000000020000c00 and cpu addr 0x00000000d1fa9ab6
Sep 16 18:59:22 home kernel: [ 1670.245552] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0x000000007c93f808
Sep 16 18:59:22 home kernel: [ 1670.255751] radeon 0000:00:01.0: failed VCE resume (-22).
Sep 16 18:59:22 home kernel: [ 1670.255754] radeon 0000:00:01.0: fence driver on ring 1 use gpu addr 0x0000000020000c04 and cpu addr 0x00000000f9c34156
Sep 16 18:59:22 home kernel: [ 1670.255756] radeon 0000:00:01.0: fence driver on ring 2 use gpu addr 0x0000000020000c08 and cpu addr 0x000000000faac503
Sep 16 18:59:22 home kernel: [ 1670.255759] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr 0x0000000020000c0c and cpu addr 0x00000000d5c4316b
Sep 16 18:59:22 home kernel: [ 1670.255761] radeon 0000:00:01.0: fence driver on ring 4 use gpu addr 0x0000000020000c10 and cpu addr 0x0000000046eab975
Sep 16 18:59:22 home kernel: [ 1670.262471] sd 0:0:0:0: [sda] Starting disk
Sep 16 18:59:22 home kernel: [ 1670.262524] sd 1:0:0:0: [sdb] Starting disk
Sep 16 18:59:22 home kernel: [ 1670.274018] [drm] ring test on 0 succeeded in 2 usecs
Sep 16 18:59:22 home kernel: [ 1670.274025] [drm] ring test on 3 succeeded in 3 usecs
Sep 16 18:59:22 home kernel: [ 1670.274030] [drm] ring test on 4 succeeded in 3 usecs
Sep 16 18:59:22 home kernel: [ 1670.299025] usb usb5: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.299075] usb usb4: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.299076] usb usb6: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.299118] usb usb1: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.299124] usb usb2: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.299148] usb usb3: root hub lost power or was reset
Sep 16 18:59:22 home kernel: [ 1670.319699] [drm] ring test on 5 succeeded in 2 usecs
Sep 16 18:59:22 home kernel: [ 1670.339555] [drm] UVD initialized successfully.
Sep 16 18:59:22 home kernel: [ 1670.339605] [drm] ib test on ring 0 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1670.339648] [drm] ib test on ring 3 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1670.339688] [drm] ib test on ring 4 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1670.575068] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Sep 16 18:59:22 home kernel: [ 1670.575586] ata1.00: supports DRM functions and may not be fully accessible
Sep 16 18:59:22 home kernel: [ 1670.583070] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Sep 16 18:59:22 home kernel: [ 1670.583605] ata1.00: disabling queued TRIM support
Sep 16 18:59:22 home kernel: [ 1670.595673] ata2.00: configured for UDMA/133
Sep 16 18:59:22 home kernel: [ 1670.601400] ata1.00: supports DRM functions and may not be fully accessible
Sep 16 18:59:22 home kernel: [ 1670.609416] ata1.00: disabling queued TRIM support
Sep 16 18:59:22 home kernel: [ 1670.626727] ata1.00: configured for UDMA/133
Sep 16 18:59:22 home kernel: [ 1670.626819] ata1.00: Enabling discard_zeroes_data
Sep 16 18:59:22 home kernel: [ 1670.651058] usb 3-1: reset high-speed USB device number 2 using ehci-pci
Sep 16 18:59:22 home kernel: [ 1670.651066] usb 2-2: reset high-speed USB device number 2 using ehci-pci
Sep 16 18:59:22 home kernel: [ 1670.775061] usb 4-3: reset full-speed USB device number 4 using ohci-pci
Sep 16 18:59:22 home kernel: [ 1670.879079] [drm] ib test on ring 5 succeeded
Sep 16 18:59:22 home kernel: [ 1670.898948] radeon 0000:00:01.0: scheduling IB failed (-12).
Sep 16 18:59:22 home kernel: [ 1670.898982] [drm:radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
Sep 16 18:59:22 home kernel: [ 1670.899006] [drm:radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
Sep 16 18:59:22 home kernel: [ 1670.899033] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 6 (-12).
Sep 16 18:59:22 home kernel: [ 1670.899036] radeon 0000:00:01.0: scheduling IB failed (-12).
Sep 16 18:59:22 home kernel: [ 1670.899059] [drm:radeon_vce_get_create_msg [radeon]] *ERROR* radeon: failed to schedule ib (-12).
Sep 16 18:59:22 home kernel: [ 1670.899083] [drm:radeon_vce_ib_test [radeon]] *ERROR* radeon: failed to get create msg (-12).
Sep 16 18:59:22 home kernel: [ 1670.899107] [drm:radeon_ib_ring_tests [radeon]] *ERROR* radeon: failed testing IB on ring 7 (-12).
Sep 16 18:59:22 home kernel: [ 1670.960123] usb 4-3: device firmware changed
Sep 16 18:59:22 home kernel: [ 1671.115064] usb 4-1: reset full-speed USB device number 2 using ohci-pci
Sep 16 18:59:22 home kernel: [ 1672.827763] [drm:radeon_dp_link_train [radeon]] *ERROR* displayport link status failed
Sep 16 18:59:22 home kernel: [ 1672.827793] [drm:radeon_dp_link_train [radeon]] *ERROR* clock recovery failed
Sep 16 18:59:22 home kernel: [ 1674.419867] [drm:radeon_dp_link_train [radeon]] *ERROR* displayport link status failed
Sep 16 18:59:22 home kernel: [ 1674.419896] [drm:radeon_dp_link_train [radeon]] *ERROR* clock recovery failed
Sep 16 18:59:22 home kernel: [ 1674.612065] [drm] PCIE gen 2 link speeds already enabled
Sep 16 18:59:22 home kernel: [ 1674.616996] [drm] PCIE GART of 1024M enabled (table at 0x0000000000040000).
Sep 16 18:59:22 home kernel: [ 1674.617104] radeon 0000:01:00.0: WB enabled
Sep 16 18:59:22 home kernel: [ 1674.617107] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0x000000008142b7ae
Sep 16 18:59:22 home kernel: [ 1674.617109] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0x00000000db103000
Sep 16 18:59:22 home kernel: [ 1674.617111] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0x000000001f132c39
Sep 16 18:59:22 home kernel: [ 1674.617113] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0x000000002abdea69
Sep 16 18:59:22 home kernel: [ 1674.617114] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0x000000007cc81fc4
Sep 16 18:59:22 home kernel: [ 1674.830263] [drm] ring test on 0 succeeded in 1 usecs
Sep 16 18:59:22 home kernel: [ 1674.830268] [drm] ring test on 1 succeeded in 1 usecs
Sep 16 18:59:22 home kernel: [ 1674.830272] [drm] ring test on 2 succeeded in 1 usecs
Sep 16 18:59:22 home kernel: [ 1674.830279] [drm] ring test on 3 succeeded in 3 usecs
Sep 16 18:59:22 home kernel: [ 1674.830284] [drm] ring test on 4 succeeded in 3 usecs
Sep 16 18:59:22 home kernel: [ 1674.830403] [drm] ib test on ring 0 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1674.830454] [drm] ib test on ring 1 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1674.830480] [drm] ib test on ring 2 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1674.830503] [drm] ib test on ring 3 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1674.830525] [drm] ib test on ring 4 succeeded in 0 usecs
Sep 16 18:59:22 home kernel: [ 1674.885144] Restarting kernel threads ... 
Sep 16 18:59:22 home kernel: [ 1674.885536] usb 4-3: USB disconnect, device number 4
Sep 16 18:59:22 home kernel: [ 1674.885938] done.
Sep 16 18:59:22 home kernel: [ 1674.885993] PM: Basic memory bitmaps freed
Sep 16 18:59:22 home kernel: [ 1674.885994] OOM killer enabled.
Sep 16 18:59:22 home kernel: [ 1674.885995] Restarting tasks ... done.

хз откуда этот кусок, одна из неудачных попыток, но там даже была видна ошибка
во время работы systemd если я правильно понял, в основном этот этап проходил без сбоев

[   11.812535] Hibernate inconsistent memory map detected!
[   11.812570] PM: Image mismatch: architecture specific data
[   11.812598] PM: Read 935108 kbytes in 0.01 seconds (93510.80 MB/s)
[   11.813703] PM: Error -1 resuming
[   11.813710] PM: Failed to load hibernation image, recovering.

[   11.814091] PM: Basic memory bitmaps freed
[   11.814092] OOM killer enabled.
[   11.814093] Restarting tasks ... done.
[   11.817448] PM: resume from hibernation failed (-1)
[   11.892302] EXT4-fs (sda5): mounted filesystem with ordered data mode. Opts: (null)

★★★

А кто-то пробовал собирать с uefi? Я попробовал tianocore и yabits с ними не включился экран, так что в целом не получилось ничего. С seabios загружалось, но через пару минут все висло намертво, мемтест сразу же после запуска начинал сыпать ошибками (при проверке оперативки с родной прошивкой никаких ошибок), в логе при запуске строчка что не удалось прочитать spd. Пробовал на последнем на данный момент coreboot (29fbfcc472) с csb патчами 29 версии. Пока экспериментировал разлохматил шлейф кнопки включения (так то я его восстановил, но дорожки еле держатся), так что пока не придет заказанная в качестве страховки новая кнопка со шлейфом не буду экспериментировать (ноут все же для работы используется).

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

А зачем тебе UEFI/Tianocore? По сравнению с Tianocore, SeaBIOS намного проще сконфигурировать и заставить работать, + у него намного меньше исходники/бинари. Размер исходников SeaBIOS относительно мал: всего-то 50 тысяч строк, что намного меньше ~27.8 миллионов строк линуксового ядра или Tianocore'овского ~1 миллиона. То есть, заметно меньше поверхность атаки и меньше места занимает в CBFS биос-чипа. я не вижу никаких разумных причин для Tianocore, учитывая что пока не существует UEFI-only ОС (и мы должны бойкотировать их если они появятся)

К тому же, SeaBIOS поддерживает загрузку дискетных ОС вроде KolibriOS или FreeDOS (добавленных в CBFS биос-чипа с LZMA-сжатием). Это открывает доступ к очень интересным возможностям: например, добавь KolibriOS https://kolibrios.org/ (маленькая опенсорсная ОС написанная на ассемблере, с графическим интерфейсом и кучей прог - всё внутри 1.44MB !) и если она поддерживает твой Ethernet-контроллер: ты сможешь прямо из БИОСа заходить в интернет простеньким браузером или секурно початиться с друзьями, используя IRCC-клиент с кастомным шифрованием вроде http://board.kolibrios.org/viewtopic.php?t=3734 - и всё это под простейшей ОС, которая не подвержена уязвимостям сложных ОС вроде Linux с его SystemD (https://linux.slashdot.org/story/17/07/29/1647255/systemd-named-lamest-vendor...), и даже если ты выберешь что-то вроде Void (runit) или Artix (OpenRC) чтобы избежать SystemD - в линуксе много и других проблем.

SakuraKun ★★★★★
()
Ответ на: комментарий от p_hamper

С seabios загружалось, но через пару минут все висло намертво, мемтест сразу же после запуска начинал сыпать ошибками (при проверке оперативки с родной прошивкой никаких ошибок), в логе при запуске строчка что не удалось прочитать spd.

Что за модель оперативки, сколько планок, одинаковые ли они, и есть ли у них XMP-профиль в SPD? Благодаря патчам из https://review.coreboot.org/c/coreboot/ /40495 ты можешь выбрать XMP-профиль 1 или 2 (нужно чтобы он был в обоих планках!) и даже подменить буфер значений, считанный из SPD-памяти, своими значениями - зафорсив этим кастомные тайминги/частоты даже если эта память отвалилась, например. Главное чтобы там какого-то return 1 не было в случае ошибки считывания SPD, чтобы эти тайминги смогли зафорсится - этого я пока не смотрел.

Пробовал на последнем на данный момент coreboot (29fbfcc472) с csb патчами 29 версии.

Все ли из предложенных патчей ты применял? В ближайшее время постараюсь перетестировать, вдруг и вправду что-то сломалось там.

Пока экспериментировал разлохматил шлейф кнопки включения

Эти шлейф можно купить отдельно (6P 1.0mm зазор, вообще - думаю, у всех шлейфов этого ноута зазор между контактами 1.0mm) и припаять к плате с кнопкой, или даже создать свою кнопку подсмотрев схематик на матплату ноута LA-A091P. Там просто два контакта закорачиваются.

SakuraKun ★★★★★
()
Ответ на: комментарий от p_hamper

Оказалось, в ветку coreboot master недавно прилетели нехорошие коммиты, возможно поэтому у тебя всё и не работает. После git clone сделай git reset –hard e6fb1344ed9188e19be4b54bdf1a76680b8c4523 чтобы откатиться на последний рабочий коммит, или можешь подождать пока в master всё исправят.

SakuraKun ★★★★★
()
Ответ на: комментарий от BLOBster

Какой переходник ты имеешь в виду? Если ты про HDMI или VGA: монитор через HDMI работает, только что затестил; по-моему и VGA работает, но лень перепроверять. а та плата LVDS —> HDMI, так и не дошли руки

SakuraKun ★★★★★
()
Ответ на: комментарий от BLOBster

Вверху справа - это для замка Kensington, а HDMI - полноценный полноразмерный, слева.

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

В последней версии (f9d3d33a55) проблем с оперативкой больше нет (мемтест проходит, хоть внизу и висит подозрительная надпись «LENOVO INVALID») все определяется и загружается (по крайней мере с флешки). А вот с установленным calculate linux проблемка вылезла (при загрузке с флешки ничего подобного не наблюдалось), после того как загружается sddm и просит ввести пароль проходит несколько секунд и все намертво виснет, клавиатура и тачпад перестают реагировать, каретка в поле ввода перестает мигать. При чем это же происходит даже если успеть переключиться в одну из текстовых консолей. Потом может еще поразбираюсь, пока откатился обратно. Потому что в логах systemd и xorg ничего полезного найти не удалось. При загрузке какие-то еще ошибки acpi вылезали в самом начале, может с ними связано что-то, а может и нет.

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

висит подозрительная надпись «LENOVO INVALID»

Не смогло определить модель ноута - это нормально.

с установленным calculate linux проблемка вылезла

Чтобы понять, дело в coreboot или нет, ты можешь:

1) проверить другой дистрибутив, например Artix - https://artixlinux.org/ - отличный удобный арч без еретического SystemD

2) затестить гарантированно рабочую сборку coreboot отсюда - https://github.com/mikebdp2/coreboot-g505s-builds

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

Похоже проблема в дистрибутиве, на оригинальном биосе если не в uefi режиме загружать, то те же проблемы: на установленной системе виснет, при загрузке с флешки подвисает тачпад и то работает то нет.

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