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

Using Kolibri in embedded systems
  • olodar wrote:хм. прищепка намертво не прицепляется, а так как провод котороткий (до USB разъема расстояние есть), то прищепка может просто "отколоться". Биос же находится под клавой сверху, чуть слева от середины?
    Прищепка должна довольно надёжно прицепляться. Хорошо что ты выложил фотографии - судя по ним,
    ты цеплялся к неправильному чипу (очень надеюсь что от этого ничего не испортилось, ведь 3.3 вольта это мало)
    В первый раз когда я прошивался, прочитал маркировки всех восьминогих чипов на плате и прогуглил чтобы найти из них биос чип.
    Бывает что даже на одинаковые материнки ставят разные модели биос чипа, но он обычно располагается в одном и том же месте:

    http://dangerousprototypes.com/docs/Fla ... d_flashing

    Image

    Image

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

    Если станет лень это делать каждый раз когда нужно прошить, можно удалить небольшой кусочек пластмассы из днища ноута,
    или аккуратно высверлить - или прорезать раскалённым ножом, кончик которого нужно периодически разогревать зажигалкой.
    Главное делать это при извлечённой материнской плате и аккуратно, чтобы не задеть шлейфа маленькой платки с лампочками
    (а лучше её вообще тоже достать на время)
    Lines to cut the plastic bottom
    CutLines.png (518.03 KiB)
    Lines to cut the plastic bottom Viewed 5055 times
    Красным обозначены рекомендуемые линии для отреза пластика, чтобы можно было открутив всего три шурупа
    и предусмотрительно отсоединив блок питания с батарейкой, быстро прошить новую версию биоса коребут
    olodar wrote:Кстати, есть многожильные медные провода от дохлых БП'шников, но они толстые сильно, подойдут ли?
    Конечно подойдут, но для этого придётся повозиться:
    1) отрезать шлейф с алюминиевыми проводами от прищепки
    (можно оставить где-то 2 сантиметра чтобы удобнее было припаиваться)
    2) припаять эти медные провода к прищепке
    3) каким-то образом приделать к свободным концам медных проводов нормальные наконечники,
    которые будут надеваться на штырьки (ну или засунуть их в дырки программатора для крепления чипов)

    И хорошенько всё заизолировать! Правда конструкция получится не очень гибкая, скорее всего...

    Надеюсь что тебе удастся обойтись и без этих ухищрений, если подключаться к правильному чипу! :wink:
    Ну и внимательно прочитать вторую часть этой инструкции - http://dangerousprototypes.com/docs/Fla ... Bus_Pirate
    Last edited by floppy121 on Mon Apr 10, 2017 11:20 pm, edited 29 times in total.
  • olodar wrote:Кстати, ты говорил про TurboCore что-то. Так вот, линукс эту технологию не поддерживает (турбобуст зато пашет на интеле). Убедись в этом сам, нагрузи одно ядро и посмотри частоту - выше 2,5 гГц не поднимается.
    Было бы странно если винда умеет то чего не может линукс, эти хардварные вещи не должны ведь зависеть от операционки...

    https://www.kernel.org/doc/Documentatio ... /boost.txt
    Quick guide for the impatient:
    --------------------
    /sys/devices/system/cpu/cpufreq/boost
    controls the boost setting for the whole system. You can read and write
    that file with either "0" (boosting disabled) or "1" (boosting allowed).
    Reading or writing 1 does not mean that the system is boosting at this
    very moment, but only that the CPU _may_ raise the frequency at it's
    discretion.
    --------------------

    То есть по идее если прописать в этот виртуальный файл "1" с правами админа то турбо коре включится,
    а если это не сработает то придётся пошаманить с бубном)

    Пока что я не пробовал включать Turbo Core потому что ещё не возникало реальной необходимости:
    мои виртуалки и так летают на полной скорости :) Тем более что мне кажется что если эксплуатировать
    ноутбук в "щадящем режиме" то он прослужит дольше, не 5-7 а 15 лет например ;)

    Это важно, потому что всё сейчас огораживают и подобного ноутбука без зондов скорее всего
    невозможно будет купить в будущем (если на авито к тому времени они закончатся)
  • ведь 3.3 вольта это мало
    хехе, дело в силе тока, я от 3,3 вольта конктакт в pci-e спалил за 3 секунды, вонище было...
    кстати, а если просто паяльником обрезать? там никаких проводов под этой "крышкой" нет?
  • olodar wrote:там никаких проводов под этой "крышкой" нет?
    Довольно рядом есть шлейф от маленькой платки с лампочками, который можно задеть.
    Материнскую плату по-любому достать нужно чтобы исключить вероятность её повреждения,
    а дальше будет хорошо видно что там внутри и нужно ли отгибать шлейф / доставать LED платку

    Единственная, пусть и небольшая, сложность в извлечении материнской платы:
    провод питания ноутбука "внешний порт <-> материнская плата" плотно в неё вставлен,
    достать его аккуратно из порта платы бывает непросто, пять минут трачу каждый раз
    olodar wrote:кстати, а если просто паяльником обрезать?
    Можно и паяльником, но жало потом фиг очистишь наверное, припой приставать перестанет.
    Нож прорезает где-то полсантиметра на каждый нагрев кончика, пластик какой-то тугой...
  • Можно и паяльником, но жало потом фиг очистишь наверное, припой приставать перестанет.
    Есть специальный, выделенный паяльник для пайки пластмассы :) да и напильником почистить можно, паяльники все равно за 60-150 руб, ничего не стоют :D
    Ничего не получается, все то же самое :(
    Пробовал обеими сторонами, прищепка вставала четко.
    P.S. пайка от бога, я знаю :D
    Attachments
    IMG_20170411_205011.jpg
    IMG_20170411_205011.jpg (1008.89 KiB)
    Viewed 5013 times
  • Уффф какое огромное у тебя фото... Молодец, откопал ты этого "жука" :)
    Главное чтобы нижней крышке не мешало закрываться, по фотографии не очень понятен рельеф пластика в месте среза

    Если ты на 100% уверен что провода от прищепки правильно приходят на программатор, и по прежнему не получается,
    сделай так чтобы провода WP и HOLD с прищепки тоже приходили на 3.3 V ( VCC ) программатора.
    То есть тебе придётся спаять вместе эти три провода идущие с прищепки - WP, HOLD и VCC -
    - так чтобы в итоге они приходили на один и тот же пин VCC программатора

    Только пожалуйста не пробуй лишний раз подключать наоборот, это нежелательно...
    Следи за тем чтобы пин CS прищепки всегда подсоединялся к ножке возле которой точка на крышке чипа
    (на твоей фотографии эта ножка - левая верхняя)

    Надеюсь что это поможет, иначе придётся заменять все алюминиевые провода на медные
    Last edited by floppy121 on Tue Apr 11, 2017 7:00 pm, edited 7 times in total.
  • Схема с прошлой страницы поможет всё сделать правильно:
    Attachments
    BIOS Chip - Pinout
    BIOS_Chip_-_Pinout.png (504.07 KiB)
    BIOS Chip - Pinout Viewed 4998 times
  • Микросхема же 25хх, не 24хх?
  • olodar wrote:Микросхема же 25хх, не 24хх?
    Да, разумеется. В любом случае на этой плате стоит чип 25 серии, который правда бывает разным -
    - или этот Winbond как на картинке, или cFeon EN25QH32-104HIP, может быть и ещё какие чипы попадаются
    но все они прошиваются при одной и той же схеме подключения программатора
  • Вобщем, завтра попробую еще чуть подрезать, мб все таки не донца прищепка подошла..
  • olodar wrote:Вобщем, завтра попробую еще чуть подрезать, мб все таки не донца прищепка подошла..
    Хорошо, главное плату не задеть и не заляпать пластиком. Если не будет получатся - объедини те три провода
  • Вобщем, подрезал еще чуть чуть и прещепка встала отлично. Теперь пишет:

    Code: Select all

    flashrom -p ch341a_spi -r original.rom
    flashrom v0.9.9-rc1-r1942 on Linux 4.4.0-72-generic (x86_64)
    flashrom is free software, get the source code at https://flashrom.org
    
    Calibrating delay loop... OK.
    Found Macronix flash chip "MX25L3205(A)" (4096 kB, SPI) on ch341a_spi.
    Found Macronix flash chip "MX25L3205D/MX25L3208D" (4096 kB, SPI) on ch341a_spi.
    Found Macronix flash chip "MX25L3206E/MX25L3208E" (4096 kB, SPI) on ch341a_spi.
    Found Macronix flash chip "MX25L3273E" (4096 kB, SPI) on ch341a_spi.
    Multiple flash chip definitions match the detected chip(s): "MX25L3205(A)", "MX25L3205D/MX25L3208D", "MX25L3206E/MX25L3208E", "MX25L3273E"
    Please specify which chip definition to use with the -c <chipname> option.
    
    Как это несколько чипов определилось?
    На самом биосе маркировка такая:
    MXIC MX
    25L3206E
    M2I12G
    36291300
    L114676
    Я так понимаю, надо делать так? :

    Code: Select all

    flashrom -p ch341a_spi -c MX25L3206E -r original.rom
    Но "множество" чипов не дают мне покоя...
  • Вобщем, погонял сегодня корбут.
    Винда 10 запустилась сразу без танцев с бубном. Но это было только начало...
    1) Драйвера на шинде напрочь отказывались ставится: кримсон тупо вешал систему, а каталист не видел карты. В линуксе все заработало нормально
    2) USB 3.0 не работает! Ни на шинде, ни на линуксе
    3) USB 2.0 - в шинде работает, а вот под линуксом работает, но не работает: мышка двигается так, будто пинг за 5 секунд.
    4) Не работают клавиши FN
    В системе отображалось доступно 15,5 ГиБ! (а не 15,2) Что говорит о том, что системный биос и управляет "встроенной" видеопамятью.
    Попробовал собрать также не включая vgabios, но ни линукс, ни шинда ничего не выводила на экран (хотя сама ОС уже работатала).
    bootsplash ничего не отображает - бесполезная вещь.
    Также не работает турбокор, частота проца не поднималась выше 2,45 гГц, что, опять же говорит, что от биоса еще как это все дело зависит.
    Еще заметил, что кулер вел себя немного иначе в отличие от стокового биоса, что говорит о том, что все таки, кулером управляет биос, а не EC-контроллер?
    Итог: откатился на сток. Также в ходе возвращения, меня подловили кучи ошибок во время прошивки, но шевелив и шевелив прищепку у меня получилось зашить.
    Кстати, по идее эта пайка не вечная, и со временем чип может отколоться?

  • Поздравляю тебя с успешным запуском coreboot ! :D Achievement unlocked :P

    olodar wrote:Как это несколько чипов определилось?
    Наверное у этих немного разных чипов - одинаковый идентификатор, поэтому flashrom считывая ID как бы обнаруживает несколько чипов. Скорее всего и алгоритм прошивки для них одинаковый, так что - может быть если бы ты и выбрал случайно другой чип из списка обнаруженных, возможно оно всё равно прошилось бы успешно.
    Ты всё правильно сделал
    olodar wrote:1) Драйвера на шинде напрочь отказывались ставится: кримсон тупо вешал систему, а каталист не видел карты. В линуксе все заработало нормально
    Винда очень придирчива к ACPI и коребутовский ACPI может ей не очень нравится. Но список устройств, которые видит процессор по шине PCI, от этого зависеть не должен! Может быть это десятая винда тупит, и неплохо бы проверить на семёрке...

    В этом ноуте нет аппаратного DirectX 12, поэтому в десятке нет особого смысла - тем более что её шпионские прибамбасы негативно отражаются на производительности: грузит жёсткий диск в фоновом режиме, из-за этого на обычных жёстких дисках (не SSD) бывает сильно тормозит а на SSD это менее заметно но в результате SSD изнашивается преждевременно... Семёрка всяко лучше))
    olodar wrote:2) USB 3.0 не работает! Ни на шинде, ни на линуксе
    Скорее всего USB 3.0 не работает из-за того что ты не включил бинарник XHCI в образ коребута, если USB 3.0 тебе реально нужен - попробуй пересобрать с добавлением этого бинарника
    olodar wrote:3) USB 2.0 - в шинде работает, а вот под линуксом работает, но не работает: мышка двигается так, будто пинг за 5 секунд
    Только что попробовал две разных мышки на линуксе - курсор скользит идеально. Могут ли эти тормоза в твоём случае зависеть от используемой мыши или от линукса?... Если и с другой мышью та же фигня, можешь как вариант попробовать другой дистрибутив линукса, ну или для интереса прошить мою версию коребута собранную в декабре прошлого года (которая прикреплена к первому сообщению) - ты же тестировал более новую сборку, а вдруг в коде коребута навертели чего с момента моей сборки? Там прямо сейчас что-то перелопачивают вроде бы...
    olodar wrote:4) Не работают клавиши FN
    Установил линуксовую программу screenkey для удобной проверки F-клавиш :

    1) Если удерживая Fn нажимать F-клавишу, то она работает в стандартном режиме. От F1 до F12 - все работают

    2) Если просто нажимаешь F-клавишу то выполняется её ноутбучная функция. Например, просто нажал F9 - экран погас, нажал ещё раз - экран заработал.
    Почти все "ноутбучные функции" от простого нажатия F-клавиш выполняются успешно, за исключением некоторых: например, нажатие кнопки F7 с самолётом не переводит ноутбук в режим Airplane Mode - WiFi по-прежнему работает. Скорее всего тут дело в линуксе и если немного поковырятся, можно назначить отключение/включение сетей на нажатие этой клавиши

    Режим работы F-клавиш (стандартный или "ноутбучный") по умолчанию - если без удержания кнопки Fn - может быть можно выбрать в конфиге коребута перед его сборкой. Ну или в операционной системе переопределить
    olodar wrote:В системе отображалось доступно 15,5 ГиБ! (а не 15,2) Что говорит о том, что системный биос и управляет "встроенной" видеопамятью
    Не знаю, так ли это или нет... Между прочим это и от дистрибутива линукса может зависеть (разной версии линуксового ядра + разной версии графических драйверов). Когда игрался с дистрибутивами, почему-то в одних встроенная видеокарта кушала почти гиг а в других всего полгига памяти, и разумеется это всё было при одном и том же прошитом коребуте
    olodar wrote:Попробовал собрать также не включая vgabios, но ни линукс, ни шинда ничего не выводила на экран (хотя сама ОС уже работатала).
    bootsplash ничего не отображает - бесполезная вещь
    Если интересно, отъедает ли встроенная видеокарта оперативку когда не используется VGABIOS, можно проделать такой эксперимент - вначале установить линукс на этот ноут и запомнить какой номер нужно выбирать в SeaBIOS чтобы он грузился , а потом прошить образ коребута без VGABIOS, загрузиться в линукс, подключится удалённо к этому ноуту по SSH и посмотреть общий объём памяти командой free -m
    olodar wrote:Еще заметил, что кулер вел себя немного иначе в отличие от стокового биоса, что говорит о том, что все таки, кулером управляет биос, а не EC-контроллер?
    Кулером управляет EC-контроллер, но биос может посылать EC-контроллеру команды которые могут заставить EC-контроллер что-нибудь сделать. Возможно официальный биос посылает какие-то дополнительные хитрые команды которые влияют на скорость вращения вентилятора, а коребутный биос этих дополнительных команд не посылает и ЕС-контроллер действует только согласно своему собственному алгоритму управления скоростью вентилятора. Между прочим, в коде коребута есть интерфейс взаимодействия с EC-контроллером - https://github.com/coreboot/coreboot/tr ... pal/ene932 - написано ENE932 (ENE KB932) но тот же код используется и для ENE KB9012 который стоит в этом ноуте. Осталось посмотреть, используется ли этот интерфейс коребутом для пересылки каких-нибудь интересных команд, относящихся к вентилятору, или нет
    olodar wrote:Кстати, по идее эта пайка не вечная, и со временем чип может отколоться?
    Нужно очень сильно "постараться" чтобы оторвать этот чип прищепкой))) Уже кучу раз прошивал и цеплялся прищепкой - и намёка нет что чип может отвалиться, ножки выглядят как новенькие. Ну может быть там какие-то молекулы и отваливаются даже если пользоваться аккуратно, но этого соединения должно надолго хватить. Так же как и перезаписей - если не ошибаюсь, этот биос чип рассчитан как минимум на 100 000 полных перезаписей, которые ты вряд ли когда-нибудь израсходуешь)

    Извини что в этом сообщении ответил неточно на некоторые вопросы, когда получше разберусь отредактирую его...

    Пока что можешь попробовать пересобрать коребут вместе с бинарником USB 3.0 (если тебе он реально нужен) , ну или попробовать мою сборку из 1го сообщения для разнообразия хоть она и без USB 3.0
  • Who is online

    Users browsing this forum: No registered users and 8 guests