Ремонт: Ноутбуков, Компьютеров
https://vlab.su/

Прошивка контроллера батарей ноутбука
https://vlab.su/viewtopic.php?f=181&t=507
Страница 28 из 76

jonpim [ 24 ноя 2020, 15:11 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
Тут все сказано, и команда рестарта прошивки там есть.


Если успеет FX2LP что-то спросить по шине .
У меня она блокировалась .

Yuriy_S [ 24 ноя 2020, 15:37 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
Тут все сказано, и команда рестарта прошивки там есть.

Почитал немного по ссылке, вы там пишете:
I was able to manually restore EEPROM data using commands 0x46, 0x44, 0x49, without using Cypress EZ-USB FX2LP Board and Victor's program to run the firmware.
Так а каким софтом и адаптером вы пользовались?

Alex_PP [ 24 ноя 2020, 19:40 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
Так а каким софтом и адаптером вы пользовались?

Да любым можно, кто может посылать команды. Кажется это была демка UBRT, или EVSW, через их командную консоль. А железо - EV2300. Писал вручную, блоками.
Но в кипресовском варианте есть автомат - доп утилита "sanyo", с исходником "private_sanyofl". Она берет файл данных EEPROM и целиком пишет его в память контроллера. Навроде "smbusb_bq8030flasher", только команды записи другие, для безопасного режима.
Вам исправить то всего несколько байт. Лучше вручную.

jonpim писал(а):
Если успеет FX2LP что-то спросить по шине .

Я даже не ей делал )) Команды безопасного режима доступны постоянно, когда прошивка переходит в него. Вы очевидно ловили контроллер до того, как он уйдет в безопасный режим, пытаясь успеть попасть в бут 3-мя командами. Это совсем иное, и действует как раз после того, как произошел сбой загрузки данных из EEPROM.
Если я вас правильно понял.

jonpim [ 24 ноя 2020, 21:52 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
Если я вас правильно понял.


У меня совсем другой чип - 8050 и прошивка от sony .
и пытал его бешкой , причем демкой , которая читала как bq20869

Yuriy_S [ 25 ноя 2020, 01:25 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
Да любым можно, кто может посылать команды.

На текущий момент есть be2works и СР2112, которыми и работал с батареей.
Программа позволяет слать команды по шине SMBus, посмотрите пожалуйста:
http://ru.be2works.com/principy-raboty/smbus/
Я не программист от слова совсем.
Помогите разобраться с синтаксисом и адресами.
В моем случае нужно изменить 600-ю строку еепрома, даже не всю а 609-60d

Alex_PP [ 25 ноя 2020, 19:55 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

The 0x40 command sets the address to read data from the firmware or EEPROM. The addressing here is solid.
SMB Write: 0x40, [INIT_EPPROM_Adress + BlockNbr * 32]

The 0x43 command reads data from the EEPROM at the specified address.
SMB Read: 0x43, Result (64 bytes of data EEPROM)

The 0x44 command writes data to the EEPROM.
SMB Write: 0x44, [BlockNbr (1 byte) + Data_block (32 bytes)]
BlockNbr is not an address, but a block number, here: 00 - 1st block 32 bytes, 01 - 2nd block 32 bytes, etc.

The 0x46 command cleans the EEPROM data block.
SMB Write: 0x46, BlockNbr (in the form 00xx)
BlockNbr is also a block number

Command 0x49 restarts the firmware from the EEPROM fixed.
SMB Write: 0x49, 0502

Вот это надо было прочитать на Каросиум, и применить для своих данных. Чем слать - неважно, хотя ваш вариант с Бешкой мне менее всего знаком и удобен.
jonpim, да с Соневской прошивкой наверное все иначе. Получается говорили о разных предметах. ))
Думаю, Вы правы. У меня не было опыта с ними.

Yuriy_S [ 25 ноя 2020, 20:06 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
[INIT_EPPROM_Adress + BlockNbr * 32]

Что в моем случае нужно здесь написать?

Alex_PP [ 25 ноя 2020, 20:55 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

НА СВОЙ СТРАХ И РИСК ибо я не помню точно все шаги и некоторые детали, но вроде так. :du_ma_et:
Изменять данные можно лишь блоками

1. Устанавливаете адрес 0x600 для записи (или чтения)

ww 0x40 (0x4000 + 48 * 32) = 0x4600
то есть:
ww 0x40 0x4600

2. для теста, прочтите сперва данные, чтобы не промазать

rbl 0x43 HEX (получите 64 байта)

Если данные совпадают с тем, что у вас там было (надеюсь дамп остался), то можно их править.

3. Не помню, следует ли переустанавливать адрес, но лучше повторите шаг 1.

4. Чистите блок данных кажется чистит 32 байта, не уверен.

ww 0x46 0030 (ваш блок 48, в hex это 30)

5. Не помню, следует ли переустанавливать адрес, но лучше повторите шаг 1.

6. Пишете новые данные в свой адрес.

wbl 0x44 (48 (1 байт) + Data_block (32 байта))
то есть что то вроде этого, с вашим блоком:
wbl 0x44 300B315A4A524D323458353452FFFFFFFF409D15E1FFFFFFFFFFFFFFFFFFFFFFFF
где 30 - номер блока, а 0B315A4A524D323458353452FFFFFFFF409D15E1FFFFFFFFFFFFFFFFFFFFFFFF - ваш блок данных.

Все, вы изменили блок 32 байта с адреса 0x600.

7. Перезапускаете прошивку

ww 0x49, 0502

----------------------------------------------
Если был еще другой блок перетерт, экстраполируете процедуру на другой номер блока и данные блока. :nez-nayu:

Yuriy_S [ 25 ноя 2020, 22:04 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Очень большое спасибо!
Все получилось, батарея ожила.
Единственый момент, везде 0х убрал, иначе ошибка.
И демо версия все операции выполняет, кроме записи.
Нежадная версия пишет нормально.
Осталось разобраться почему заряжается только одна сборка...

Alex_PP [ 25 ноя 2020, 22:07 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
Очень большое спасибо!

С Вас поллитровка, замучился набирать все это )))

Шутка! :hi_hi_hi:

Дальше разбирайтесь с matroskin_kot, или еще спросите кого, я не очень специалист по дампам Lenovo, а у вас там похоже блокировка. Почитайте Каросиум, в конце, там с предпоследним товарищем разбирались, у него Леново был, кажется похож на ваш дамп, там он нашел байты блокировки, исправил, Abdul кажется.

matroskin_kot [ 25 ноя 2020, 22:59 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S
попробуйте 608 609 оставить так как было 00 0A, 648 649 29 1B или 00 1b, я тоже не очень силен в этих дампах, у меня ушел почти год на 8024, но заработало. выложите дампы которые образовались после зарядки акб до 100% что бы сравнить. только торопиться не надо, сделали прогнали подождали результата, потом еще одна проба...

Alex_PP писал(а):
ваш блок данных.

не похож... или у нас разные исходники..

Yuriy_S [ 25 ноя 2020, 23:42 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
Почитайте Каросиум, в конце, там с предпоследним товарищем разбирались, у него Леново был, кажется похож на ваш дамп, там он нашел байты блокировки, исправил, Abdul кажется.

Ок. Почитаю. Спасибо.
Alex_PP писал(а):
Command 0x49 restarts the firmware from the EEPROM fixed.
SMB Write: 0x49, 0502

А есть аналогичная команда для обычного, не защищенного режима?
matroskin_kot писал(а):
попробуйте 608 609 оставить так как было 00 0A, 648 649 29 1B или 00 1b, я тоже не очень силен в этих дампах, у меня ушел почти год на 8024, но заработало. выложите дампы которые образовались после зарядки акб до 100% что бы сравнить. только торопиться не надо, сделали прогнали подождали результата, потом еще одна проба...

Буду пробовать и выкладывать результаты, по мере их появления.
Может даты производства/начала эксплуатации подправить?
Но у меня не получается их посчитать...

Alex_PP [ 26 ноя 2020, 13:59 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
А есть аналогичная команда для обычного, не защищенного режима?

Для какого "обычного"? Что вы имеете ввиду? Бут? Или Нормал? Если Бут, то там есть команда, и она известна, если Нормал, то боюсь, никто ее не знает. IDA вам в руки, считаете прошивку Каросиумом, и ищите команду. ))

Yuriy_S писал(а):
Может даты производства/начала эксплуатации подправить?

Не надо, там контрольная сумма, ее пересчитывать надо, иначе контроллер не примет их. И не влияют они на работу, поверьте. Разве что на параметры AltBattery, определяющие старение ячеек

matroskin_kot писал(а):
Alex_PP писал(а):
ваш блок данных.

не похож... или у нас разные исходники..


Да там пример от фонаря. Yuriy_S свой блок поставил конечно, не этот..

Кстати, Yuriy_S, выложите плс в гугл-диск или еще куда в файлообменник, свой дамп (с указанием модели ноута и батареи), А то я его так и не видел, не смог скачать с того. Поглядеть хотел, может мысль будет, и для коллекции. ))

Yuriy_S [ 26 ноя 2020, 17:01 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Alex_PP писал(а):
выложите плс в гугл-диск или еще куда в файлообменник

matroskin_kot писал(а):
выложите дампы которые образовались

Есть первые "результаты".
Поробуйте скачать:
https://drive.google.com/file/d/1MYYnKC ... sp=sharing
matroskin_kot писал(а):
61e-61f это дата первого включения а 7b0-7b1 дата изготовления

Alex_PP писал(а):
Не надо, там контрольная сумма, ее пересчитывать надо, иначе контроллер не примет их. И не влияют они на работу, поверьте. Разве что на параметры AltBattery, определяющие старение ячеек

Я думал это в динамической области...

matroskin_kot [ 26 ноя 2020, 19:04 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
Я думал это в динамической области...

да именно там и их можно изменить.

otus [ 26 ноя 2020, 19:47 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Обрисуйте подключение элементов разного формфактора.
Предохранителя два,а ключи заряд/разряд тоже есть на на каждой сборке?
Если разрядить батарею до отключения (самой батареей) отдельной нагрузкой,
то какие напряжения на ячейках по сборкам получаются ?
Я всегда сначала разряженные элементы ставил или сначала разряжал до
отключения батареей нагрузки,а потом смотрел что получалось с ёмкостью
после заряда и таких несколько циклов.
Леново надо не один цикл для калибровки
заряд разрядом после замены элементов на подобные.

Alex_PP [ 26 ноя 2020, 20:47 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Дата первого включения в динамической, а производства - в статической.
Но я не знаю, зачем ее менять, если батарея не заряжается, не в ней же дело.

На сообщение ниже.
Да, спасибо Yuriy_S, все нормально. Хотел пояснений, но файлик Read все с лихвой объяснил. ))
А, ну раз она у вас заряжалась, значит нет блокировки. Тогда проблема в параметрах.
А то я не разобрался, думал у вас блокировка.

Yuriy_S [ 26 ноя 2020, 20:50 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Архив нормально скачался?

matroskin_kot [ 26 ноя 2020, 21:31 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
Архив нормально скачался

какие ячейки заряжаются? 640 строка заряжается. надо определится где какая емкость.

Yuriy_S писал(а):
После прогона и остановки на 53% сборка в емкостью 2600 оказалась разряжена.

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

Alex_PP [ 26 ноя 2020, 21:52 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Вот 2 ссылки, там дампы прошивок Sanyo11, Lenovo, у вас 13. Но может пригодятся. Много общего в структуре с вашими.
Больше, пожалуй, мне помочь нечем.
https://drive.google.com/file/d/1QAQ9FM ... sp=sharing,
https://drive.google.com/file/d/1oM7P45 ... sp=sharing

Yuriy_S [ 26 ноя 2020, 22:07 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

matroskin_kot писал(а):
какие ячейки заряжаются? 640 строка заряжается. надо определится где какая емкость.

После прогона и остановки на 53% сборка в емкостью 2600 оказалась разряжена.
В 640 строку записана емкость 2350, она заряжена.
Вроде правильно все получается...

matroskin_kot [ 26 ноя 2020, 23:22 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S
00 00 0E A0 00 F0 00 00 00 00 07 7E A5 00 FF FF
48 43 FF FF DE FA 00 05 00 00 00 00 00 FF 3E 4F
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 0A 8C 00 F0 00 00 00 00 FF FF FF FF FF FF
30 3F FF FF E9 93 00 01 00 00 00 00 00 FF 03 0C

вот так попробуйтe

Yuriy_S [ 27 ноя 2020, 01:02 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Тут такое дело...
Я после того как слил последний дамп(0003), и измерил напряжение на банках, собрал батарею, воткнул в ноут, подключил зарядное, смотрю моргает желтым.
Ну, думаю все правильно, 53%, будет теперь пытаться зарядить (безуспешно).
И ушел из дому так и оставив.
Прошло часов шесть или больше, я вернулся, горит зеленым непрерывно...
Разобрал батарею, померил сборки, обе заряжены.
Сейчас запустил сброс в поверменеджере, посмотрим как пройдет.
matroskin_kot писал(а):
вот так попробуйтe

Там же емкость в 10mWh прописана, у меня сейчас в 600-й строке 3480, а в 640-й 3144, что в сумме дает ровно как в DesignCapacity: 6624 10mWh.
Есть смысл менять на 3744 и 2700 как вы предлагаете?

matroskin_kot [ 27 ноя 2020, 18:29 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
Есть смысл менять

емкости можете прописать какие Вам надо, я немного изменил 610 строку, может ошибся в блокировках для этой сборки, потому и заряда нет в ней.

по 0003 дампу видно что вторая сборка ожила, а первая заблокирована, 500 строка без изменений а 590 прописался дубль 640

Yuriy_S [ 27 ноя 2020, 19:12 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Изменения делаем в исходном дампе (0000) или в текущем?
И имеет ли значение уровень заряда сборок на момент изменений?

matroskin_kot [ 27 ноя 2020, 22:12 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
в текущем

только 610 строку

Yuriy_S [ 29 ноя 2020, 22:05 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

matroskin_kot писал(а):
только 610 строку

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

matroskin_kot [ 30 ноя 2020, 19:02 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Yuriy_S писал(а):
текущий и исходный дамп.

выложите последние

00 00 0E A0 00 F0 00 00 00 00 07 7E A5 00 FF FF
48 43 FF FF DE FA 00 05 00 00 00 00 00 FF 3E 4F

попробуйте 600-610 строки вот так прошить

Yuriy_S [ 01 дек 2020, 01:02 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

matroskin_kot писал(а):
00 00 0E A0 00 F0 00 00 00 00 07 7E A5 00 FF FF
48 43 FF FF DE FA 00 05 00 00 00 00 00 FF 3E 4F
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 0A 8C 00 F0 00 00 00 00 FF FF FF FF FF FF
30 3F FF FF E9 93 00 01 00 00 00 00 00 FF 03 0C

вот так попробуйтe


matroskin_kot писал(а):
00 00 0E A0 00 F0 00 00 00 00 07 7E A5 00 FF FF
48 43 FF FF DE FA 00 05 00 00 00 00 00 FF 3E 4F

попробуйте 600-610 строки вот так прошить

именно так и было прошито, согласно вашим рекомендациям выше...
Ну, кроме емкости.

Дампы с комментариями:
https://drive.google.com/file/d/13ninML ... sp=sharing

Alex_PP [ 01 дек 2020, 16:43 ]
Заголовок сообщения:  Re: Прошивка контроллера батарей ноутбука

Сорри, что вмешиваюсь. ))
Из вашего отчета:
...Батарея снова установлена в ноут, подключено зарядное устройство, но систему не загружаем.
Индикатор батареи мигает желтым, потом зеленым, потом стабильно зеленым, т.е. идет нормальный заряд.
После чего включаем ноут, и снова показывает 100%, и обе сборки полностью заряжены....

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

Страница 28 из 76 Часовой пояс: UTC + 4 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/