KolibriOS в BIOS ( coreboot / SeaBIOS ) на G505S - успех!

Using Kolibri in embedded systems
  • Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
  • floppy121 wrote:
    olodar wrote:Кстати, раз биос распотрошили, то можно как-то сделать в корбуте поддержку turbocore'a?
    ну как распотрошили - наизвлекали оттуда огромную кучу бинарников, но понять какие именно из них относятся к TurboCore не так уж и просто, для этого придётся поработать HEX-редактором и когда найдёшь нужный кусок - ещё как-то грамотно суметь встроить его в coreboot. Все бинарники скоро выложу
    Просто очень интересно, как в корбуте себя поведет машина (если разогнать процессор с помощью turbocore). То есть, будет ли частота так же проседать при разгоне, или будет себя вести стабильно. Кстати, на корбуте, вроде как, заметил, что напряжение на проце чуть выше и оно не скачет. Мб из-за того, что процессору нехватало напряжения он сбрасывал частоты? Причем, интересно: минимальная частота у данного проца - 1,4 гГц, а частота дропалась до 800 мГц. Если получится разогнать этот проц, то это будет очень неплохо, т.к. два слабых ядра - узкое место в данном ноуте (не считая тормозного харда, но это решается просто заменой на SSD). Кстати, установил хард в оптибэй заместо оптического привода (у меня привод попался какой-то бракованый - он просто портил диски при записи каким-то образом, а также из-за него иногда ядро выпадало в панику просто так, долгое время не мог, что-ж это за проклятье такое, да он и нафиг сейчас не нужен, всю инфу скопировал на харды).
    floppy121 wrote:Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
    Печально. Интересно, почему так? По идее, изображение должно выводится без проблем. Мб в корбуте какие-нибудь опции надо включить, отвечающие за иннициализацию внешней видеокарты или других устройств pci-e?
    Кстати, на днях, буквально завтра, должен придти райзер mini pci-e на pci-e x16, вот и попробую тоже затестить, может, у тебя райзер неисправен?

    Кстати, я бы хотел помочь с этим всем разобраться, да только я 0 в программировании, а темболее, уж, в низкоуровневом.
    Вообще не понимаю, как эти коды всякие связываются с самой микросхемой и что-то там делают...
  • olodar wrote:Просто очень интересно, как в корбуте себя поведет машина (если разогнать процессор с помощью turbocore)
    Может быть и можно как-то сделать так чтобы Turbocore включался по дефолту при загрузке,
    но ведь по идее это ведь можно сделать в операционной системе? Для винды - BAR_EDIT, для Linux:
    1) https://github.com/kevinlekiller/amdctl
    2) https://github.com/mh0rst/turionpowercontrol
    Например, процессор A8-4500M поддерживает частоты от 1900 МГц до 2800 МГц (turbocore)
    https://gist.github.com/SuicSoft/ea59b5 ... 6c4dae331d
    При помощи этих утилит можно выставлять разные P-State, и т.к. A10-5750M тоже поддерживается,
    наверное его можно переключить в P-State 0 (pb0) соответствующий Turbocore
    olodar wrote:установил хард в оптибэй заместо оптического привода
    я даже большой 3.5" хард успешно подключал заместо оптического привода - но он был запитан от внешнего блока питания ATX, на котором через перемычку закоротил чёрный провод с зелёным вместо кнопки включения. То есть с ноутом он контактировал только через SATA-кабель данных. Запитывать такой хард от материнской платы ноутбука - опасно, т.к. дорожки платы не расчитаны на токи питания большого жёсткого диска и материнка может сгореть! Поэтому только через ATX блок питания
    olodar wrote:
    floppy121 wrote:Удалил все видеобиосы из образа и повторил эксперимент с внешней видеокартой.
    Изображения нигде нету - ни на порте видеокарты, ни на порте VGA ноутбука
    Интересно, почему так? По идее, изображение должно выводится без проблем. Мб в корбуте какие-нибудь опции надо включить, отвечающие за иннициализацию внешней видеокарты или других устройств pci-e?
    Да я уже включал в коребуте всё что хоть как-то могло повлиять на результат, + выключил всю защиту которая в теории могла мешать: но внешняя видеокарта все равно не заводится! я её видел в lspci, но спихнуть на неё графические вычисления для игры через DRI_PRIME не удалось т.к. весь рабочий стол и прочая графика отвалилась, была голая консоль, и игру было запустить вообще невозможно - а так бы я проверил в ней FPS
    olodar wrote:Кстати, на днях, буквально завтра, должен придти райзер mini pci-e на pci-e x16, вот и попробую тоже затестить, может, у тебя райзер неисправен?
    Проверял с другим ноутом, кстати тоже AMD-шным но значительно более старым, даже оперативка DDR2 - и там всё работало, и вычисления спихивались на дискретную карту чтобы FPS был высокий, и даже изображение с дискретной видеокарты шло! Но всё это только под линуксом, в винде тупо ошибка 43 - не могло стартануть внешнюю видеокарту с любыми драйверами которые я перепробовал. Сомневаюсь что райзер мог испортится с того времени. В-общем, я понял что райзеры с ноутом это ненадёжная комбинация, и где-то она работает а где-то нет.

    Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    Last edited by floppy121 on Thu May 23, 2019 10:10 am, edited 1 time in total.
  • floppy121 wrote: Может быть и можно как-то сделать так чтобы Turbocore включался по дефолту при загрузке,
    но ведь по идее это ведь можно сделать в операционной системе? Для винды - BAR_EDIT, для Linux:
    Я вообще не понимаю как это, темболее, через bar edit. Видел инструкцию "блокировки" на 3.2 гГц, однако на корбуте это не работает, а на стоковом биосе толку от этого не было, изменились только циферки.
    floppy121 wrote: Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    А как ты там что делаешь? Т.е., его прямо декомпилировали? Т.е. исходники от него есть? И получается, что VGABIOS будет компилится вместе с coreboot'ом сразу?
  • olodar wrote:
    floppy121 wrote: Сейчас вожусь с VGABIOS'ами, хочу подобрать оптимальный вариант для встраивания в coreboot
    А как ты там что делаешь? Т.е., его прямо декомпилировали? Т.е. исходники от него есть? И получается, что VGABIOS будет компилится вместе с coreboot'ом сразу?
    Исходников VGABIOS нету, но исходники VGABIOS - скорее всего не совсем исходники, а
    просто текстовый файл из кучи конфигурационных строчек который при помощи секретной AMD-шной утилиты
    конверируется в байт-код. И этот байт-код при помощи утилиты AtomDis можно дизассемблировать!

    https://cgit.freedesktop.org/~mhopf/AtomDis/
    https://github.com/mikebdp2/AtomDis

    Пример дизассемблирования при помощи AtomDis - во вложениях внизу прошлой страницы.
    Разумеется имея только AtomDis сложно вносить какие-то серьёзные изменения в VGABIOS ,
    но для простых изменений в Hex редакторе - типа подкрутить мегагерцы - этого вполне хватает
  • Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение. Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
  • olodar wrote:Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    У большинства Lenovo G505S стоит Broadcom`овский mini pci-e модуль , и чип Atheros на Ethernet. Ты уверен что у тебя mini pci-e модуль от Atheros стоит? Просто обычно все Broadcom ругают :P Хотя WiFi модуль - это ведь такое же железо как и всё остальное, тоже может быть бракованным...

    Если у тебя AR9485, то AR9462 (который я советовал) лучше тем что 5 GHz поддерживает, и сигнал скорее всего мощнее. Я не знаю как он ведёт себя на Винде, ни разу не пробовал, но на Линуксе он работает просто идеально
    olodar wrote:Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
    Это на линуксе или на винде? я просто этими кнопками редко пользуюсь, вот и забыл, а сейчас у меня вообще всё разобрано из-за экспериментов и не могу проверить. Если и там и там эта проблема, то дело не в драйверах AMD а в коребуте :

    https://github.com/coreboot/coreboot/bl ... cpi/ec.asl

    там если пролистнуть вниз, есть такие вещи (стр. 280) :

    Code: Select all

    /*
     * EC Query Responses
     *
     * DTS temperature update    10h
     * Decrease brightness event 11h
    * Increase brightness event 12h
    Возможно что-то не так в этом интерфейсе взаимодействия между прошивкой EC-контроллера и coreboot'ом, и в результате Event 11h / 12h не проходит.
    а чтобы Event проходил, нужно что-то сделать в файлах интерфейса взаимодействия: https://github.com/coreboot/coreboot/tr ... pal/ene932
    Last edited by floppy121 on Thu May 23, 2019 10:10 am, edited 1 time in total.
  • с AMD VGABIOS'ами пока разобрались, все файлы в репозитории g505s-atombios на этой странице:
    https://github.com/g505s-opensource-res ... s-atombios
    Там есть рабочие образы и для встроенной видеокарты, и для даже дискретной! (сложно было извлечь но в итоге сумели)

    в README есть табличка, качаешь файлы для своей модели Lenovo G505S и добавляешь их в образ coreboot при помощи cbfstool. чтобы быстро скачать и скомпилить cbfstool не выкачивая весь coreboot, можешь использовать скрипт cbfstool.sh, находится там же

    Ещё есть репозиторий g505s-proprietary но там мало чего нового по сравнению с kb9012-g505s-official (https://github.com/mikebdp2/kb9012-g505s-official), разве что полностью распакованный официальный биос

    g505ss-coreboot пока не заполнен, возможно туда тоже будем выкладывать релизы
  • floppy121 wrote:
    olodar wrote:Кстати, ты говорил про mini pci-e модуль wifi с синем зубом. Стоковый модуль (Atheros, модель не помню) - полнейшее дерьмо, постоянно рвется соединение Кстати, также заметил, что он греется как печка (очень горячий), мб из-за перегрева он зависает? С тем модулем, который ты советовал, таких проблем нет?
    У большинства Lenovo G505S стоит Broadcom`овский mini pci-e модуль , и чип Atheros на Ethernet. Ты уверен что у тебя mini pci-e модуль от Atheros стоит? Просто обычно все Broadcom ругают :P Хотя WiFi модуль - это ведь такое же железо как и всё остальное, тоже может быть бракованным...

    Если у тебя AR9485, то AR9462 (который я советовал) лучше тем что 5 GHz поддерживает, и сигнал скорее всего мощнее. Я не знаю как он ведёт себя на Винде, ни разу не пробовал, но на Линуксе он работает просто идеально
    olodar wrote:Кстати, а как быть насчет того, что на новых драйверах AMD не работает регулировка яркости экрана и кнопки регулировки яркости?
    Это на линуксе или на винде? я просто этими кнопками редко пользуюсь, вот и забыл, а сейчас у меня вообще всё разобрано из-за экспериментов и не могу проверить. Если и там и там эта проблема, то дело не в драйверах AMD а в коребуте :

    https://github.com/coreboot/coreboot/bl ... cpi/ec.asl

    там если пролистнуть вниз, есть такие вещи (стр. 280) :

    Code: Select all

    /*
     * EC Query Responses
     *
     * DTS temperature update    10h
     * Decrease brightness event 11h
    * Increase brightness event 12h
    Возможно что-то не так в этом интерфейсе взаимодействия между прошивкой EC-контроллера и coreboot'ом, и в результате Event 11h / 12h не проходит.
    а чтобы Event проходил, нужно что-то сделать в файлах интерфейса взаимодействия: https://github.com/coreboot/coreboot/tr ... pal/ene932
    Вот у меня как раз AR9485. Такое УГ, ОМГ! Постоянно зависает во время работы, что на пингвине, что на окнах, что на чертике.
    Использую дешевый свисток TL-WN721N, который тоже постоянно зависал, но прицепил к нему радиатор (горячий шибко был) и теперь зависает лишь иногда.
    Что касается драйверов - да, драйвера не виноваты, т.к. на родном биосе все ок. Ситуация следующая:
    1) кнопки регулировки не работают вообще, ни на линюхе, ни на шинде, ни при каких драйверах
    2) регулировка яркости не работает в прицнипе на новых драйверах в винде (приходится использовать старые, где нет нормальных "профилей" и хуже производительность, и crossfire они не поддерживают)
    См. скриншот - в винде есть такой ползунок регулировки яркости в настройка питания, на обновленных драйверах он просто пропадает и никак яркость не отрегулируешь, т.е. вообще ппц.
    Не знаю, как на юниксах, у меня Ubuntu 14.04 (слава надежному тару, без проклятого поттерингД !), там стабильные драйвера, но староватые, в прочем, на линуксе итак делать нечего: проц итак ничего не тянет, а игры под линукс плохо оптимизированы.
    floppy121 wrote:с AMD VGABIOS'ами пока разобрались, все файлы в репозитории g505s-atombios на этой странице:
    https://github.com/g505s-opensource-res ... s-atombios
    Там есть рабочие образы и для встроенной видеокарты, и для даже дискретной! (сложно было извлечь но в итоге сумели)

    в README есть табличка, качаешь файлы для своей модели Lenovo G505S и добавляешь их в образ coreboot при помощи cbfstool. чтобы быстро скачать и скомпилить cbfstool не выкачивая весь coreboot, можешь использовать скрипт cbfstool.sh, находится там же

    Ещё есть репозиторий g505s-proprietary но там мало чего нового по сравнению с kb9012-g505s-official (https://github.com/mikebdp2/kb9012-g505s-official), разве что полностью распакованный официальный биос

    g505ss-coreboot пока не заполнен, возможно туда тоже будем выкладывать релизы
    Спасибо большое! А с USB 3.0 как дела идут?
    Attachments
    Capture.PNG
    Capture.PNG (49.66 KiB)
    Viewed 7899 times
  • Не канает, драйвер на вторую карточку не встает :(
    Attachments
    Capture.PNG
    Capture.PNG (44.17 KiB)
    Viewed 7885 times
    Capture.PNG
    Capture.PNG (38.72 KiB)
    Viewed 7885 times
  • olodar wrote:Вот у меня как раз AR9485. Такое УГ, ОМГ! Постоянно зависает во время работы, что на пингвине, что на окнах, что на чертике
    Это странно. Или твой AR9485 бракованный попался, или проблема в чём-то другом: например в роутере - если у него WiFi стандарта draftN а не нормальный N, или просто прошивка странная, то некоторые WiFi чипы нормально с ним общаются а у некоторых возникают проблемы. В идеале конечно было бы ещё и накатить OpenWRT на роутер, но мы тут с coreboot ещё не до конца разобрались :lol:
    olodar wrote:2) регулировка яркости не работает в прицнипе на новых драйверах в винде (приходится использовать старые, где нет нормальных "профилей" и хуже производительность, и crossfire они не поддерживают)
    См. скриншот - в винде есть такой ползунок регулировки яркости в настройка питания, на обновленных драйверах он просто пропадает и никак яркость не отрегулируешь, т.е. вообще ппц
    Этот ползунок не изменяет яркость сам по себе, за ним стоит какая-то функция которая это делает и к которой наверняка можно обратиться по другому интерфейсу - например использовав какую-то программу. Попробуй погуглить "программа для настройки яркости Windows" - предлагает Monitor Plus, Display Tuner, DimScreen, тысячи их! Наверняка что-то из этого сработает
    olodar wrote:а с USB 3.0 как дела идут?
    для рабочего USB 3.0 по прежнему нужно добавлять XHCI блоб для южного моста Bolton - https://github.com/coreboot/blobs/blob/ ... n/xhci.bin . я его добавлять себе не хочу т.к. от USB 3.0 в реальной жизни в большинстве случаев небольшой выигрыш, например мой внешний жёсткий диск типа USB 3.0 но работает всего лишь на 10% быстрее чем на 2.0 ; и смысл ради этого добавлять лишний блоб который уменьшает безопасность, если можно прекрасно обходиться без него
    Last edited by floppy121 on Thu May 23, 2019 10:09 am, edited 3 times in total.
  • olodar wrote:Не канает, драйвер на вторую карточку не встает :(
    Пожалуйста, можешь попробовать загрузиться с флешки с каким-нибудь новым линуксом (типа Ubuntu 17.04) и посмотреть случится ли при загрузке что-то вроде этого:

    amdgpu 0000:04:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
    [drm] vbios mem is null or mem size is wrong
    [drm:amdgpu_get_bios [amdgpu]] *ERROR* Unable to locate a BIOS ROM
    amdgpu 0000:04:00.0: Fatal error during GPU init

    Особенно интересно, будет ли "amdgpu 0000:04:00.0: Fatal error during GPU init" ? Если да, то у меня есть ещё одна идея как можно решить эту проблему: возможно подсунуть ядру Linux этот VGA BIOS напрямую, как сделали здесь для макбука с дискретной видеокартой AMD - http://dentifrice.poivron.org/laptops/macbookpro8,2/ , https://bugs.freedesktop.org/show_bug.cgi?id=26891 . может и винде можно как-то подсунуть...
  • floppy121 wrote:
    olodar wrote:Не канает, драйвер на вторую карточку не встает :(
    Пожалуйста, можешь попробовать загрузиться с флешки с каким-нибудь новым линуксом (типа Ubuntu 17.04) и посмотреть случится ли при загрузке что-то вроде этого:

    amdgpu 0000:04:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
    [drm] vbios mem is null or mem size is wrong
    [drm:amdgpu_get_bios [amdgpu]] *ERROR* Unable to locate a BIOS ROM
    amdgpu 0000:04:00.0: Fatal error during GPU init

    Особенно интересно, будет ли "amdgpu 0000:04:00.0: Fatal error during GPU init" ? Если да, то у меня есть ещё одна идея как можно решить эту проблему: возможно подсунуть ядру Linux этот VGA BIOS напрямую, как сделали здесь для макбука с дискретной видеокартой AMD - http://dentifrice.poivron.org/laptops/macbookpro8,2/ , https://bugs.freedesktop.org/show_bug.cgi?id=26891 . может и винде можно как-то подсунуть...
    Да, есть такая фигня! И то, и другое.
  • floppy121 wrote:Это странно. Или твой AR9485 бракованный попался, или проблема в чём-то другом: например в роутере - если у него WiFi стандарта draftN а не нормальный N, или просто прошивка странная, то некоторые WiFi чипы нормально с ним общаются а у некоторых возникают проблемы. В идеале конечно было бы ещё и накатить OpenWRT на роутер, но мы тут с coreboot ещё не до конца разобрались :lol:
    Так я как купил роутер, так сразу скомпилил и накатил на него OpenWRT :) Ну так если бы проблемы были с роутером, то ноут просто бы дисконнектился, а не зависал, что фиг отключишься/подключишься, пока не отключишь и не подключишь заново (аппаратно). Кстати, со встроенным помогает "опустить" сетевой интерфейс и поднять заново.
  • Who is online

    Users browsing this forum: No registered users and 3 guests