Программатор параллельных и последовательных!!! флеш из CD/DVD привода

Началось все это с того, что как-то от скуки я пытался заставить работать нормально комбо-привод LiteOn LTC-48161H
(микросхемы mt1628e & mt1616e).
После пары сборок-разборок всякое желание себя и привод насиловать отпало, проблема явно находилась в механике/лазере.

Взгляд по привычке упал на микросхему биос привода : опаньки, да это же аж 4-х мегабитная параллельная флеш! W29C040.:)

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

Плата электроники была бешчеловешно выдрана из привода, флеш была выпаяна, вместо нее запаян сокет PLCC32. Все это дело было наспех скреплено с куском тонкого поролона, замотано в два слоя широким скотчем, и обрело способность спокойно находиться на металлической поверхности.
Но как всегда замотала текучка, плата была успешно закинута на полку со всяким барахлом, и бог знает сколько бы еще пролежала, но (тоже наверно бог) послал очередной номер журнала "Chip", который обычно листается между перекурами как книжка с картинками.
На этот раз журнал оказался полезен - в конце была небольшая заметка про утилиту для прошивки оптических приводов, в которой описывался совет оживления и софтина для приводов, по разным причинам, убитых утилитами обновления прошивки.

Про текучку было успешно забыто. :)

Программа-прошивальщик ( mtkflash ) была потырена с прилагаемого к журналу диска, и пущена в дело.

Использовались все лежащие в заначке параллельные 2х,4х-мегабитные микросхемы флеш в корпусе PLCC32
(a290021tl-70; en29f002nt; w29c040p-70b; sst39sf020a;w49f002up12b).

Итого :

1. a290021tl-70; en29f002nt; w29c040p-70b; sst39sf020a - прошиваются;
2. w49f002up12b - не хотит; судя по даташитам, у нее нога нумеро 1 -это RESET, что не стыкуется с разводкой под 4мбит флеш ( там A18).
Имхо, должно лечиться установкой тумблера на два положения. wink

P.S. Зреет желание сваять на досуге переходник PLCC32-DIP32. 8)

LKA Большое спасибо за ответ, куплю - отпишусь.

ГЛАВНОЕ - НЕНАВРЕДИ!!!

1. а на контроллерах СД
- с МС MT1199E 4Mbit шиться будт? (от ACER BENQ-652A
- от CREATIV (ммм, модель не помню, корпус потерян, но та что с ДУ) МС: OTI912 (by oki)
2 нужна ли сама исходная флешка для акта прошивки? или только хот свап?

и чем прошиваете таки?

...была Тьма. зажги свечу.... и появились Тени...

Аватар пользователя Cyrix

Озаботился сегодня вопросом на чём бы зашить 4х мегабитку........
Вспомнил про эту тему. Откопал полуживой TEAC DW-548D.
Вот что у меня получилось:

[img][650:500]cyrix.newmail.ru/PRT548D.JPG[/img]

Читал / писал прямо из под винды ХР mtkflash-ем 1.55, предварительно отключив в диспетчере устройств вторичный канал IDE, на который повесил "програматор" и открыл прямой доступ к портам 170-177h , 370-37Fh UserPort-ом.
MtkWinFlash 1.5.3.3 нормально работать отказался - верно определил флешку, но повис в конце процесса записи. Перетыкнул питание "програматора" и прочитал флешку - там оказалась большая куча мусора:)

Аватар пользователя Sheriff

А если лить прошивку родным от сидюка прошивальщиком? Возможно придётся пробовать hotswap roll , что говорит?

Добавлено спустя 4 минуты 19 секунд:

... и по ходу надо сравнить даташит того что стоит родное в панельке/просто стоит с тем, что надо прошить, м/б существенная разница, поэтому и не работает...

... дорогу осилит идущий, если есть верный друг, отличный конь, толковый мудрец и цель...

Тема-то ,оказывается,жива.
Тогда и я подброшу немного инфы(вроде не было)
MT1199E-поножевщина и описалово(краткое):
НТТП://136.166.4.200/contents/Files/ PC/Optical/CRD-8485B/CRD-8485B_service.pdf
MT1501e contents/Files/PC/Optical/GCE-8160B/

Вообще много инфы

Привод CD-RW/DVD-ROW LG GCC-4521B :)

Перепрошил биос данного привода...неудачно... как следствие привод не определяется. Можно как нибудь восстановить данный привод roll

p.s. Новичек..., заранее благодарен.

Кто нибудь собирал программатор из CD-RW TEAC CD-W552E?
Там стоят MT1518E, MT1516E, W29C040P-70B, плата от ASUS CRW-5224A/L REV: 1.01.
MTKFlash не опознаёт даже свою флэшку, там 31 ножка WE у флэшки висит в воздухе, типа Write protect.
К какой ножке её надо подсоединить?

Аватар пользователя R_Soft

b0bf писал(-а):
Тогда и я подброшу немного инфы(вроде не было)

В ветке по ремонту матплат данный ресурс уже находили. В этом топике.

Цитата:
лыжный ресурс с сервисмануалами на бытовуху и оптические приводы.

Партизан подпольной луны aka (R)soft

Так как никто не отвечает, стал изучать печатную плату и эксспериментировать.
Обнаружил отсутствие четырёх резисторов, на место R106 установил перемычку и MTKFlash стал определять родную флэшку.
Поставил кроватку и стал прошивать, в итоге:
AT49F002NT-70JC
SST 39SF020A-70
SST 39SF020-90
SST 39SF040-70
W29C040P-70B
EN29F002NT-70J - ПРОШИВАЮТСЯ НОРМАЛЬНО
W49F002UP12B определяется неправильно, как SST 25VF040 и не прошивается, поставил переключатель на 1-ю ножку и она стала прошиваться.

Аватар пользователя R_Soft

zixel5 писал(-а):
Обнаружил отсутствие четырёх резисторов, на место R106 установил перемычку и MTKFlash стал определять родную флэшку.

Для чистоты эксперимента приведем фото. Как я понял, запаяна перемычка на место, обведенное красным:

[img][650:351]rsoft.on.rom.by/Photo/Teac_CD-W524E_BOT.jpg[/img]

zixel5 писал(-а):
Поставил кроватку и стал прошивать, в итоге:
AT49F002NT-70JC
SST 39SF020A-70
SST 39SF020-90
SST 39SF040-70
W29C040P-70B
EN29F002NT-70J - ПРОШИВАЮТСЯ НОРМАЛЬНО

Поздравляю! Неплохо.:)

zixel5 писал(-а):
W49F002UP12B определяется неправильно, как SST 25VF040 и не прошивается, поставил переключатель на 1-ю ножку и она стала прошиваться.

На фото обведен красным незапаянный резистор R115 на первой ноге флеши:

Т.е. Вы поставили переключатель вместо R115?

К чему такие подробности? Думаю, что другим пригодится такой программатор.;) И ещё неплохо бы добавить инфу по версии MTKFlash и ссылку. В моих тулзах последняя версия "MTKFLASH by Joseph Lin, MTK 1998 (Ver 1.83c)".

Самое интересное то, что в списке поддерживаемых флешей есть и несколько сериальных. Непобоюсь привести весь список (файл MTKFLASH.TYP) поддерживаемых флешей версии 1.83C:

Цитата:

0x00 0x01 WRT_SERIAL 0x80000 0x1000 "SST(SST25VF040)(Serial)"
0x00 0x02 WRT_SERIAL 0x80000 0x10000 "ST(M25P40V6)(Serial)"
// 16M-bit (2M bytes)
0xC2 0x49 WRT_JEDEC 0x200000 0x2000 "MXIC(MX29LV160(A)B)(+3.0V)"
0xC2 0xC4 WRT_JEDEC 0x200000 0x2000 "MXIC(MX29LV160(A)T)(+3.0V)"
// 8M-bit (1024K bytes)
0xBF 0xD8 WRT_JEDEC 0x100000 0x10000 "SST(SST39LF/VF080)(+3.3V)"
0xC2 0x38 WRT_JEDEC 0x100000 0x10000 "MXIC(MX29LV081)(+3.3V)"
0xC2 0x3E WRT_JEDEC 0x100000 0x2000 "MXIC(MX29LV008T)(+3.3V)"
0xC2 0x37 WRT_JEDEC 0x100000 0x2000 "MXIC(MX29LV008B)(+3.3V)"
0x01 0x3E WRT_JEDEC 0x100000 0x2000 "AMD(AM29LV008BT)(+3.3V)"
0x01 0x37 WRT_JEDEC 0x100000 0x2000 "AMD(AM29LV008BB)(+3.3V)"
0x04 0x5B WRT_JEDEC 0x100000 0x2000 "FUJI(MBM29LV800BA)(+3.3V)"
0x1F 0x21 WRT_JEDEC 0x100000 0x2000 "ATMEL(AT49BV/LV008AT)(+3.3V)"
0xC2 0xDA WRT_JEDEC 0x100000 0x2000 "MXIC(AM29LV800T/AT)(+3.0V)"
0xC2 0x5B WRT_JEDEC 0x100000 0x2000 "MXIC(AM29LV800B/AB)(+3.0V)"
0x37 0x9B WRT_JEDEC 0x100000 0x2000 "AMIC(A29L800B)(+3.0V)"
0x37 0x1A WRT_JEDEC 0x100000 0x2000 "AMIC(A29L800T)(+3.0V)"
0x7F 0x21 WRT_JEDEC 0x100000L 0x1000 "ACTRANS(AC39VF080)(+3.0V)"
0x20 0x5B WRT_JEDEC 0x100000 0x10000 "ST(M29W800)(+3.0V)"
// 4M-bit (512K bytes)
0xAD 0xA4 WRT_JEDEC 0x80000 0x10000 "HYNIX(HY29F040)(+5.0V)"
0x37 0x34 WRT_JEDEC 0x80000 0x2000 "AMIC(A29L004T)(+3.3V)" // Top Boot Block
0x37 0xB5 WRT_JEDEC 0x80000 0x2000 "AMIC(A29L004U)(+3.3V)" // Bottom Boot Block
0x37 0x86 WRT_JEDEC 0x80000 0x10000 "AMIC(AM29040A)(+5.0V)"
0x1F 0x13 WRT_JEDEC 0x80000 0x4000 "ATMEL(AT49F040)(+5.0V)"
0x1F 0x12 WRT_JEDEC 0x80000 0x4000 "ATMEL(AT49BV/LV040T)(+3.3V)"
0x1C 0x04 WRT_JEDEC 0x80000 0x10000 "EON(EN29F040)(+5.0V)" // ManuID(000h) = 0x7F DevID(000h) = 0x7F
0x7F 0xAE WRT_JEDEC 0x80000 0x400 "IMT(IM29F004B)(+5.0V)" // Bottom Boot Block
0x7F 0xAF WRT_JEDEC 0x80000 0x400 "IMT(IM29F004T)(+5.0V)" // Top Boot Block
0x8C 0x4F WRT_JEDEC 0x80000 0x400 "EFST(F49L040A)(+3.0V)" // Top Boot Block
0xC2 0xB6 WRT_JEDEC 0x80000 0x2000 "MXIC(MX29LV004B)(+3.3V)" // Bottom Boot Block
0x04 0xB6 WRT_JEDEC 0x80000 0x2000 "Fuji(MBM29LV004BC)(+3.3V)" // Bottom Boot Block
0xC2 0xB5 WRT_JEDEC 0x80000 0x2000 "MXIC(MX29LV004T)(+3.3V)" // Top Boot Block

0xC2 0x4F WRT_JEDEC 0x80000 0x10000 "MXIC(MX29LV040)(+3.3V)"
0xC2 0xA4 WRT_JEDEC 0x80000 0x10000 "MXIC(MX29F040)(+5.0V)"
0xC2 0x46 WRT_JEDEC 0x80000 0x2000 "MXIC(MX29F004B)(+5.0V)" // Bottom Boot Block
0xC2 0xB9 WRT_JEDEC 0x80000 0x2000 "MXIC(MX29LV400T)(+3.3V)"
0xC2 0xBA WRT_JEDEC 0x80000 0x2000 "MXIC(MX29LV400B)(+3.3V)"
0xBF 0xD7 WRT_JEDEC 0x80000 0x1000 "SST(SST39LV/VF040)(+3.3V)"
0xBF 0xB7 WRT_JEDEC 0x80000 0x1000 "SST(SST39SF040)(+5.0V)"
0xBF 0x87 WRT_JEDEC 0x80000 0x1000 "SST(SST39VF040)(+3.3V)"
0x20 0xEF WRT_JEDEC 0x80000 0x2000 "ST(M29W400BB)(+3.3V)"
0x9D 0x3E WRT_JEDEC 0x80000 0x1000 "PMC(PM39LV040)(+3.0V)"
0xDA 0x46 WRT_ATMEL 0x80000 0x100 "WINBOND(W29C040)(+5.0V)"
0xDA 0xB6 WRT_JEDEC 0x80000 0x10000 "WINBOND(W39L040)(+3.3V)"
0x9D 0x4E WRT_JEDEC 0x80000 0x1000 "PMC(PM39F040)(+5.0V)"
0x1C 0x4F WRT_JEDEC 0x80000 0x10000 "EON(EN29LV040)(+3.3V)"
0x37 0x92 WRT_JEDEC 0x80000 0x10000 "AMIC(A29L040)(+3.0V)"
// 2M-bit (256K bytes)
0x37 0x8C WRT_JEDEC 0x40000 0x2000 "AMIC(A29002L)"
0x37 0x0D WRT_JEDEC 0x40000 0x2000 "AMIC(A29002U)"
0x1F 0x07 WRT_JEDEC 0x40000 0x2000 "ATMEL(AT49F002(N))" // Bottom Boot Block
0x1F 0x08 WRT_JEDEC 0x40000 0x2000 "ATMEL(AT49F002(N)T)" // Top Boot Block
0x8C 0x00 WRT_JEDEC 0x40000 0x2000 "EFST(F49B002UA)"
0x1C 0x92 WRT_JEDEC 0x40000 0x2000 "EON(EN29F002/EN29F002NT)" // ManuID(000h) = 0x7F DevID(000h) = 0x7F
0x1C 0x97 WRT_JEDEC 0x40000 0x2000 "EON(EN29F002/EN29F002NB)" // ManuID(000h) = 0x7F DevID(000h) = 0x7F
0xAD 0xB0 WRT_JEDEC 0x40000 0x10000 "HYUNDAI(HY29F002T)" // Top Boot Block
0x7F 0xA1 WRT_JEDEC 0x40000 0x200 "IMT(IM29002T)" // Top Boot Block
0x7F 0xA2 WRT_JEDEC 0x40000 0x200 "IMT(IM29002B)" // Bottom Boot Block
0x7F 0xAF WRT_JEDEC 0x40000 0x200 "MOSEL(V29C51002T)/SYNCMOS(F29C51002T)" // Top Boot Block
0x40 0x02 WRT_JEDEC 0x40000 0x200 "MOSEL(V29C51002T)/SYNCMOS(F29C51002T)" // Top Boot Block
0x40 0xA2 WRT_JEDEC 0x40000 0x200 "MOSEL(V29C51002B)/SYNCMOS(F29C51002B)" // Bottom Boot Block
0xC2 0xB0 WRT_JEDEC 0x40000 0x2000 "MXIC(MX29F002T)" // Top Boot Block
0xC2 0x34 WRT_JEDEC 0x40000 0x2000 "MXIC(MX29F002B)" // Bottom Boot Block
0x9D 0x1D WRT_JEDEC 0x40000 0x20000 "PMC(PM29F002T)" // Top Boot Block
0xBF 0xB6 WRT_JEDEC 0x40000 0x1000 "SST(SST39SF020)"
0xBF 0xD6 WRT_JEDEC 0x40000 0x1000 "SST(SST39VF020)"
0xDA 0x0B WRT_JEDEC 0x40000 0x20000 "WIBOND(W49F002U)"
0xDA 0x45 WRT_ATMEL 0x40000 0x80 "WINBOND(W29C020CP)"
0xDA 0xB5 WRT_JEDEC 0x40000 0x1000 "WINBOND(W39L020)"
0x01 0x34 WRT_JEDEC 0x40000 0x1000 "AMD(AM29F002BB)"
0x9D 0x3E WRT_JEDEC 0x80000 0x1000 "PMC(PM39LV020)(+3.0V)"
0x9D 0x4D WRT_JEDEC 0x80000 0x1000 "PMC(PM39F020)(+5.0V)"
// 1M-bit (128K bytes)
0x01 0x6E WRT_JEDEC 0x20000 0x4000 "AMD(AM29LV010)"
0x01 0x20 WRT_JEDEC 0x20000 0x4000 "AMD(AM29F010)/NEX(NX29F010)"
0x01 0xED WRT_JEDEC 0x20000 0x1000 "AMD(AM29LV001BT)"
0x01 0x6D WRT_JEDEC 0x20000 0x1000 "AMD(AM29LV001BB)"
0x9D 0x1C WRT_JEDEC 0x20000 0x1000 "PMC(PM39LV010R)"
0x37 0xA1 WRT_JEDEC 0x20000 0x1000 "AMIC(A29001/290011)"
0x37 0x4C WRT_JEDEC 0x20000 0x1000 "AMIC(A29001/290011U)"
0x1F 0xD5 WRT_ATMEL 0x20000 0x80 "ATMEL(AT29C010A)"
0x1F 0x05 WRT_JEDEC 0x20000 0x2000 "ATMEL(AT49F001N)" // Bottom Boot Block
0x1F 0x04 WRT_JEDEC 0x20000 0x2000 "ATMEL(AT49F001NT)" // Top Boot Block
0x40 0x01 WRT_JEDEC 0x20000 0x200 "MOSEL(V29C51001T)/SYNCMOS((F29C51001T)" // Top Boot Block
0x40 0xA1 WRT_JEDEC 0x20000 0x200 "MOSEL(V29C51001B)/SYNCMOS((F29C51001B)" // Bottom Boot Block
0xC2 0x18 WRT_JEDEC 0x20000 0x1000 "MXIC(MX29F001T)" // Top Boot Block
0xC2 0x19 WRT_JEDEC 0x20000 0x1000 "MXIC(MX29F001B)" // Bottom Boot Block
0xBF 0x01 WRT_JEDEC 0x20000 0x1000 "SST(SST27SF010)"
0xBF 0x07 WRT_ATMEL 0x20000 0x80 "SST(SST29EE010)"
0xBF 0xD5 WRT_JEDEC 0x20000 0x1000 "SST(SST39VF010)"
0xBF 0xB5 WRT_JEDEC 0x20000 0x1000 "SST(SST39SF010)"
0x7F 0xA0 WRT_JEDEC 0x20000 0x200 "IMT(IM29001T)" // Top Boot Block
0x7F 0xA3 WRT_JEDEC 0x20000 0x200 "IMT(IM29001B)" // Bottom Boot Block
0xDA 0xC1 WRT_ATMEL 0x20000 0x80 "WINBOND(W29C011A)"
0xDA 0x06 WRT_ATMEL 0x20000 0x80 "WINBOND(W29EE011P)"
0xDA 0xA1 WRT_JEDEC 0x20000 0x1000 "WINBOND(W39F010)"
0x20 0x20 WRT_JEDEC 0x20000 0x4000 "ST(M29F010B)"
0x1C 0x20 WRT_JEDEC 0x20000 0x4000 "EON(EN29F010)"
0x9D 0x4C WRT_JEDEC 0x80000 0x1000 "PMC(PM39F010)(+5.0V)"
// 512K-bit (64K bytes)
0x1F 0x03 WRT_JEDEC 0x10000 0x10000 "ATMEL(AT49F512)"
0x1F 0x5D WRT_ATMEL 0x10000 0x80 "ATMEL(AT29C512)"
0x1F 0x3D WRT_ATMEL 0x10000 0x80 "ATMEL(AT29LV512)"
0xC2 0x17 WRT_JEDEC 0x10000 0x1000 "MXIC(MX29F512T)"
0xBF 0x5D WRT_ATMEL 0x10000 0x80 "SST(SST29EE512)"
0xBF 0xB4 WRT_JEDEC 0x10000 0x1000 "SST(SST39SF512)"
0xBF 0xD4 WRT_JEDEC 0x10000 0x1000 "SST(SST39VF512)"
0xDA 0xC8 WRT_ATMEL 0x10000 0x80 "WINBOND(W29C512A/W29EE512)"
0x1C 0x21 WRT_JEDEC 0x10000 0x80 "EON(EN29F512)"
0xf6 0x56 WRT_JEDEC 0x10000 0x10000 "WINBOND(W27E512)"
// Unknown Type
0xFF 0xFF WRT_ATMEL 0x80000 0 "Unknown Flash Memory"

В общем интерес представляют не только параллельные, но и сериальные флеши. Интересно, эта плата, а конкретно MT1518E поддерживает сериальные флеши? Если бы это разузнать/раскопать, то получился бы очень даже неплохой программатор.:)

Партизан подпольной луны aka (R)soft

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей