Решил я развеять слухи о том что зыза 3000 преходит в сервисный режим с порта USB. Во первых, что бы активировался порт USB должен стартануть ЦП..., а он ну ни как не может это сделать на брикнутой консоли Далее я просто зацепил крутой осциллограф к среднему выводу батарейки пандора и воткнул её в 3000 брик и записал их разговор. Известно, что со старой батарейкой 3000 не стартует....но ....смотрите сами http://www.youtube.com/watch?v=T4mQofU37sg, что записал осциллограф. Короче зыза общается с батарейкой упорно на предмет получения ключика для перехода в сервисмод. Делаем выводы....нужен ключик для перевода 3000 в сервис мод, но, он не FFFFFFFF.....а какой? какие будут предложения по подбору ключика? Кто силён в написании прог под винду. Нуно сварганить прогу что бы она по USB через микруху МАХ232 эмулировала флешку батарейки ....со всеми вытекающими последствиями. А точнее сгенерила ключик и дала команду электронному ключу на вкл батарейки....посмотрели... нет сервисмод у 3000....отключаем батарейку...генерим новый ключик ...и так далее до победного конца. Кто готов написать такую прогу? Электронную начинку я беру на себя .
Boryan добавил 20-04-2010 в 11:33
народ давай подтягивайтесь в тему. неужели не интересно мозгами поработать? Мои мысли по поводу батарейки для 3000....что могли в ней изменить Сони? Применить другой ключик...слишком просто...перебрать 4 байта учитывая что код только может быть типа 0хAA AA AA AA или 0хАВ АВ АВ АВ, это не сложно. Это не в правилах Сони...уж если рубить концы, то конкретно. Я думаю что они тупо увеличили код до 8 байт, и он так и остался 0хFF FF FF FF FF FF FF FF. Что это даёт? Во первых, процессор стандартной батарейки не может дать зызе код длиннее 4 байт, а вот их специальная батарейка может выдать код длинной 8 байт. В итоге... и волки сыты и овцы целы... Мужики, подумал я тут и понял эмулировать флешку батарейки пока рано. Нужно написать прогу снифер под винду, ну типа писать протокол обмена с батарейкой. Записать один протокол с 2000 а второй с 3000, и сравнить команды запроса на серийник, если они одинаковые то возможно ключик так и остался 4 байта, и тогда перебор нам поможет. А вот если разные...то нужно думать как заставить батарейку выдать 8 байт.....или тупо заставить прогу снифер поработать за батарейку и отвечать за неё ...ведь если будет записан протокол, то что нам составит труда выплюнуть его обратно с нужным нам ключиком?
Код Описание Данные Ответ от батареи Примечание
0x01 запрос оставшегося заряда нет energyleft_mAh:u16
0x02 запрос температуры нет temperature:u8 cercius degree, min/max value unknown
0x03 запрос напряжения нет voltage_mV:u16
0x04 запрос тока нет current_mA:short positive if charging battery
0x07 запрос ёмкости нет capacity_mAh:u16
0x09 запрос оставшегося времени нет timeleft_min:u16 XMB showing not this value
0x0c запрос серийного номера нет serialno:u32 suspected
0x80 запрос аутентификации? 9byte 16byte encrypted data/reply
0x81 запрос аутентификации? 8byte 8byte encrypted data/reply
0x05 ответ от батареи нет NAK, BCC error and so on??
0x06 ответ от батареи да ACK, with reply data
А если использовать встроенный в Винду ком монитор? И кабель от телефона на PL2303 проблема правда в том что интерфейс СОМ порта испоьзует минимум 2 сигнала Rx Tx. А у батарейки 1 вывод кажется работает по шине I2c... Нужен переходник...
это конечно можно....но думаю проще знающему чело написать прогу снифер....жаль что ни кто не желает этого сделать....Я тут тупо сижу серийники на батарейке меняю ...ну типа ищу иголку в стогу сена....но сдаётся мне ключик не 4 байта...
Boryan, ну не верю я, что для перевода в сервисный режим нужно только правильный серийник подобрать. Не верю! Сони уже раз попалилась с этим и я думаю более кардинально навернула защиту. Только сменить серийник - смешно, та же дател уже давно бы забрутила.
А вообще тема интересная, хоть и немножко бессмысленая.
Для того чтобы написать прогу необходимо знать по какому интерфейсу общается псп и батарея (есть ли фото разобраной батареи, может там есть какие-то маркировки? свою ковырять желания нет) и частоту с какой они общаются (это ты можешь замерить).
Если там UART, а скорей всего так и есть, то все просто: подключаемся посередине, читаем от псп - передаем батарее и наоборот, не забывая все запоминать . Если там нормальная защита и учитываются таймауты, можем обламаться. dimon-dlx, наличие двух проводников для rx и tx вовсе не обязательно. Можно и по одному гонять через стартовые биты. Во многих устройствах, где известен порядок передачи данных так и делают.
Последний раз редактировалось Klerikus; 20.04.2010 в 14:59.
Klerikus, а я уверен что дело только в серийнике сейчас я аппаратно ковыряю две матери TA88V3 и TA90.....разница только в одной микросхеме контроллере питания. Маркировка MB44C015 в TA88V3 и MB44C018 в TA90 функционально и схемотически обе микрухи одинаковые....изменён размер корпуса и распиновка...ну это понятно что бы не заменили одну на другую. Эти микрухи отвечают за всё питание зызы...они же подключены к среднему выводу батарейки и секут код и в соответствии с кодом включают разные комбинации питания. Эти микрухи управляют Ключами питания коих дофига в зызе....на TA88 в сервисном режиме часть ключей питания молчит....это проц воспринимает как переход в сервисный режим. Так что всё дело в микрухе контроллера питания....что могла сони изменить в новом контроллере? только длину ключа или сам ключик....других вариантов я не вижу
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Последний раз редактировалось Klerikus; 20.04.2010 в 17:14.
Boryan, сейчас вот подумал: берем free serial monitor вешаем Rx com-порта компа на средний провод и землю, запускаем FSM и hyperterminal подсоединяем батарею и слушаем. Кто что кому говорил прийдется самому разбираться, но можно сразу увидеть одинаково ли общаются разные версии мат.плат с батареями.
Разное питание на ножках BOOT0 и BOOT1 обычно переключает откуда стартовать код. По крайней мере для микроконтроллеров именно так(не знаю есть ли такие ножки у проца псп). А вот в этом "стартовом коде" просто обязаны быть дополнительные проверки и защиты.
Если бы их не было бы, то можно было подать вручную нужные напряжения и было бы нам счастье. И перепаять контроллер питания можно было бы несмотря на разные распиновки и размеры корпуса. Подпаяться правильно всегда можно и все бы работало.
Не знаю что может эта программа (лом качать пробовать),
но замечу, что мониторить ком недостаточно,
что бы в буфере ком что то было надо делать чтение ком,
и это не все , что бы правильно читать надо знать скорость,битность,четность... (хотя это осциком можно вычислить).
Последний раз редактировалось lport3; 21.04.2010 в 01:41.
А что если на более низком уровне ввести ROM в сервисный режим либо попросту обнулить его и установить прошивку скажем 5.03? Ведь насколько я понимаю у любого контроллера или микросхемы памяти есть возможность обнуления. Опираюсь на знаниях AVR и PIC
Продолжаю аппаратно изучать 3000.....залез глубоко..и обнаружил что я ошибался, контроллер питания тут вообще не причём. За всё отвечает маленькая микруха типа системного контроллера. Она занимается опросом кнопок и джойстиков, зажиганием светодиодов, выдаёт на ЦП нужные тайминги, в ней зашиты часы зызы, и самое интересное с батарейкой разговаривает именно она по двум ножка Rx и Tx. Ну есно далее в мелкой схемке Rx и Tx объединены в один провод идущий к батарейке.... А по Tx ещё помимо запросов к батарейке, говорит контроллеру питания что ему делать. Она и сечёт код пришедший с батарейки...если с батарейки идёт код не FF или 00 (пандоровский) то один запрос к батарейке и один ответ от неё и контроллер питания готов к старту. А вот если на запрос идёт ответ пандоры...то запросы повторяются несколько раз....типа ей на хватает 4 байт от пандоры и она ждёт дополнения и посему вновь посылает запросы....ну и не дождавшись ответа даёт команду на блокировку контроллера питания. ну вот как то так....ТА90 короче видит и различает коды пандоры....но они для неё короткие....мало 4 байта ей...
как запрашивает она я не знаю по осцилу не отследишь....но все коды кроме 0хFFFFFFFF и 0х00000000 для неё обычный серийник и на запрос получив ответ отличный от них хоть на один байт, запросов больше не посылает и переводит контроллер питания в дежурный режим. А вот если получает 4 байта от кода пандоры то посылает новые запросы и не дождавшись нужного ответа блокирует контроллер питания наглухо. Это можно и тупо проверить на 3000 вставив пандору в неё вы ни каким образом не включите зызу...потому как котроллер питания заблокирован
Yoti, Ок но только завтра...сёня уже с ног валюсь...башка пухнет от инфы которую её переваривать нужно...устал чутка...Но согласись тема интересная Есть где поковырять...пусть предыдущая в тупик упёрлась... но было интересно А вдруг тут повезёт