LINUX.ORG.RU

Прошивка Libreboot через Raspberry Pi Pico 2040

 , ,


0

1

Пробую прошить через Raspberry Pi Pico 2040 + прищепку SOIC8. На Raspberry залита скомпилированная на моем ноутбуке прошивка serprog_pico.uf2. В логах, отображается девайс как cafe:4001 [libreboot.org](http://libreboot.org) pico-serprog (pico)

Подключаю провода, контактами мама-мама по следующей схеме:

Пин №4 GP2 -- контакт №6 SOIC8
Пин №5 GP3 -- контакт №5 SOIC8
Пин №6 GP4 -- контакт №2 SOIC8
Пин №7 GP5 -- контакт №1 SOIC8
Пин №36 3V3 -- контакт №8 SOIC8
Пин №38 GND -- контакт №4 SOIC8

Пины Raspberry подпаивались самостоятельно, пайка хорошая. При подключении к чипу БИОС, сразу же начинает сильно греться выше кнопки BOOTSEL. Насколько я понимаю, регулятор напряжения.

В логах подключения к чипу БИОС:

sudo dmesg -wH
usb 1-1: new full-speed USB device number 4 using xhci_hcd
usb 1-1: New USB device found, idVendor=2e8a, idProduct=0003, bcdDevice= 1.00
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: RP2 Boot
usb 1-1: SerialNumber ABCD1234
usb-storage 1-1:1.0: USB Mass Storage device detected
scsi host2: usb-storage 1-1:1.0
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver uas
scsi 2:0:0:0: Direct-Acces RPI RP2 3 PQ: 0 ANSI: 2
sd 2:0:0:0: Attached scsi generic sgl type 0
sd 2:0:0:0: [sdb] 262144 512-byte logical blocks: (134 MB/128 MiB)
sd 2:0:0:0: [sdb] Write protect is off
sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
sd 2:0:0:0: [sdb] No Caching mode page found
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 2:0:0:0: [sdb] [sdb] Attached SCSI removable disk

После этого, девайс /dev/ttyACM0 пропадает.

На попытки считать чип - не реагирует. Сам чип

MXIC-MX
25L6473E
M2I-10G
3Q190500
L140715

Основной вопрос, который меня беспокоит: - Почему так греется и как это исправить? Мультиметр, само собой есть. Контакты от платы, по проводкам до контактов губок самой прищепки - прозванивались, сигнал идет. sudo cast SakuraKun возможно ты подскажешь пожалуйста.

★★★

Ну чип у вас 3-х вольтовый, а не 1,8, посмотрел ДШ. Подключаете питание вроде правильно, 8 VCC, 4 GND. Проверьте эти 3В, есть они там, при подключенном чипе или просели? Потом прозвоните ноги питания, точно ли они идут туда, куда надо. Даже если какие-то GPIO ставят ЛОГ.1 остальные ноги все или интерфейс или конфигурация, ничего такого быть не должно.

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

У меня не слишком много опыта, подскажите пожалуйста правильно я понимаю, что мультиметром в режиме DCV на 20V, при подключенной прищепке SOIC8, проверить на Raspberry контакт 3V3 (один щуп на контакт - второй на корпус microusb) есть ли там 3,3 вольта?

Контакт 3V3 прозванивается к контакту прищепки №8 (напротив контакта №1).

Даже если какие-то GPIO ставят ЛОГ.1 остальные ноги все или интерфейс или конфигурация, ничего такого быть не должно.

Как это проверить?

Riniko ★★★
() автор топика
Ответ на: комментарий от Riniko
  1. Да, все правильно. Но есть нюанс, не всегда корпус разъема USB соединен с GND, но чаще всего именно соединен наглухо. Лучше становитесь на контакт, который точно помечен как GND.

  2. Да, тут переключаете тестер на самое маленькое сопротивление или прозвонку и при отключенном питании проверяете:

3.3V платы 2040 --- VCC 8-я нога чипа
GND платы 2040 --- GND 4-нога чипа
Заодно сделайте прозвонку от противного:
3.3V платы --- все другие ноги 1-7
GND платы --- все ноги, кроме 4
  1. Это не страшно и не должно на что-то влиять, тем более греть стабилизатор (вызвать какое-то бешенное потребление), но проверять лучше всего осциллом, хотя можно и тестером в режиме 20В.
yaba ★★★
()

Почему так греется и как это исправить?

Возможно запитывается часть схемы на плате где распаяна флешка.
Отпаивать.

Но… Я не настоящий сварщик (ц)

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

2.

3.3V платы 2040 -- VCC 8-я нога чипа: Прозванивается 
GND платы 2040 -- GND 4-я нога чипа: Прозванивается 
3.3V платы 2040 -- ноги 1-7 чипа: Не прозваниваются
GND платы 2040 -- все ноги, кроме 4: Прозванивается 5, при чем на мультиметре значения до 1800 (на 4, они падают до 001). Прозванивается 6, значение 1100, прозванивается 8, значение 450.

После отключения контактов мама-мама, прозвонки на самой плате Raspberry контактов GND и 3V3, выяснилось, что между ними идет сигнал, значением 1230. Получается, плохая пайка на самой плате? Между ними, мостик припоя отсутствует. В первой попытке, использовались переходники, плата к прищепке SOIC8 с названием SOP16/8-DIP8 REV4.

Riniko ★★★
() автор топика
Последнее исправление: Riniko (всего исправлений: 1)
Ответ на: комментарий от Riniko

1230 это скорее всего сопротивление внутренних цепей. Судя по всему КЗ у вас нет, остается запитка остальных цепей платы с биосом от вашего 2040 (анонимус прав). Тогда только выпаивать чип. Прищепка не дает гарантии, что будет прошиваться, при наличии цепей в схему. Ну так же и питание.

А в первоначальном сетапе (когда прищепка на чипе) на сколько просаживается 3.3В? Главное, если после отключения чипа от 2040 она выдает свои 3.3В значит стабилизатор на ней целый.

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

В варианте с подключенной прищепкой к БИОС, замер контактов 3V3 и GND (пин 38) просаживается до 1,76 вольт.

При отключении прищепки, выдает точные 3,29 вольт.

Riniko ★★★
() автор топика
Последнее исправление: Riniko (всего исправлений: 1)

Забудьте про прищепку. Отпаивайте и в адаптер для отпаяной микросхемы (покупается отдельно). Может имеет смысл найти мёртвую материнку, чтобы было на чём тренироваться с пайкой/прошивкой, только с 3,3В флешкой... Заодно научитесь по маркировки чипа даташиты искать :)

То, что при подключении прищепки плата пытается от этих 3,3 В что-то ещё запитать — нормально. Конечно, всегда есть плохой совет, что нужно подать питание на прошиваемую плату, чтобы там появились свои 3,3В, но не в включать, чтобы там активности по линии данных флешки не было. Но это нужно хорошо понимать, что делаешь, и не всегда плата не автостартует.

Если вы читаете про прошивание прищепкой, но там не написано, что это работает не везде и не всегда, значит это плохой источник.

mky ★★★★★
()

Потренируйся на кошках - на не распаянном чипе.
Если цель - прошить конкретный чип на конкретной материнке, то нужно еще проверить, а не выведины-ли на материнке SPI штырьки.
И еще, у материнок бывает рековери прошивание.

anonymous
()

yaba, mky, anonymous, прошиваю Dell Optiplex 9020SFF. Насколько я понимаю, можно и через BIOS DELL прошить, установив перемычку SERVICE_MODE. Интересно потренироваться именно с прищепкой, так-как это возможно, и в мануале об этом написано. Чип там не отпаивают. Так я получу опыт, который смогу повторить с другими устройствами.

Я ещё думаю на вариант, что 4 пина, VBUS, VSYS GND, V3V_EN, при первом монтаже, криво были припаяны. Я пытался колхозно удалить припой и переделать заново. Более менее получилось, вместо медной оплетки - кусочком медного провода. Но возможно, кусочек припоя попал куда не нужно и поэтому такой результат.

Имеет ли смысл выпаять эти 4 контакта (я их паял по одному, а не 4 вместе). Тщательно очистить от припоя, как раз медная оплетка уже имеется и заново подпаять? Или в процессе ещё проверить что-то, если это возможно.

Либо, понижать напряжение, через резисторы в 47 ом, на линиях MISO/MOSI/CS/CLK, как написано здесь.

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

Тщательно очистить от припоя, как раз медная оплетка уже имеется…

Принципиальна не сколько оплётка, сколько хороший флюс для BGA, благодаря которому работает капиллярный эффект. Можно хоть куском медного многожильного провода обойтись. А вообще лучше сразу обзавестись демонтажным феном и научиться им пользоваться.

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

Резисторы не понижают напряжение сами по себе, по перечисленным линиям настолько небольшой ток, что 47 Ом не влияют на напряжение. Они там для защиты программатора от КЗ.

У меня нет официальной документации от Dell, где написано, что можно шить через прищепку. То, что на сайте libreboot — это не мануал, а так, фоточки. И там виден одноплатник, а не RP Pico. С одной стороны, у одноплатников 3,3 В помощнее, чем на Pico. С другой стороны, там где написано про 47 Ом, написано и про допаивание диода в цепь питания флешки, так что, может эта Dell 9020, которая на фото, уже с диодом.

Если у вас мультиметр показывал сотни Ом, то никакой капли припоя нет. Невозможно такой залипон поставить чтобы было ощутимое сопротивление. Или около нуля Ом, или нет залипона.

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

Ещё замерял, разобравшийсь со значением мультиметра. При измерении сопротивления, на значениях 2000к, при замере красного щупа на 3V3, чёрного на GND, результат через 30 секунд, 745. Насколько понимаю, все в порядке так и должно быть.

Может тогда дело в прищепке SOIC8?

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

СКФ не подходит?

Для BGA и SMD — с оговорками, но в общем случае — нет.

От флюса требуется:

  • разрушать оксидную плёнку на металлах, использующихся при пайке.

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

  • не проводить электричество в как можно более широком частотном диапазоне.

  • не требовать отмывки (предыдущий пункт плюс негигроскопичность и отсутствие активных компонентов, которые могли бы со временем разрушить пайку/ускорить коррозию), либо хорошо отмываться.

Архаика в духе СКФ и прочего паяльного жира на тёртой канифоли пригодна только для THT–монтажа, где флюс не может затечь под корпус и где его легко смыть ватным тампоном.

Неплохо хотя бы раз попробовать поработать хорошим флюсом, чтобы ощутить разницу. Можно поискать обзоры на ютубчике — «сравнение флюсов для BGA», «сравнение безотмывочных флюсов» и т.д.

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

Какой BGA, SMD, демонтажный фен? ТС к плате RP Pico паяется:

Пины Raspberry подпаивались самостоятельно, пайка хорошая.

И лучше расшифровывайте THT, а то написали:

пригодна только для THT–монтажа

но ТС может и не понять, что его канифоль подходит для его задачи.

А паять флешку ТС оказывается, и, наверное, правильно, что отказыватся. Сначала лучше потренироваться паять на трупиках. Но, зачастую, их бесплатно не достать :(

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

745 кОм при отключенной от материнской платы прищепке?

Да.

Но, зачастую, их бесплатно не достать :(

Можно достать задешево, конечно. Но не проверить затем работоспособность.

Riniko ★★★
() автор топика

У тебя традиционно всё что висит на той рельсе питания будет пытаться запитаться от пизеры. Понятно что она не вывозит и греется.

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

У него Pi Pico, а не Zero. Там, вроде как, 800 мА по 3,3 В допускают. А на фото с libreboot.org через прищёпку шьют этот Dell OptiPlex 9020 от R Pi 3B, где всего 50 мА по 3,3 В. Непонятно.

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

Дак, а там что работоспособность трупов то? Отпаяли флешку, что ноги целые, в адаптере зафиксировали, прочитали/записали/проверили. Припаяли, отпаяли, снова прочитали, сверили с тем, что записывали... Главное ноги от флешки, дороги от платы научиться не отрывать. Отсутствие залипонов между ног можно прозвонить. Разве, что может быть непропай между ножкой и платой, но если паяльником каждую ножку проходить, то очень маловероятно. Ну и флешка может быть на трупе мёртвой, что пошить не получится. Её проверять, что по маркировке она на 3,3 В, и что нет КЗ по ногам...

Что касается, что у вас линия 3,3 В до 1,7 В просаживается, то, не знаю, может, конечно, попробовать ток в ней измерить при подключении к плате, в режиме 10 А, с престановкой щупов. Только, сразу после этого не забыть щуп обратно переставить, чтобы следом случайно не измерить напряжение амперметром.

Или нагрузить на RPi Pico 3,3 В на резистор 30 Ом и измерить, сколько там будет напряжение. Может у вас что-то с преобразователем напряжений на плате не так и он не вывозит.

Сама материнка Dell ещё рабочая? Может там уже по линии 3,3 В что-то пробило и садит на землю...

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

Сама материнка Dell ещё рабочая? Может там уже по линии 3,3 В что-то пробило и садит на землю...

Рабочая, в БИОС загружается, в систему тоже грузится. Но не хотелось бы её угробить, в ходе экспериментов.

А на фото с libreboot.org через прищёпку шьют этот Dell OptiPlex 9020 от R Pi 3B, где всего 50 мА по 3,3 В

В целом, libreboot рекомендуют Raspberry Pi Pico, вместо CH341A. RPi все же по цене дороже выходит, так-как полноценный компьютер. Можно еще Le Potato попробовать.

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

…расшифровывайте THT…

Гуглится: https://ru.wikipedia.org/wiki/THT

Какой BGA, SMD, демонтажный фен?

Чтобы не маяться дурью с прищепками, сдуть флешку, прочесть/зашить и запаять обратно. Делов на пятнадцать минут, если рука набита.

По существу вопроса всё сказано уже в четвёртом ответе, равно как и в вашем же посте, добавить особо нечего.

У него Pi Pico, а не Zero. Там, вроде как, 800 мА по 3,3 В допускают…

Про 800 мА — очевидное 4.2. Это максимальный выхлоп с Richtek RT6150, SMPS с официальной Pi Pico.

Но нюансы заключаются в том, что во–первых, Pi Pico запитывается от USB 2.0, из которого по стандарту не получить больше 500 мА при 5В (специализированные розетки для смартфонов на материнской плате, в хабах с внешним питанием и подобные извращения — не рассматриваем). Даже в идеальных условиях, больше чем на 700 мА с SMPS я бы не рассчитывал.

Во–вторых, не учитывается нагрузка непосредственно от RP2040.

В даташите на Pi Pico явно рекомендуется не тянуть с шины 3.3В более 300 мА (стр.8, первый абзац сверху).

В–третьих, всё вышесказанное касается только официальных плат от Raspberry Pi Ltd. У китайских клонов цепь питания может оказаться куда примитивнее, из единственного дохлого LDO, которого едва хватает на сам RP2040.

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

Но нюансы заключаются в том

На стационарных компах с USB спокойно тащится больше 0,5А, там нет защит, да и порты там часто USB 3.0, где 0,9А допустимо. В даташите на RT6150 написано, что он мониторит входной ток, но для защиты преобразователя, а не для ограничения тока USB.

То, что рекомендовано в даташите RP2040 — штатный, гарантированный ток. А, если ТС видит 1,7 В вместо 3,3 В, то явно нештатный режим. Если плата оригинальная, исправная, явно больше 300 мА был бы ток.

из единственного дохлого LDO

Да, скорее всего так. Не подумал про такое сразу.

2 Riniko Изучите свою плату, сравните с оригинальными, которые ≈1500 руб. На вашей есть катушка индуктивности (серый кубик)? Если на м/с маркировка, попробуйте найти даташиты, определить импульсный или линейный преобразователь напряжения.

mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от Riniko

Не получишь

Что бы тыкаться прищепкой, надо знать как какая плата в принципе работает, именно знать, если с каждой сидеть думать, то проще отпаять, ну так все нормальные люди и отпаивают так-то

Чисто для примера - на ноутбуках ASUS с мультиконтроллерами ITE мульт постоянно долбится во флешку

А ещё на основной SPI может висеть какой-нибудь PD-контроллер, тоже к примеру. В твою конкретную железяку вникать лень, да и незачем

Палец что ли к прищепке прирос? Если нет - выкинь её нафиг

shalom_ ★★★
()
Последнее исправление: shalom_ (всего исправлений: 2)
Ответ на: комментарий от mky

На вашей есть катушка индуктивности (серый кубик)?

Если кубик рядом с контактом 3V3, то да есть. Правда без маркировки. Сравнил с фотографиями других Pico, все компоненты присутствуют.

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

Если смотреть это фото RP Pico: https://en.wikipedia.org/wiki/Raspberry_Pi#/media/File:Raspberry_Pi_Pico_top_... , то там под кнопкой BOOTSEL два конденсатора (жёлто-коричневые), между ними 10-ножечная м/с, ниже кубик индуктивности. На м/с написано 03x, что, вроде как, RT7251A (важны первые два символа). Непонятно, на оригинале должен стоять RT6150 с маркировкой 00x или 0N=. Если у вас RT7251A, то может ему не хватает питания с USB, просадка, он Step-Down, и минимум 4 Вольта.

А может стоять 6 ножечная хрень с логотипом Micro One, сложно опозноваемая, так как они не указывают в даташитах маркировку своих микросхем.

Пробуйте нагрузить резистором 3,3 В, 30..51 Ом, самый простой способ понять, ваша Pico хоть что-то выдаёт на 3,3 В или нет.

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

На м/с написано 03x, что, вроде как, RT7251A

На самом деле RT6150B-33GQW, нерегулируемая версия RT6150 на 3.3В. В даташите, в секции про маркировку не зря приводится схематичное изображение — графические элементы в виде точек и подчёркиваний тоже являются её частью.

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

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

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

Ещё раз, нет, дело не в прищепке как таковой, а в цепях, подключенных на плате к микросхеме SPI Flash памяти. Влияние этих цепей на интерфейсных выводах микросхемы таково, что они могут искажать логические уровни, просаживая уровень логической единицы. Посему при попытке прочесть или записать данные через прищепку, с очень большой вероятностью будет прочитан или записан мусор.

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

и что нет КЗ по ногам…

…вне схемы. Потому что на трупиках на 3-вольтовой линии дофига чего быть может.

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

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

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

графические элементы в виде точек и подчёркиваний тоже являются её частью.

А точка над тройкой что значит?

У RT7251A корпус на 8 ножек. А подчёркивания, хз, они ведь потом в официальный документ «Marking Information» от Richtek не попадают.

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

Ну, а некторые устройства сами засыпают, допустим мультиметры и там можно подождать, пока он уснёт и слить дамп прещепкой.

И запитка чего-то кроме флешки от прищепки — одно, а формирование EN для этих микросхем — другое. Dell ведь вполне могли что-то изобрести, допустим, что и 3,3 и 5 В должны присутствовать и только тогда запуск.

сняв резистор-нулевик.

На сайте libreboot.org советуют диод в цепь питания флешки ставить, но ненавязчиво. И конкретных мест установки для той или иной материнки не рекомендуют и вобще непонятно. Приводят фотку с прищепкой сабжевого Dell 9020, не пояснив, делали ли они что-то с цепью питания флешки или нет. Отсюда и упорство ТС.

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

Вот на таких клонах https://aliexpress.ru/item/1005006252609778.html нет катушки индуктивности. Там может стоять стоит пятиножка, с логотипом Micro One (microne) и маркировкой E3SD, E3WC, E3WA или без логотипа 4A2D. И на RP2040-zero/tiny аналогично, хотя это не случай ТС.

mky ★★★★★
()

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

SPRATAY ★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария