Last visit was: Fri Jun 23, 2017 01:12

It is currently Fri Jun 23, 2017 01:12

Восстановление медиаплеера Popcorn Hour A-200 для чайников

1. Введение

Данный текст есть попытка систематизировать и упростить изложение методики восстановления медиаплеера Popcorn Hour A-200, любезно представленной энтузиастами-разработчиками на портале sigmaplayer.com. Цель – сделать процедуру восстановления более доступной для понимания людьми, профессионально не связанными с разработкой или ремонтом электроники. Изложение основано на материалах форума sigmaplayer.com, и на личном опыте автора. ПРЕДУПРЕЖДЕНИЕ: смысловое наполнение текста может не совпадать с мнением третих лиц, точным смыслом профессиональных терминов, и с объективной реальностью в целом.

Для начала стоит осознать, какую именно неисправность можно устранить с помощью данного руководства. С плеером может случиться многое. У него может сгореть блок питания, на него может упасть шкаф. Мы рассматриваем только такой вид неисправности, как нарушение целостности системной информации плеера, его так называемого firmware. Представьте, что у вашего компа накрылась операционка, и вам сразу все станет понятно. В любом случае, прежде чем браться за описанные далее действия, следует попытаться воспользоваться процедурой восстановления, описанной на сайте производителя, а именно здесь: http://support.popcornhour.com/article.aspx?id=1102

2. Бобик сдох. Что делать?

Для начала - что значит «сдох»? Если медиаплеер по-прежнему реагирует на кнопку включения, но не загружается, или загружается не полностью, то вы – наш клиент. Если же плеер не включается в принципе, или демонстрирует какие-либо иные признаки неработоспособности (например дымится и потрескивает), то вам лучше провести этот вечер не за чтением нудных технических подробностей, а в хорошей компании с текилой и барбекю.

3. Буду чинить сам!

Вы определились, что признаки неработоспособности соответствуют вышеуказанным, и в вас бурлит желание исправить все самостоятельно. Хм. Ответьте себе честно на несколько вопросов: 1) знаете ли вы, с какой стороны браться за паяльник?; 2) использовали ли вы хоть раз в жизни консольные команды (например, старый добрый DOS)?; 3) готовы ли вы взяться за отвертку, разобрать своего любимца, и лично отвечать за все последствия? Если вы получили три «да», то вперед, к великим свершениям! (Если хоть одно «нет» – текила, барбекю, и все такое.)

4. Вскрытие

Ничего не попишешь – пути назад нет. Возьмите крестообразную отвертку! После нескольких вращательных манипуляций вашему взору откроется нечто, подобное этому:

Image

5. Подсоединение плеера к компьютеру

Шутки закончились, дело все серьезнее. На материнской плате (будем ее так называть) плеера есть стандартный последовательный порт. С его помощью вы сможете заглянуть в самое сердце устройства, познать его душу и мысли. Сейчас самое для этого время, не правда ли? Собственно, порт выглядит так:

Image


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

Нам потребуется переходник USB-UART (UART – это такое обозначение последовательного порта, к которому мы хотим подключиться). Они бывают разные. Вполне возможно, что любой из них окажется пригоден, и позволит вам восстановить плеер. Но ручаться я могу только за то, что было успешно опробовано многими людьми, в том числе и мною.

Найдите кабель для подключения старых телефонов NOKIA (модели Nokia N1200 / 1208 / 1650 / 2630 / 2670). Лично я быстро нашел его на ближайшем радиорынке по цене менее 5 долларов. До того, как я прикоснулся к нему своей варварской рукой, мой кабель выглядел так:

Image

Кабель уже у вас на столе? Отлично! Теперь надо сделать так, чтобы он стал пригоден к использованию в нашем случае. Пока им можно подключать к компьютеру мобильные телефоны, но никак не поломанные медиаплееры от Syabas Technology Inc. Вы можете подключить кабель к плееру любым удобным для вас способом, с использованием любых разъемов, или даже припаяв его к плате напрямую. Я же опишу способ, которым воспользовался сам, и который считаю недорогим, надежным, и удобным одновременно.

На том же радиорынке за три копейки я влегкую нашел т.н. «косичку» - шлейф с разъемом, предназначенный для подключения к последовательному порту в компьютерах старого образца. Отлично! Теперь плеер имеет стандартный разъем RS-232:

Image

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

Теперь дело за вашим телефонным кабелем. Раз у вас на плеере уже есть RS-232 «папа», значит на телефонном кабеле должен быть… правильно! RS-232 «мама». Лично я снял его с кабеля от своего старого внешнего модема. Если у вас не оказалось такой счастливой возможности, то вы можете купить его на том же радиорынке, их там навалом.

Момент истины близок! Пока греется ваш любимый паяльник, посмотрите следующую картинку:

Image


Если вы не догадались – это схематичное изображение разъема на плате вашего плеера с нумерацией выводов. Красным отмечены выводы, которые нам нужны. Функциональность выводов:

5 – RX (принимаемые данные)
6 – TX (передаваемые данные)
10 – GND (земля)

Безжалостно отрезав от телефонного кабеля ненужный разъем (главное не ошибиться!) вы обнаружите, что кабель имеет как раз три проводника. Земля определяется очень просто – этот проводник накоротко звонится на металлическую оболочку USB-разъема кабеля. Остается еще два провода, назначение которых неспециалист может определить только экспериментальным путем. По секрету – именно так я и сделал.

Пришло время паять! Т.к. «косичка» на плате плеера у нас перевернутая, то и распайка со стороны разъема RS-232 на телефонном кабеле будет несколько отличаться:

5 – TX (передаваемые данные)
6 – RX (принимаемые данные)
1 – GND (земля)

В моем случае RX оказался зеленым проводом, TX синим проводом, а земля – белым. Но даже если вы перепутаете местами TX и RX – ничего страшного, потом можно будет легко все исправить. У меня получился вот такой красивый шнурок, чего и вам желаю:

Image

Если вы сделали все как надо, то у вас уже все готово для подсоединения материнской платы плеера к вашему компьютеру. В плату плеера вставляется «косичка», а в нее вставляется бывший телефонный шнур, который вторым концом уже прочно сидит в USB-разъеме вашего ПК. Вуаля! Этот вечер не прошел даром.

6. Подключение консоли

Теперь самое интересное – «погибший» плеер должен дать о себе весточку вашему компу и вам заодно.

Вставьте телефонный кабель, и установите драйвер, который шел с ним в комплекте. В Диспетчере устройств вашей операционной системы, в разделе Порты, должен появиться новый COM-порт. Зайдите в свойства порта и проверьте, чтобы его параметры совпадали со следующими:

Скорость – 115200;
Битов данных – 8;
Четность – нет;
Стоповых битов – 1;
Управление потоком – нет.

Скачайте программу PuTTY здесь: http://www.chiark.greenend.org.uk/~sgta ... nload.html
Эта программа – консольный клиент, который может работать по различным протоколам, в том числе и через наш последовательный порт.

Запустите PuTTY, введите новое имя сессии (например «Popcorn»), выберите пункт «Serial», введите правильное значение скорости порта (115200) и номер COM-порта. Нажмите кнопку «Save». Все должно выглядеть примерно так:

Image

Удостоверьтесь, что плеер выключен, и все соединения корректны. После этого нажмите кнопку Open. Откроется консольное окно. По-хорошему сейчас в нем ничего не должно происходить, однако у меня оно каждый раз произвольно наполняется всяким символьным мусором. Знающие люди говорят, что это от слишком большой длины соединительного кабеля. Он, в силу низкой защищенности, начинает ловить помехи, которые преобразователь COM-USB сдуру транслирует в символы. Если у вас тот же эффект – не паникуйте. Если вы все сделали правильно, мусор перестанет идти сразу, как только вы включите плеер.

Задержите дыхание и… включайте его! Если вы получили текст, похожий на

39idxfs696b15f57c540829defeeee9f4a092007337a124S

#xos2P52-100 (sfla 128kbytes. subid 0x00/af) [serial#bd9f04368525e810918a9fac5d7e95db]
xmb 0xb5
#chpll 0x01000024/0x00000201 -> 0x01000030/0x00000101... actual sys=330MHz
#DRAM setup (method=0x10015858) ...
#DRAM0 Window : 0x#24#24#22#22# (17)
#DRAM1 Window : 0x#22#24#22#22# (17)
#DRAM0 Settings: WD=0x0b0b0b0b RG=0x08080808 RR=0x08080808 RF=0x0909090a
#DRAM1 Settings: WD=0x0b0b0b0b RG=0x08080808 RR=0x08080808 RF=0x0a0a0a0a
#poisoned 131072 pages with 0x694a4b42
#step6 @0x*** zxenv has been customized compared to build ***
#step22
#ei
sb!ntsb!ntsb!ntsb!ntsb!ntsb!ntsb!ntsb!ntsb!nt


то можете считать, что вам повезло, и вы – молодец. Кабель сделан правильно, соединение настроено верно, и плеер в принципе живой. Если же включение плеера вызвало нулевую реакцию в консольном окне, то вам нужно проверить свой кабель (например, поменять местами предполагаемые TX и RX, а также на всякий случай еще раз проверить, где земля), и проверить настройки порта COM. Если ничего не помогло, то, скорее всего, ваш любимец мертв настолько, чтобы вы могли с чистой совестью прекратить всяческие попытки его самостоятельной реанимации.

Обратите внимание на то, что если строки с параметрами DRAM0 и DRAM1 выглядят примерно так

#DRAM0 Window : 0x# (15) # DRAM0 Window: 0x # (15)
#DRAM1 Window : 0x# (16) # DRAM1 Window: 0x # (16)


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

7. Зайти в Yamon

Украсть миллион, жениться на королеве… зайти в Yamon! Между этими задачами есть много общего. По крайней мере в сложности реализации. Но для начала – что это такое, Yamon? Отвечаю как могу. Это программное обеспечение, выполняющее функции мониторинга и управления аппаратным окружением, и загрузки операционной системы. Короче говоря, Yamon - это то самое, с помощью чего можно восстановить ваш плеер. И вам ой как надо туда попасть. Знающий народ говорит, что Yamon может остаться неповрежденным в флеш-памяти плеера, и у вас есть большие шансы зайти в него, тарабаня по клавише «0» во время загрузки. У меня не получилось. Более того, у меня это не получилось даже на полностью работоспособном плеере. Возможно, мне когда-то укажут на мою ошибку, а я пока опишу 100% решение, которое мне помогло.

Вы должны достать SATA жесткий диск для того, чтобы загрузить Yamon с него. По большому счету не важно какого объема, и какого физического размера. Я использовал ноутбучный винт объемом 200 мб. Диска нет и не планируется? Ну, тогда до свидания, ничего не получится. А если он уже у вас на столе, то слушайте дальше.

8. Подготовка загрузочного диска

Всю ценную информацию с винчестера надо сохранить в надежном месте, а сам винчестер подсоединить к компьютеру. Каким будет соединение – через USB-адаптер, или напрямую к материнской плате – не важно.

Скачайте и установите программу WinHex. Запустите ее. С помощью пункта меню «Tools» запустите инструмент «Open Disk», выберите ваш винчестер, и нажмите «ОК». Открывшиеся вашему взору буковки и циферки и есть содержимое вашего диска, отображенное в 16-ном коде. Отметьте нулевой сектор, и пометьте его как «Beginning of block» с помощью контекстного меню. Теперь прокрутите список вниз настолько, чтобы быть уверенным в том, что видимая часть информации находится за 10 мегабайтами считая от нулевого сектора. Скажу честно, я сам это сделал на глаз. Здесь выбирайте буковку или циферку по душе, отмечайте ее, и с помощью контекстного меню помечайте как «End of block». Таким образом вы осуществили выделение информации на винчестере с самого его начала и до текущего места. Вызовите контекстное меню на выделенной области, выберите пункт «Edit», а затем пункт «Fill Block». Вы получите диалоговое окно, в котором вам по умолчанию будет предложено заполнить выделенный диапазон нулями. Жмите «ОК». После этого в меню «File» выберите пункт «Save sectors». Все. Мы расчистили место под загрузочный образ Yamon.

Какой такой загрузочный образ? А такой: download/file.php?id=289 Просто качайте и распаковывайте. Сделано? Теперь возвращаемся в WinHex, который вы, надеюсь, еще не закрыли. Кликаете по меню «File», затем «Open», и выбираете только что загруженный и распакованный файл. Наряду с закладкой с данными винчестера у вас появляется закладка с содержимым файла, также в 16-ном исчислении. Здесь нужно либо опять воспользоваться выделением начала и окончания блока (в этот раз от самого начала до самого конца), либо банально нажать Ctrl-A, а после этого Ctrl-C. Сокровенный смысл данного действия понятен – вы скопировали загрузочный образ в буфер обмена. Теперь перейдите обратно на закладку с данными вашего винчествера, выделите нулевой сектор, вызовите контекстное меню, пункт «Edit», затем «Clipboard Data», затем «Write». Вы должны получить сообщение вида «The clipboard data will be written at offset 0». Жмите «ОК»! Приличия ради проверьте визуальное соответствие скопированных данных, и затем сохраните изменения («File», «Save sectors»). Загрузочный диск готов! Я устал, пока писал все это. Надеюсь, что вы тоже.

9. Загрузка с жесткого диска

Вы думали, что самое трудное позади? Веселье только начинается! Чтобы загрузиться с жесткого диска, мало подключить его к материнской плате плеера. Плеер нужно шокировать и унизить. Как насчет того, чтобы замкнуть несколько ножек на работающей микросхеме? Самое оно!

Терроризировать будем ту самую микросхему, из-за которой начался сыр-бор. Микросхему флеш-памяти. Так как нужные нам ножки расположены под радиатором процессора, я предлагаю радиатор снять. Некоторые умельцы советуют замыкать ножки сквозь щели радиатора, но я считаю этот вариант совершенно неудобным. Чтобы снять радиатор, нужно выкрутить пять винтов, и вынуть материнскую плату из корпуса. За процессор не бойтесь – в таком режиме он работает на минимуме производительности, и никак не зависнет и не сгорит.

Вот как выглядит этот натюрморт без радиатора (целевая микросхема обведена красным):

Image

Какие ножки можно замыкать? Их несколько. Попробуйте любую пару из отмеченной области:

Image

Я делал это с помощью небольшой отвертки:

Image

Теперь вы во всеоружии. Консольный адаптер подключен, консоль запущена, жесткий диск с образом подключен к плееру. Аккуратно замкните два вывода микросхемы в указанной области, и включайте плеер. Смотрите на консоль – вы должны увидеть попытку загрузиться с жесткого диска, на что будут указывать строки вида

*** No valid zxenv found in DevType 0 CS#0, phyblock#0 ! ***
*** No valid zxenv found in DevType 0 CS#0, phyblock#1 ! ***
No valid zxenv found in device group 0 CS#0
No valid zxenv found in device group 0 CS#1
No valid zxenv found in device group 1 CS#0
No valid zxenv found in device group 1 CS#1
SATA drive spin-up in progress, please standby...


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

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

Конечным итогом правильного выполнения всех шагов должно стать системное приглашение вида

YAMON>

Да-да, тот самый… We are the champions! Пиво, чипсы.

10. Сетевое соединение с компьютером

Дальше в лес – больше дров. Но раз начали – надо пройти этот путь до конца. Одного (консольного) соединения с компьютером нашему плееру мало. Будем делать сетевое соединение. Зачем? Да так - надо файлы туда-сюда по FTP погонять.

Возьмите обычный патч-корд, и соедините медиаплеер с вашим компьютером напрямую, или через роутер.

Скачайте TFTP-сервер отсюда: http://www.snapfiles.com/get/solartftp.html Установите и запустите его. Через меню «File» перейдите в раздел «Configure», и убедитесь, что значение TFTP Server Root Directory равно «C:\tftproot». Отключите системный брандмауэр и всевозможные сетевые фильтры, если таковые установлены в вашей операционной системе. Запустите TFTP Server с помощью клика правой кнопкой по иконке сервер в системном трее, и выбора пункта Start TFTP Service.

Теоретически вы готовы к пересылке файлов. Давайте проверим! Загрузитесь с жесткого диска, как вы это делали ранее, и введите команду

setenv ipaddr 192.168.0.2

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

net init

Так вы инициализируете сетевой интерфейс. Неплохо бы проверить работоспособность связи с помощью команды

ping 192.168.0.11

где вместо 192.168.0.11 должен быть действительный адрес вашего компьютера в домашней сети. Плеер должен вывести ответ об успешном получении ответа. Если нет – смотрите выше, что вы там умудрились сделать не так.

11. Восстановление микрокода

Для начала подготовимся. Скачайте архив по ссылке download/file.php?id=280 , и скопируйте из него файлы в директорию C:\tftproot. Эти файлы предназначены для модели C200, поэтому для нашего A200 придется скачать еще и этот архив download/file.php?id=286. Извлеките из архива файл, переименуйте его в «sigmblockg», и скопируйте в каталог C:\tftproot, заменив находящийся уже там одноименный из первого архива.

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

Введите (скопируйте) команду

nflash read -p 0 0xa4a00000 0x80000 0

После этого введите

fwrite tftp://192.168.0.11/200xenv 0xa4a00000 0x80000

где вместо 192.168.0.11 должен быть действительный адрес вашего компьютера в домашней сети.

После этого обязательно убедитесь, что файл 200xenv появился в директории C:\ftproot на вашем компьютере! Если файл не появился, ввод дальнеших команд приведет к невозможности восстановить плеер!

Если файл появился, то можно приступать к одной из самых основных целей – форматированию флеш-памяти.

Введите команду

nflash format 0

Повторите процедуру форматирования несколько раз для верности. В результате сбойные блоки памяти будут исключены из работы, а вы – избавлены от проблем в будущем.

Введите команду

load -b tftp://192.168.0.11/200xenv 0xa4a00000

Таким образом вы записываете обратно во флеш информацию, которую перед этим загрузили из него на компьютер.

Введите команду

nflash erase -p 0 0x80000 0

а затем

nflash write -p 0 0xa4a00000 0x80000 0

Теперь загрузим в плеер так называемые «сигмаблоки», которые вы разместили в каталоге TFTP-сервера ранее. Выполните команду

load -b tftp://192.168.0.11/sigmblockg 0xa7000000

где вместо 192.168.0.11 должен быть действительный адрес вашего компьютера в домашней сети.

И последний штрих. Команда

nflash write 0x44c0000 0xa7000000 0x300000 0

Все. Если вы все сделали правильно, то флеш память работоспособна, и заново прошита микрокодом.

12. Восстановление операционной системы

Просто проделайте процедуру, описанную здесь http://support.popcornhour.com/article.aspx?id=1102 . После всего пережитого это покажется не более сложным, чем игра в Сапера. После этого не помешает обновить прошивку до самой свежей, любым удобным для вас способом – с помощью флешки, или через интернет. Если вы прошли этот путь до конца – вы один из многих безымянных героев, которые на деле доказали, что им по плечу самостоятельное решение непростых инженерных задач. Поздравляю!
Released on: Thu Nov 10, 2011 22:05
from: rodent
Viewed: 34233