Страницы

суббота, 1 марта 2014 г.

Прошивка флэш AT25DF161 с помощью Bus pirate


В модулях DRE MPEG-4 от Триколор ТВ, используется память  AT25DF161-SH-T производства Atmel.

Итак, суть вопроса заключается в следующем - как в рекомендованных ресиверах для просмотра каналов Максимум HD, так и в нерекомендованных нынче CAM модулях DRE NKE MPEG-4 применен общий чип NKE-1 от 
компании Neotion. Данный чип позволяет обеспечить декодирование платных каналов, которые используют кодировку DRE-Crypt 3.0/ADEC при совместной работе с необходимой картой доступа. То есть во всем 
оборудовании, которое раньше применялось для открытия HD каналов, используется одно и тоже 
схемотехническое решение. И тут напрашивается закономерный вопрос - почему на одном оборудовании по- 

прежнему можно смотреть каналы, а на другом нет? 

Чип NKE-1 стандартно использует внешнюю память, в которую могут быть загружены инструкции, 
применяемые им для работы, и в целом благодаря этому можно поменять алгоритм функционирования, так сказать, использовать overcrypt. В результате чего, изначально CAM модули не были снабжены всеми инструкциями для кодировки DRE- Crypt 3.0/ADEC. А для рекомендованных ресиверов, в случае отсутствия в них таких инструкций, и было произведено обновление программного обеспечения через спутник. Таким образом, оператор Триколор ТВ умышленно отказался от обновления программного обеспечения своих CAM модулей, которые поддерживают такую возможность, и назвал их попросту вкратце - нерекомендованным оборудованием. Так как Триколор ТВ после бесплатного тестирования своих HD каналов, входящих в пакет 
Максимум HD (Триколор Full HD), на CAM модулях не столкнулся с существенными проблемами, то и воплотил в дальнейшем это решение в своих рекомендованных моделях ресиверов без существенного изменения схемотехники. Соответственно и команды, применяемые для декодирования телеканалов в новой модификации 
кодировки DRE-Crypt 3.0/ADEC, могут применяться как на CAM модулях DRE NKE MPEG-4, так и на рекомендованных ресиверах. В результате чего, после недолгих манипуляций с внутренним софтом (дампами) для CAM модулей, появилась их новая модификация от народных умельцев. 
В настоящее время выложены дампы памяти для CAM модулей версий 4010 и 4020, которые в свое время продавались совместно с картами доступа Триколор ТВ - 23 и 24 серий. Для изменения программного обеспечения нужно аккуратно вскрыть корпус модуля, извлечь из него плату, при помощи термофена снять микросхему флеш памяти - Atmel AT25DF161, прошить ее новым дампом на программаторе и после установки 
ее на плату, собрать все в обратной последовательности. Дампы памяти для CAM модулей DRE NKE MPEG-4 
можно встретить уже на многих специализированных интернет- ресурсах, занимающихся обсуждением данного вопроса. В случае, если вы не можете проделать эти манипуляции, то можно поискать специалиста, который окажет помощь или поменять свой модуль на уже модифицированный, попросту оплатив разницу за работу. 
Продаваемые совместно с CAM модулем карты доступа 23 и 24 серии Триколор ТВ имели ограниченные подписки на предоставляемые оператором сервисы. То есть в них изначально и не планировалась работа 
отдельной подписки на HD телеканалы. Это можно было установить давно, когда пользователи таких карт пытались официально оформить подписку на пакет телеканалов Максимум HD, но оператор по номеру DRE ID карты сразу заворачивал все эти попытки и они заканчивались попросту неудачей. После завершения 
тестового вещания каналов в высокой четкости, Триколор ТВ моментально произвел изменение класса подписки для их просмотра и все карты из CAM модулей попросту не могут их больше открывать, даже если использовать такие карты в рекомендованных оператором ресиверах. Сейчас, данную проблему можно решить довольно просто - приобретается самый недорогой, но рекомендованный Триколор ТВ спутниковый ресивер совместно с 
картой доступа для просмотра пакета Максимум HD. Например, можно остановиться на модели GS 8305, и не важно, что этот ресивер по работе имеет негативные отзывы. После чего производится официальная регистрация оборудования с активацией карты доступа, которая в дальнейшем извлекается из приемника и он 
убирается в надежное место хранения. Далее такая карта доступа устанавливается в модифицированный CAM модуль доступа и используется на любимом спутниковом ресивере. 

Итак, для прошивки была куплена микросхема  AT25DF161 в SO-8 корпусе. Старую сдуваем феном, и новую подключаем к Bus pirate. В принципе можно сдуть старую, ее прошить и запаять обратно.
Самое главное, длина проводов от Bus pirate до микросхемы, должна быть не более 10см.

Bus pirate     AT25DF161 pins
1. CS              CS
2. MISO          DO
3. MOSI          DIO
4.SCK            CLK
5.+3.3            VCC
6.+3.3            HLD
7. GND          GND

Для очистки памяти, нужно пин микросхемы WP подключить на землю (GND). Для записи памяти пин микросхемы WP подключаем на VCC.
Далее идем на http://flashrom.org/Flashrom и качаем утилиту, для прошивки памяти. Данная утилита поддерживает Bus pirate, и с ее помощью он превращается в программатор. Утилита поддерживает очень много микросхем памяти, более полный список содержится тут : http://flashrom.org/Supported_hardware 

Лог очистки памяти:
================
flashrom v0.9.6.1-r1704 on Windows 6.1 (x86)
flashrom was built with GCC 4.7.2, little endian
Command line (7 args): flashrom.exe -p buspirate_spi:dev=COM12 -VE -c AT25DF161 -o write_e.txt
Calibrating delay loop... OS timer resolution is 1000 usecs, 2185M loops per second, 10 myus = 0 us, 100 myus = 0 us, 1000 myus = 1000 us, 10000 myus = 10001 us, 4000 myus = 4000 us, OK.
Initializing buspirate_spi programmer
Baud rate is 115200.
Detected Bus Pirate hardware v4
Detected Bus Pirate firmware 6.2 ("v6.2-beta1")
Using SPI command set v2.
SPI speed is 8MHz
Raw bitbang mode version 1
Raw SPI mode version 1
The following protocols are supported: SPI.
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4602
Found Atmel flash chip "AT25DF161" (2048 kB, SPI) on buspirate_spi.
Ignoring security lockdown (if present)
Ignoring status register byte 2
Chip status register is 0x0c.
Chip status register: Sector Protection Register Lock (SRPL) is not set
Chip status register: Bit 6 is not set
Chip status register: Erase/Program Error (EPE) is not set
Chip status register: WP# pin (WPP) is asserted
Chip status register: Software Protection Status (SWP): all sectors are protected
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
===
Ignoring security lockdown (if present)
Some block protection in effect, disabling... disabled.
Erase/write done.
Raw bitbang mode version 1
Bus Pirate shutdown completed.


Лог чтения памяти для дальнейшего сравнения и верификации:
================
flashrom v0.9.6.1-r1704 on Windows 6.1 (x86)
flashrom was built with GCC 4.7.2, little endian
Command line (8 args): flashrom.exe -p buspirate_spi:dev=COM12 -Vr read_CAM-4020.bin -c AT25DF161 -o read_vr.txt
Calibrating delay loop... OS timer resolution is 1000 usecs, 2158M loops per second, 10 myus = 0 us, 100 myus = 0 us, 1000 myus = 1000 us, 10000 myus = 11001 us, 4000 myus = 4000 us, OK.
Initializing buspirate_spi programmer
Baud rate is 115200.
Detected Bus Pirate hardware v4
Detected Bus Pirate firmware 6.2 ("v6.2-beta1")
Using SPI command set v2.
SPI speed is 8MHz
Raw bitbang mode version 1
Raw SPI mode version 1
The following protocols are supported: SPI.
Probing for Atmel AT25DF161, 2048 kB: probe_spi_rdid_generic: id1 0x1f, id2 0x4602
Found Atmel flash chip "AT25DF161" (2048 kB, SPI) on buspirate_spi.
Ignoring security lockdown (if present)
Ignoring status register byte 2
Chip status register is 0x1c.
Chip status register: Sector Protection Register Lock (SRPL) is not set
Chip status register: Bit 6 is not set
Chip status register: Erase/Program Error (EPE) is not set
Chip status register: WP# pin (WPP) is not asserted
Chip status register: Software Protection Status (SWP): all sectors are protected
Chip status register: Write Enable Latch (WEL) is not set
Chip status register: Write In Progress (WIP/BUSY) is not set
===
Ignoring security lockdown (if present)
Some block protection in effect, disabling... disabled.
Reading flash... done.
Raw bitbang mode version 1
Bus Pirate shutdown completed.
========================

Память на плате, ее сдуваем феном.
Прошиваем 

Примеряем на плату

Запаиваем