Встроенный CAM Dragon в ресивере DSR-8500 Premium:
перешивка & ввод ключей в CAM с пульта.


    Дело в том, что данный модуль перешивается только при помощи т.н. "Dragon Loader Card". Что это такое? Да ничего особенного, это просто кусочек пластика с нанесённым на нём рисунком и с электроникой внутри :) Если серьёзно, то это совершенно обычная FUN-карта, отличающаяся от всех остальных FUN-карточек только объёмом находящейся в ней ExtEEPROM (внешней) памяти, которой 2 банка по 1024 килобита.
    Напомню, что все FUN-карты имеют цифру в названии, символизирующую объём внешней памяти. FUN-карта (FUN1) имеет 32 килобита памяти, FUN2 - 64 килобита, FUN3 - 128 килобит, FUN4 - 256 килобит, FUN5 - 512 килобит, FUN6 - 1024 килобита. А 2 по 1024, т.е. 2048 килобит - это FUN7. Вот её-то и называют Dragon Loader'ом. Почему используют именно её, а не FUN6 или FUN5, например? Да потому, что 2048 килобит - это 256 килобайт. А размер прошивки для CAM'а Dragon занимает примерно 240 килобайт, то есть, при всём желании, в меньшую по объёму памяти карточку, эта прошивка просто не войдёт.
    Также надо отметить, что наряду с FUN-картами на AVR-процессоре есть и карты на PIC-процессоре, у которых точно так же бывают разные объёмы памяти. В том числе есть среди них и карточка с объёмом 2048 килобит, то есть полный аналог FUN7. И, естественно, её тоже можно применять для прошивки CAM'а Dragon.
    В общем, думаю, теперь более-менее ясно, что нужна одна из двух упомянутых карт и никакая другая: либо FUN7 (она же Prussian5), либо карта на основе PIC-процессора с 2048 килобитами памяти (своего названия такая карта не имеет, а потому всегда так и упоминается, как PIC-based card).
    Вот один из вариантов, как выглядит Dragon Loader Card на основе FUN7:

  
(вид спереди & с обратной стороны)

    Как видно, на данной карточке нанесена надпись "Fun7", хотя её может и вообще не быть - она элементарно стирается спиртом. :)
    Далее, самый ответственный момент: нужен программатор, поддерживающий данную карту, а именно - любой Phoenix/Smartmouse-совместимый с частотой кварца 6,00MHz.
    За неимением такого - что я только ни делал... Ничего не помогает. LPT-шный программатор "на трёх резисторах", который идеально прошивает FUN-карты, не подходит. Он шьёт все карты FUN1~FUN6, а вот FUN7 - ни в какую. Хотя в меню программы FunPromRM3.0 (это программа позволяющая перешивать карты через этот программатор) и есть поддержка FUN7, но на половине записи карты программа зависает. Судя по имеющейся информации, на некоторых других (не таких элементарно простых) программаторах, эта программа всё-таки зашивает FUN7, но... нету у меня таких программаторов. :)
    В итоге, так ничего с этим и не сделав, я взял программатор CAS2+Add-on и им за пару минут БЕЗ ВСЯКОГО ТРУДА зашил эту карточку. Далее, вставив в ресивер, обновил прошивку CAM'а. Всё. Вся процедура заняла максимум 10 минут.
    Такой программатор (CAS2+Add-on) стоит 3000 с небольшим р.. К тому же, он умеет прошивать не только FUN и PIC-based карты, но и Титанки, жOPOS'ы, блоKNOT'ы и ещё кучу всего, не говоря уже о том, что кроме карт он перешивает CAM'ы. Плюсов в нём гораздо больше, чем минусов и совершенно детских ошибок разработчиков, встреченных при работе с ним. Я это к тому, что не стоит тратить большие денежки на программаторы чисто под карточки. Лучше купить сразу CAS, который может перешивать ещё и CAM'ы. Не ради рекламы сказано, а ради помощи в выборе для сомневающихся.



Теперь, собственно, пошаговая инструкция, как перешить CAM только что зашитой карточкой.


1. Включаем ресивер, переходим на любой FTA-канал, выключаем ресивер.
2. Вставляем в CAM запрограммированную карточку.
3. Включаем ресивер.
4. Заходим в меню Common Interface и видим следующее:

Вместо привычной надписи 2. Predator X.XX появилась строчка 2. Dragon LOADER.
5. Заходим в меню этого Dragon Loader, нажав на пульте OK и видим:

А видим мы там менюшку, в которой спрашивается, "хотим ли мы загрузить модуль сейчас?"
6. На данный вопрос в ответ выбираем первую строчку, нажав на пульте OK.
7. Начался непосредственно сам процесс считывания прошивки с карты и загрузки её в модуль:

В данном окошке написано, что "Загружено 0%". Для того, чтобы отслеживать, сколько процентов загружено, надо периодически нажимать на строчке Refresh (просто нажимая OK на пульте):

Так процедура доходит до конца (до 98-99 процентов) примерно за шесть с половиной минут, после чего появляется торжественное сообщение:

Повествует эта надпись о том, что модуль загружен (то есть прошивка с карты в него удачно перенесена) и теперь надо достать из него карточку и перезапустить ресивер.
8. Просто выполняем указанное! :)

Всё. Модуль перешит. Теперь можно пользоваться ресивером как и прежде!


    В том же случае, если сразу при входе в "Dragon LOADER" или после окончания загрузки прошивки в модуль Вы увидите вот эту картинку:

- можете быть уверенны, дело в программаторе. Он некорректно зашивает карточку. Поделать с этим ничего нельзя. Единственный выход - воспользоваться другим программатором.


    Пройдёмся по всем менюшкам вновь перешитого модуля...


  

1. Smartcard. Когда в модуль вставлена карточка, можно войти в её менюшки и что-либо посмотреть/изменить. Когда в модуле карточки нет и текущий канал открывается при помощи эмулятора модуля, можно увидеть вот такую картину:


Надпись "Decoding OK" означает, что канал удачно декодируется эмулятором.

2. Debug. В данном меню находится список кодировок, которые открывает эмулятор модуля:

  

    Названия кодировок представлены в несколько юмористическом виде... Правда не знаю, особенность ли это CAM'а встроенного в ресивер DSR-8500 или так и на внешних модулях тоже. :)
    Поддерживаемых эмулятором кодировок пять штук. За каждым названием кодировки скрывается небольшой список подгрупп, на которые условно разделены провайдеры, ключи для которых есть в прошивке. Для примера, зайдём в раздел Viaccess:

  

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

    Допустим, приспичило не просто посмотреть на разделы эмулятора и ключи, а именно отредактировать какой-то ключик. Как это сделать?
    Я, точно так же, не имея буквально до последнего времени никакого опыта в этом, разобрался за пару минут, потому что на самом деле всё очень просто!
    Итак, как всегда, по шагам:
1) Выбираем необходимый тип кодировки, для примера возьмём наш любимый Viaccess :)
2) Выбираем (точнее сказать отыскиваем) необходимого провайдера, ключик для которого имеется и который надо поместить в эмулятор модуля. Для примера берём провайдера CFI Peco Pro (id 007400) и находим его в первом подразделе Viaccess:

3) Входим  (нажав OK на пульте) в эту строчку и видим снова список из четырёх строчек с выбором номера ключа:

    Допустим (для примера), надо нам ввести ключик номер 09... Для этого выбираем первую строчку, т.к., как видно из списка, именно за ней и прячутся 08-й и 09-й ключи.
4) Заходим в эту первую строчку и видим снова четыре строки, в которых, собственно, и прописаны сами ключи:

    Здесь, чтобы было понятно, что строчек по две штуки под каждый ключ отводится с той целью, что эмулятор рассчитан как на Viaccess2.3 (где применяются восьмибайтные ключи), так и на Viaccess2.4 (где применяются шестнадцатибайтные ключи). В том случае, если провайдер использует кодировку Viaccess2.3, ключ помещается в одну строку (например Key-08-0), а если провайдер использует кодировку Viaccess2.4, то ключ разбивается на две части, первая из которых содержится в строке, например Key-08-0, а вторая - Key-08-1.
    В нашем же случае провайдер 007400 имеет восьмибайтные ключи, а потому заносить мы ключик будем в строчку под названием Key-09-0 (так как собрались ввести именно 09-й ключ).
    Для ввода ключа нам понадобится, во-первых, сам ключ (для примера это будет совершенно случайная последовательность символов - C0 7E 4D F4 1E 4F 55 7D), а во-вторых пересчёт каждого байта этого ключа в десятичную систему счисления, потому что в эмулятор данного (как, впрочем, и любого другого) модуля, ключи вводятся именно в десятичной системе счисления. Пересчёт этих байт в десятичную систему можно произвести самому, например, используя стандартный виндовс'овский калькулятор в режиме "Scientific", либо взять из интернета. Оттуда же, откуда и был взят сам ключик. Наверняка многие задавали себе вопрос, что это за группы трёхзначных чисел иногда находятся рядом с каждым ключом?  Это так называемые Remote keys - ключи для ввода их в эмуляторы модулей с пульта ресивера. Это как раз и есть те самые, нужные нам десятичные пересчёты каждого байта ключа.
    Но вернёмся... Итак, для ключа C0 7E 4D F4 1E 4F 55 7D десятичные пересчёты будут следующими: 192 126 077 244 030 079 085 125.

5) Нажав на пульте OK на той самой строчке, о которой только что говорили, получаем вот такую менюшку:

В ней модуль ожидает, что мы введём десятичное число первого байта ключа. Ну, раз он этого ожидает, то и делаем это! :)

6) Набираем на пульте последовательно три цифры первого числа. Это 192:

7) Нажимаем OK и видим, что строка для ввода вновь стала пустой, но в верхней строке после символа "->" появился первый байт ключа, но уже в более привычной, шестнадцатеричной системе:

8) Далее, вводим следующие три цифры (следующего байта ключа), нажимаем OK на пульте, потом следующие три, не забывая нажимать OK на пульте после ввода каждого байта.
9) В конце, после того, как будет введён последний, восьмой байт ключа, вновь появится список ключей, но уже с только что занесённым нами ключиком:

На этом всё. Ввод ключа закончен, он записан в модуль и можно выйти из всех этих менюшек.

3. Settings. Настройки эмулятора модуля:

В этих "настройках" находятся две строчки:

  

    Предназначение первой мне не известно. В ней прописан некий ключик... Что это и на что он влияет я просто не в курсе.
    А за второй строкой скрывается строка для ввода серийного номера ресивера, предназначенного для легального просмотра каналов в кодировке Videoguard. Подразумевается, что вставив в модуль Dragon видеогуардовую карточку и введя реальный номер ресивера, он станет открывать эту кодировку.

4. Exit. Выход из меню данного модуля!