История изменений
Исправление SakuraKun, (текущая версия) :
Обновился csb_patcher.sh (https://review.coreboot.org/c/coreboot/+/33509) и патчи которые он использует, а также csbget.sh на http://dangerousprototypes.com/docs/Lenovo_G505S_hacking ; сейчас всё работает.
-
После скачивания свежайшего коребута и применения последнего csb_patcher, попробуй изменить в ./coreboot/src/mainboard/lenovo/g505s/buildOpts.c , строка 146 , #define BLDCFG_PLATFORM_CPB_MODE с CpbModeDisabled на CpbModeAuto , протестируй и скажи - отразилось ли это на производительности ноута и его температурах? Кстати, в этом файле можно настраивать много чего относящегося к AGESA, если найдёшь что ещё интересное - напиши! Надеюсь, CpbModeAuto сработает и утилита https://github.com/turionpowercontrol/tpc не пригодится.
-
Чувствуется ли разница по температурам если ты полностью отключаешь дискретку программно, то есть выключено device pci 2.0 off end # Discrete Graphics PCI bus 0x666X в твоём ./src/mainboard/lenovo/g505s/devicetree.cb строка 30 ? (off отключает эту шину, коребут не видит устройство на ней и не пытается его инициализировать - то есть даже если ты добавил блоб дискретки в образ, он на неё не подгружается) . Или дискретка всё так же топит?
Возможно, этот параметр включения шины с дискреткой on/off можно сохранять в CMOS и сделать так чтобы через дополнение nvramcui можно было его настраивать. Правда если у платы сбоит CMOS, то попытка доступа туда приводит к жёсткому зависанию - а такие платы иногда попадаются! Поэтому не очень хочется видеть это в официальной ветке, разве что как кастомный мод применяемый csb_patcher. Сейчас CMOS-память в конфиге G505S не используется вообще.
-
Сомневаюсь что у вебки есть блоб, скорее SeaBIOS неуклюжими попытками загрузиться с неё как с USB-устройства приводит её в неадекватное состояние - судя по тому, что в начале включения ноута её лампочка загорается в первый и последний раз. Если это действительно так, думаю можно найти способ запретить SeaBIOS пытаться грузиться с USB-устройства если его VID PID как у вебки, но тогда нужно будет ещё придумать как и где включать/выключать этот запрет (если запрет выключен, то SeaBIOS будет намеренно ломать вебку чтобы она не работала). Неясно, можно ли это делать на экране выбора источника загрузки - ведь стадия инициализации USB устройств уже прошла?!
-
https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Power_states . Проверил, S3 Suspend работает с обычным хардом, конфигом от свежего csb_patcher выше и Artix Linux - отлично засыпает и просыпается, ничего не теряя. S4 Hibernation тоже просыпается, но состояние системы не сохраняется и не восстанавливается: Artix включается как будто это свежий старт, не знаю, может быть это линуксовая проблема? (но по крайней мере ничего не зависает). У меня нет ни одного SSD, поэтому S3 с SSD протестить не могу! А так, если бы я столкнулся с проблемой S3 на SSD, пересобрал бы coreboot с включенными Generic Drivers -> USB 2.0 EHCI debug dongle support , Type of dongle (FTDI FT232H UART) в menuconfig - и, используя пару USB-адаптеров FT232H один из которых вставлен в USB 2.0 правый порт ноута и программу GNU screen - sudo screen /dev/ttyUSB0 115200 в режиме Ctrl+A Shift+H, - снять логи коребута на другой комп и посмотреть их. Напомни, у тебя есть хотя бы один FT232H, чтобы получить эти логи?
Исходная версия SakuraKun, :
С Новым Годом ;)
Обновился csb_patcher.sh (https://review.coreboot.org/c/coreboot/+/33509) и патчи которые он использует, а также csbget.sh на http://dangerousprototypes.com/docs/Lenovo_G505S_hacking ; сейчас всё работает.
-
После скачивания свежайшего коребута и применения последнего csb_patcher, попробуй изменить в ./coreboot/src/mainboard/lenovo/g505s/buildOpts.c , строка 146 , #define BLDCFG_PLATFORM_CPB_MODE с CpbModeDisabled на CpbModeAuto , протестируй и скажи - отразилось ли это на производительности ноута и его температурах? Кстати, в этом файле можно настраивать много чего относящегося к AGESA, если найдёшь что ещё интересное - напиши! Надеюсь, CpbModeAuto сработает и утилита https://github.com/turionpowercontrol/tpc не пригодится.
-
Чувствуется ли разница по температурам если ты полностью отключаешь дискретку программно, то есть выключено device pci 2.0 off end # Discrete Graphics PCI bus 0x666X в твоём ./src/mainboard/lenovo/g505s/devicetree.cb строка 30 ? (off отключает эту шину, коребут не видит устройство на ней и не пытается его инициализировать - то есть даже если ты добавил блоб дискретки в образ, он на неё не подгружается) . Или дискретка всё так же топит?
Возможно, этот параметр включения шины с дискреткой on/off можно сохранять в CMOS и сделать так чтобы через дополнение nvramcui можно было его настраивать. Правда если у платы сбоит CMOS, то попытка доступа туда приводит к жёсткому зависанию - а такие платы иногда попадаются! Поэтому не очень хочется видеть это в официальной ветке, разве что как кастомный мод применяемый csb_patcher. Сейчас CMOS-память в конфиге G505S не используется вообще.
-
Сомневаюсь что у вебки есть блоб, скорее SeaBIOS неуклюжими попытками загрузиться с неё как с USB-устройства приводит её в неадекватное состояние - судя по тому, что в начале включения ноута её лампочка загорается в первый и последний раз. Если это действительно так, думаю можно найти способ запретить SeaBIOS пытаться грузиться с USB-устройства если его VID PID как у вебки, но тогда нужно будет ещё придумать как и где включать/выключать этот запрет (если запрет выключен, то SeaBIOS будет намеренно ломать вебку чтобы она не работала). Неясно, можно ли это делать на экране выбора источника загрузки - ведь стадия инициализации USB устройств уже прошла?!
-
https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Power_states . Проверил, S3 Suspend работает с обычным хардом, конфигом от свежего csb_patcher выше и Artix Linux - отлично засыпает и просыпается, ничего не теряя. S4 Hibernation тоже просыпается, но состояние системы не сохраняется и не восстанавливается: Artix включается как будто это свежий старт, не знаю, может быть это линуксовая проблема? У меня нет ни одного SSD, поэтому S3 с SSD протестить не могу! А так, если бы я столкнулся с проблемой S3 на SSD, пересобрал бы coreboot с включенными Generic Drivers -> USB 2.0 EHCI debug dongle support , Type of dongle (FTDI FT232H UART) в menuconfig - и, используя пару USB-адаптеров FT232H один из которых вставлен в USB 2.0 правый порт ноута и программу GNU screen - sudo screen /dev/ttyUSB0 115200 в режиме Ctrl+A Shift+H, - снять логи коребута на другой комп и посмотреть их. Напомни, у тебя есть хотя бы один FT232H, чтобы получить эти логи?