Media Players

DIYOMATE S9 – Hardware (dealextreme – sku.42402)

O hardware do DIYOMATE S9

Esta página é um complemento do meu review do DIYOMATE S9.

Passe o mouse sobre a imagem para ver uma descrição dos componentes.

01/03/2014: Existe uma outra versão da placa acima que no lugar onde (aparentemente) seria colocada uma bateria, temos a “pegada” (footprint) de um conector USB tipo A fêmea. Esse conector está ligado à porta DM1 do CI GL850G. Ou seja: teoricamente basta soldar um conector ali e poderíamos ter uma porta USB interna.

Lista parcial de componentes

  • Hynix HY27UF082G2B – Memória flash de 256MB. É este o maior tamanho que o firmware pode ter, já contando com a divisão da memória em partições. O chip é do tipo
    TSOP48 e está num lugar apertado, o que dificulta (mas não inviabiliza) a regravação da flash “na força bruta” caso alguma experiência dê muito errado.
  • Nanya NT5TU64M16DG-AC – Memória RAM DDR2 800 de 1Gb (128MB)
  • Genesys GL827L – Controle do leitor de cartões
  • Genesys GL850A – Controlador de hub USB 2.0
Energia
  • FDS9435 – “30V P-Channel PowerTrench MOSFET” – Faz o chaveamento da alimentação de 12V. Basicamente a energia vinda da fonte de 12V entra de um lado e sai do outro apenas se o gate estiver ativo. Esse controle é feito pelo componente desconhecido no circuito de standby.
  • MP1482DS – “2A, 18V Synchronous Rectified Step-Down Converter” – Gera 5V a partir dos 12V da entrada.  Entre outras coisas, vai para os conectores SATA de força e alimenta o cooler e as duas portas USB host.
  • AP1530 – “18V 3A 300KHz BUCK CONVERTER” – Assim como o MP1482DS, pega os 12V da entrada e converte em 5V, mas para alimentar outras coisas. Provavelmente a CPU.
  • AX4102 – “PWM Control 3.5A Step-Down Converter” – Pega os 5V da saída do AP1530 e rebaixa para 1.2V, provavelmente para alimentar a CPU.

Como se pode perceber pela ausência de componentes dedicados e o rumo das trilhas, as duas portas SATA, a porta Ethernet e todas as saídas de vídeo e áudio são controladas diretamente pela CPU Realtek. A não ser que haja mais alguma coisa escondida debaixo do dissipador.

Atente também para a ausência de qualquer chip EEPROM. Como o aparelho grava preferências do usuário mesmo sem um HDD, ou tem uma EEPROM embutida, ou existe uma oculta sob o dissipador ou, o mais provável, ele deve estar gravando na memória flash. Isso é incomum porque ao contrário das EEPROM que podem ser gravadas byte por byte, memórias flash tem que ser gravadas por blocos. Como o bloco mínimo da flash usada é de 64K, então a cada preferência salva 64 mil bytes são regravados na flash. Isso se minha teoria estiver correta.

Quando colocamos um HDD no aparelho, é possível que o firmware passe a gravar e ler as opções nele para poupar a flash. Talvez ele só sincronize com a flash ao desligar o aparelho pelo remoto. Isso só seria confirmado se conseguíssemos flagrar uma anomalia nas preferências salvas, ao se retirar o HDD sem dar um “power off” correto antes.

O conector de debug

Leia sobre isso em a porta serial do DYOMATE S9.

 

O lado da solda: as únicas coisas relevantes que se pode ver aqui são a revisão da placa (B00-S9-REV1.2) e o fato de que todos os componentes ficam mesmo do outro lado.

Circuito de controle remoto e standby

A área próxima ao receptor infravermelho é a única do S9 a ficar energizada quando o aparelho está apenas ligado na tomada (em standby). Ela tem importância para futuros hacks, por isso eu levantei o diagrama:

DIYOMATE S9 partial schematic

Note que a alimentação em standby é praticamente toda fornecida por um 78L05, mas existe previsão para colocar um circuito baseado em zener em paralelo, provavelmente para aumentar a capacidade de fornecimento de corrente. No centro temos um componente desconhecido de 14 pinos.

Este componente é provavelmente um microcontrolador encarregado de decodificar os sinais do controle remoto. Se o aparelho estiver em standby e o sinal recebido for o de power, ele desliga o pino 3, ligando o S9. Se já estiver ligado todos os comandos são repassados pelo pino 9, já decodificados, para a CPU. Esses comandos podem ser “lidos” no dispositivo /dev/venus_irrp.

Uma conclusão óbvia desse diagrama é que não é possível substituir inteiramente o controle remoto original. Já existem hacks para fazer com que a aplicação “dvdplayer” responda  a outros remotos*, mas quando o aparelho está em standby quem está no controle é esse CI de 14 pinos. Estando o aparelho em standby, somente o comando power reconhecido por esse CI ativará o aparelho. Mas como o S9 liga automaticamente ao ser energizado, esse é um problema menor.

*O mais conhecido é o irfake (autor farvoice), que pode ser instalado sozinho ou como parte do pacote de addons de moservices.org. O irfake sozinho tem pouca utilidade no S9 justamente porque o circuito receptor só deixa passar os comandos originais, mas ele pode ser usado em conjunto com outros para, por exemplo, enviar comandos para o S9 via rede ethernet, tornando possivel o controle do S9 via android/iphone.

Como se pode ver também, não é possível controlar os LEDs através do firmware. Eles estão em um circuito simples que depende apenas do aparelho estar “ON” ou não.

Outra coisa digna de atenção e o circuito baseado no componente ausente (e desconhecido) “Q31”. Poderia ser um circuito com LED para piscar no ritmo da recepção do controle remoto, dando assim um feedback visual de que o remoto está funcionando. Ou poderia ser um receptor auxiliar.

Consumo de energia

Conectar à rede com fio não faz diferença mensurável no consumo.

  • Em standby: Menos de 1W
  • Sem HDD, parado no menu: 8W
  • Conectando o HDD interno o consumo parado no menu fica variando entre 9 e 11W
  • Reproduzindo um h.264 1080p no HDD interno: entre 10 e 11W
  • Reproduzindo um h.264 1080p via rede com fio, sem HDD conectado: entre 8 e 9W

Outras páginas sobre o hardware de players baseados em Realtek:

Atenção: Só publicarei comentários que tenham relação direta com o post.  Ou seja: sobre a eletrônica do aparelho.

_S¨Šä‹ÿøö‹•“­_Sæý÷øÿö¤‚æ“ý÷øÿö ‚ çµç ç ç ç ç ç ç ç ç ç ç ç çµç çµç ç ç ç ç ç ç ç ç ç ç ç ç çµç çµç ç ç ç ç ç ç ç ç ç ç çµç çµç PAL logo
REALTEK ROM Monitor, Revision 0000.0202.0021.
Copyright (c) Realtek Semiconductor Corp. – All Rights Reserved.

For a list of available commands, type ‘help’.

Compilation time /version=      May  5 2010  09:24:24  /0000.0202.0021 MAC address =                   00.11.22.33.44.55 Processor Company ID/options =  0x01 (MIPS Technologies, Inc.) / 0x00 Processor ID/revision =         0x93 / 0x78 Endianness =                    Little
Flash memory size =             256 MByte SDRAM size =                    128 MByte First free SDRAM address =      0x800f8b00
Press ‘ESC’ to Monitor mode Linux Kernel:     FW Image from 0xa2020000, to 0x80100000, size=0x401085  Audio FW:     FW Image from 0xa2440000, to 0x81b00000, size=0x1c9690  Video FW:     FW Image from 0xa2620000, to 0x81d80000, size=0x2376f0  5280Go 5280Go go 0x80100000 mtdparts=rtk_nand:157184k,30336k(/),61440k(/usr/local/etc),13184k rootfstype=squashfs root=31:01  Reset Ethernet Mac.
Address = 0x80100000
Realtek LINUX (DC ALIAS) started…
Venus setting:
ROSs have 2621440 bytes RAM.
System CPU has 2 UARTs.
System CPU uses external timer interrupt.
Bootloader version: 0000.0202.0021. This version string is of new format.
Error! Unknown SB2_CHIP_INFO. Linux is too old?
Ethernet Mac address: 00.11.22.33.44.55
Model Config length=0
Base year of RTC is 2010.
Config serial console: console=ttyS0,115200n8r
prom_flashsize = 0x10000000
Linux version 2.6.12.6-VENUS (root@138_korsen) (gcc version 3.4.4 mipssde-6.03.01-20051114) #1 Mon Aug 2 13:32:07 CST 2010

audio addr: 1b00000

CPU revision is: 00019378

Determined physical RAM map:

memory: 00100000 @ 00000000 (usable)

memory: 0041f000 @ 00100000 (reserved)

memory: 015e1000 @ 0051f000 (usable)

memory: 00500000 @ 01b00000 (reserved)

memory: 06000000 @ 02000000 (usable)

show info: max_low_pfn:32768

show info: min_low_pfn:1311

ZONE: DMA, PFN: 0

ZONE: DVR, PFN: 8192

Built 1 zonelists

Kernel command line: mtdparts=rtk_nand:157184k,30336k(/),61440k(/usr/local/etc),13184k rootfstype=squashfs root=31:01 console=ttyS0,115200n8r ip=192.168.0.9::192.168.0.254:255.0.0.0:::

Primary instruction cache 32kB, physically tagged, 4-way, linesize 32 bytes.

Primary data cache 32kB, 4-way, linesize 32 bytes.

Synthesized TLB refill handler (20 instructions).

Synthesized TLB load handler fastpath (32 instructions).

Synthesized TLB store handler fastpath (32 instructions).

Synthesized TLB modify handler fastpath (31 instructions).

Cache parity protection disabled

PID hash table entries: 256 (order: 8, 4096 bytes)

Estimate value: CPU frequency 405.02 MHz

Using 27.000 MHz high precision timer.

Console: colour dummy device 80×25

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 119552k/121732k available (3385k kernel code, 2112k reserved, 570k data, 144k init, 0k highmem)

Warning! Unknown board id.

==================== Warning! The calculated loops_per_jiffy is not similar to the default one. ====================

Mount-cache hash table entries: 512

Checking for ‘wait’ instruction…  available.

========== board id: 202 ==========

[INFO] neptune mode…

boot_param value: a0002800

mode: 1

size: 1564

color1: 0x808010

color2: 0x80807d

color3: 0x8080eb

color4: 0x4034

NET: Registered protocol family 16

SCSI subsystem initialized

usbcore: registered new driver usbfs

usbcore: registered new driver hub

se init module major number = 254

size of RPC_POLL_Dev 52 and RPC_INTR_Dev 52…

[user land] CmdBuf virt addr = 80658000/a0658000, phy addr=00658000

Hello, Realtek TLB Mapper

AllocBP size: 294912 order: 7

<<<DVR FREE AREA>>>

0:    0

1:    0

2:    0

3:    0

4:    0

5:    0

6:    0

7:    0

8:    0

9:    0

10:    0

11:    0

12:    6

Addr: 87000000, order: 12

Addr: 86000000, order: 12

Addr: 85000000, order: 12

Addr: 84000000, order: 12

Addr: 83000000, order: 12

Addr: 82000000, order: 12

squashfs: version 3.1 (2006/08/19) Phillip Lougher

devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.

[Audio Firmware Version] 333437
[Binary src compiled at] Aug 31 2010 17:11:17

au)

devfs: boot_options: 0x1

JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc.

YAFFS Driver Rev:292241 (2010-01-19)

YAFFS Driver is successfully installing.

Initializing Cryptographic API

Generic RTC Driver v1.07

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

ttyS0 at MMIO 0x0 (irq = 3) is a 16550A

ttyS1 at MMIO 0x0 (irq = 3) is a 16550A

io scheduler noop registered

RAMDISK driver initialized: 1 RAM disks of 128K size 1024 blocksize

loop: loaded (max 8 devices)

this  MARS eth RX_OFFSET = 0x0

8139cplus: 10/100 PCI Ethernet driver v1.2 (Mar 22, 2004)

MAC address = 0x00.11.22.33.44.55

eth0: RTL-8139C+ at 0xb8016000, 00:11:22:33:44:55, IRQ 2

PPP generic driver version 2.4.2

PPP Deflate Compression module registered

PPP BSD Compression module registered

NET: Registered protocol family 24

VenusSFC MTD init

serial flash inaccessible

cp_hotplug

physmap flash device: 10000000 at fd00000

Realtek NAND Flash Driver Rev:317223 (2010-06-01)

One HY27UF082G2B chip has 1 die(s) on board

nand part=HY27UF082G2B, id=adda1095, device_size=268435456, chip_size=268435456, num_chips=1, isLastPage=0

[rtk_nand_scan_bbt] have created bbt B0, just loads it !!

[dump_BBT] Nand BBT Content

[0] (0, 1439, 0, 2047)

[1] (0, 1440, 0, 2046)

[2] (0, 1441, 0, 2045)

[3] (0, 1442, 0, 2044)

4 cmdlinepart partitions found on MTD device rtk_nand

RTK: using dynamic nand partition

Creating 4 MTD partitions on “rtk_nand”:

0x00000000-0x09980000 : “Partition_000”

0x09980000-0x0b720000 : “/”

0x0b720000-0x0f320000 : “/usr/local/etc”

0x0f320000-0x10000000 : “Partition_003”

0x00000000-0x10000000 : “disc”

Realtek Nand Flash Driver is successfully installing.

Initializing USB Mass Storage driver…

usbcore: registered new driver usb-storage

USB Mass Storage support registered.

mice: PS/2 mouse device common for all mice

i2c /dev entries driver

[I2C0] i2c speed changed to 100 KHz

I2C0 Bus Status Check…. OK

=========================

= VER : 2.1b

=========================

= PHY : 0

= MODE: MARS/JUPITER

= SPD : 100

= SAR : 0x024 (7 bits)

= TX FIFO DEPTH : 8

= RX FIFO DEPTH : 8

= FIFO THRESHOLD: 4

= BUS JAM RECORVER 3: ON

= NON STOP WRITE : ON

= GPIO RW SUPPORT : ON

=========================

FATAL : I2C 1 pins have been occupied by PCI

Trying to free free IRQ3

NET: Registered protocol family 2

IP: routing cache hash table of 1024 buckets, 8Kbytes

TCP established hash table entries: 8192 (order: 4, 65536 bytes)

TCP bind hash table entries: 8192 (order: 3, 32768 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

NET: Registered protocol family 1

NET: Registered protocol family 17

Realtek Venus Power Management, (c) 2006 Realtek Semiconductor Corp.

cp_open

alloc rings cp->rxdesc_buf =0xa19a3000 , cp->ring_dma=0x19a3000

init_hw

init_hw finished

IP-Config: Complete:

device=eth0, addr=192.168.0.9, mask=255.0.0.0, gw=192.168.0.254,

host=192.168.0.9, domain=, nis-domain=(none),

bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=

VFS: Mounted root (squashfs filesystem) readonly.

Mounted devfs on /dev

Freeing prom memory: 0kb freed

Reclaim bootloader memory from 80020000 to 80100000

Freeing unused kernel memory: 144k freed

RTK rtc cannot work.

mount: Mounting none on /tmp failed: No such file or directory
Welcome to Realtek Linux

Please press Enter to activate this console. ——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

[mtdblock_release] Done

[mtdblock_release] Done

[mtdblock_release] Done

yaffs: dev is 32505858 name is “mtdblock2”

yaffs: Attempting MTD mount on 31.2, “mtdblock2”

yaffs: auto selecting yaffs2

——flush priority: 10

flush_page_cache: do flush…

Starting INET services….
libata version 1.12 loaded.

sata driver initial…2009/12/30 14:50

mars_init_sata(1255)dev_addr:c00724f0

ata_device_add(4893)probe begin

scsi0 : SATA_DRV

sata dma reset

Running dvdplayer with RootApp
RootApp AVHDD version…
set corepath: /tmp/hdd/volumes/HDD1/

enter 2nd case…
================================================
================================================
root execute DvdPlayer…
================================================
================================================
IN : /tmp/ramfs/smb
downloader 0 starts, 0x10326c88
downloader 1 starts, 0x1032be78
sata1: reset phy again!

sata phy reset

CMD: mkdir -p /tmp/netb/smb
In my system…
CMD: mkdir -p /tmp/smb
In my system…
CMD: ifconfig > /tmp/netb/samba_my_ip
In my system…
Warning!! the Mask is 255.0.0.0.

WARNING WARNING WARNING m_db_manage_flag_cnt = -1

DB FILENAME = /tmp/ramfs/Setup
[DataObject.cpp 440]DB Develop Version same . Don’t be upgrade.
[DataObject.cpp 479]DB Version same . Don’t be upgrade.

m_BookMark_Size=4096 m_Signature_Size=16

GrandMa Revision: 337552
(User ***128MB version…

Input)Pipe Created.
(Internal E   Memory address 0x40000000

vent)Pipe Created.
pli initialization…
577 loadThemeSetting resource.cpp
No THEMESET_INI exists
-=- create FT engine for ./Resource/uEGB.vc#
file system 3, sector 0
mount to /tmp/hdd/volumes/HDD1
file system 1, sector 262144
mount to na
file system 2, sector 104857Node 0, zone      DMA      0      0      1      1      0      0      0      1      1      1      0      1      0

free pages:  2956

6
mount to /tmpNode 0, zone      DVR      1      1      0      0      1      1      0      1      0      1      0      0      5

free pages: 21171

/hdd/root
cached size:  2925

try_to_free_pages: free 916

Node 0, zone      DMA     88     70     45     31     14      1      0      1      1      1      0      1      0

free pages:  3856

Node 0, zone      DVR      1      1      0      0      1      1      0      1      0      1      0      0      5

free pages: 21171

cached size:  2925

+++ ALLOC index: 20480 order: 12

1. start remap DVR zone 87000000(80600000) 4096…

map_done is 0…

+++ ALLOC index: 16384 order: 10

1. start remap DVR zone 86000000(805e0000) 1024…

map_done is 0…

+++ ALLOC index: 18432 order: 11

1. start remap DVR zone 86800000(805f0000) 2048…

map_done is 0…

+++ ALLOC index: 12288 order: 11

1. start remap DVR zone 85000000(805c0000) 2048…

map_done is 0…

+++ ALLOC index: 17408 order: 8

1. start remap DVR zone 86400000(805e8000) 256…

map_done is 0…

+++ ALLOC index: 17664 order: 7

1. start remap DVR zone 86500000(805ea000) 128…

map_done is 0…

+++ ALLOC index: 17792 order: 7

1. start remap DVR zone 86580000(805eb000) 128…

map_done is 0…

— FREE index: 20480 order: 12

— FREE index: 16384 order: 10

— FREE index: 18432 order: 11

— FREE index: 12288 order: 11

— FREE index: 17408 order: 8

— FREE index: 17664 order: 7

— FREE index: 17792 order: 7

+++ ALLOC index: 16384 order: 8

1. start remap DVR zone 86000000(805e0000) 256…

map_done is 0…

start[0-3] = {7001a500, 7001a504, 7001a508, 7001a50c}
end[0-3] = {7001a510, 700+++ ALLOC index: 16896 order: 9

1a514, 7001a518,1. start remap DVR zone 86200000(805e4000) 512…

7001a51c}
map_done is 0…

Video DebugMem PVIDEO_RPC_SetDebugMemory Called!+++ ALLOC index: 16640 order: 7

hysical Address 1. start remap DVR zone 86100000(805e2000) 128…

= 0x87e00
map_done is 0…

+++ ALLOC index: 16768 order: 7

1. start remap DVR zone 86180000(805e3000) 128…

map_done is 0…

+++ ALLOC index: 17408 order: 8

1. start remap DVR zone 86400000(805e8000) 256…

map_done is 0…

[AUDIO WARNING]
no more memory , do Remote Malloc. Size  0x00186008
+++ ALLOC index: 17920 order: 9

1. start remap DVR zone 86600000(805ec000) 512…

map_done is 0…

——————-
Audio Version = 333437
Common Version = 330700
Build Date = Aug 31 2010
Build Time = 17:11:17
Note =
——————-
ClassifyBonding  DD   0x00000002
Error in threshold value: 0…
WatchDog does not receive signal for 2 seconds, value: 0

[Video Firmware Version]   332222
[Video Binary  Built on]   Aug 25 2010 13:57:05
Node 0, zone      DMA     58     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3838

Node 0, zone      DVR      0      0      1      1      1      0      1      1      1      1      0      1      4

free pages: 19420

cached size:  2925

try_to_free_pages: free 0

Node 0, zone      DMA     58     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3838

Node 0, zone      DVR      0      0      1      1      1      0      1      1      1      1      0      1      4

free pages: 19420

cached size:  2925

+++ ALLOC index: 12288 order: 12

1. start remap DVR zone 85000000(805c0000) 4096…

map_done is 0…

+++ ALLOC index: 18432 order: 10

1. start remap DVR zone 86800000(805f0000) 1024…

map_done is 0…

+++ ALLOC index: 17664 order: 3

1. start remap DVR zone 86500000(805ea000) 8…

map_done is 0…

Node 0, zone      DMA     66     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3846

Node 0, zone      DVR      0      0      1      2      2      1      2      2      0      1      1      0      3

free pages: 14292

cached size:  2925

try_to_free_pages: free 0

Node 0, zone      DMA     66     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3846

Node 0, zone      DVR      0      0      1      2      2      1      2      2      0      1      1      0      3

free pages: 14292

cached size:  2925

+++ ALLOC index: 20480 order: 12

1. start remap DVR zone 87000000(80600000) 4096…

map_done is 0…

Node 0, zone      DMA     66     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3846

Node 0, zone      DVR      0      0      1      2      2      1      2      2      0      1      1      0      2

free pages: 10196

cached size:  2925

try_to_free_pages: free 0

Node 0, zone      DMA     66     54     36     25     14      5      0      1      1      1      0      1      0

free pages:  3846

Node 0, zone      DVR      0      0      1      2      2      1      2      2      0      1      1      0      2

free pages: 10196

cached size:  2925

+++ ALLOC index: 8192 order: 12

1. start remap DVR zone 84000000(805a0000) 4096…

map_done is 0…

VBM: configured to SD!
[BONDING] ac3_dts_ddp dec= 0x00000000
[BONDING] ac3_dts_ddp dec= 0x00000000
dac’s key =  0x00000001 (1 : has, 0: no key)
[BONDING] MLP ret= 0x00000000, key= 0x00000000, HBR= 0x00000001, dac= 0x00000000
dac’s key =  0x00000000 (1 : has, 0: no key)
[BONDING] MLP ret= 0xffffffff, key= 0x00000000, HBR= 0x00000001, dac= 0x00000001
board = 1 !, if -1, this board has illegal ID
file is (AC3,DTS,WMA) (1,0,0)
Do you have key?(0 = no!) 0
Bonding option process  0x00000009 to AUDIO_UNKNOWN_TYPE !!!
[BONDING] ac3_dts_ddp dec= 0x00000000
dac’s key =  0x00000001 (1 : has, 0: no key)
[BONDING] DTSHD ret= 0x00010000, getkey= 0x00000000, HBR =  0x00000001, dac= 0x00000000dac’s key =  0x00000001 (1 : has, 0: no key)
dac’s key =  0x00000000 (1 : has, 0: no key)
board = 1 !, if -1, this board has illegal ID
file is (AC3,DTS,WMA) (0,1,0)
Do you have key?(0 = no!) 0
Bonding option process  0x0000001b to AUDIO_UNKNOWN_TYPE !!!
dac’s key =  0x00000000 (1 : has, 0: no key)
board = 1 !, if -1, this board has illegal ID
file is (AC3,DTS,WMA) (0,1,0)
Do you have key?(0 = no!) 0
Bonding option process  0x0000001c to AUDIO_UNKNOWN_TYPE !!!
dac’s key =  0x00000000 (1 : has, 0: no key)
board = 1 !, if -1, this board has illegal ID
file is (AC3,DTS,WMA) (0,1,0)
Do you have key?(0 = no!) 0
Bonding option process  0x0000001d to AUDIO_UNKNOWN_TYPE !!!
dac’s key =  0x00000000 (1 : has, 0: no key)
board = 1 !, if -1, this board has illegal ID
file is (AC3,DTS,WMA) (0,0,1)
Do you have key?(0 = no!) 0
Bonding option process  0x00000023 to AUDIO_UNKNOWN_TYPE !!!
High =  0x00000000, Low =  0x03c1b5fe
The following Format is supported:
MPEG
AC3
LPCM
DTS
WMA
AAC
VORBIS
DV
DDP (AC3+, EAC3)
WMA Pro
MP4 LC-AAC
MP4 HE-AAC
RAW AAC
ADPCM
FLAC
A Law PCM
u Law PCM
[VIDEO Capability]HighWord  0xffffffff, LowWord  0xffffffff
[HDMI]: Set AVMute
[HDMI]: TURN OFF HDMI PHY for Mars
[HDMI]: MARS HDMI is running…
[HDMI]: Disable HDCP
[HDMI]: Set I2C Speed = 50 kHz and increase i2c pull-low strengt[I2C0] i2c speed changed to 50 KHz

h.
[HDMI]: Hotplug Change !!! -1 -> 0
+++ ALLOC index: 4096 order: 11

1. start remap DVR zone 83000000(80580000) 2048…

map_done is 0…

~~SetVideoStandard 1 1
Activate

m_browserDevice: 3

WARNING[2]:TVE i-underflow @ line 0
WARNING[2]:TVE p-underflow @ line 0
2379 SetCurrentBrowserTypeChoice GNewBrowserMenu.cpp 3
+++ ALLOC index: 17792 order: 7

1. start remap DVR zone 86580000(805eb000) 128…

map_done is 0…

— FREE index: 17792 order: 7

m_hDisplaySurface from OsdManagerTopView::showOSD function = 272470232
[GBrowserAP.cpp:490]:GiveUpFocus()- %%%%%% – !!
IN : /tmp/net
Create /tmp/net Ok!!!
In my system…
sata1: reset phy again!

sata phy reset

+++ ALLOC index: 17792 order: 7

1. start remap DVR zone 86580000(805eb000) 128…

map_done is 0…

— FREE index: 17792 order: 7

m_hDisplaySurface from OsdManagerTopView::showOSD function = 272470232
m_hDisplaySurface from OsdManagerTopView::showOSD function = 272470232
In my system…
[usb_param] setting for mars

Setting for MARS-B

[usb_param] set port two for host!

[usb1_param] usbphy reg 32, set sh = 0x5, get sh = 0x5, 4bit

[usb1_param] usbphy reg 35, set src = 0x7, get src = 0x7, 3bit

[usb1_param] usbphy reg 36, set senh = 0xd, get senh = 0xd, 4bit

[usb1_param] usbphy reg 32, set sen = 0x8, get sen = 0x8, 4bit

[usb1_param] usbphy reg 33, set dr = 0x0, get dr = 0x0, 3bit

[usb2_param] usbphy reg 32, set sh = 0x5, get sh = 0x5, 4bit

[usb2_param] usbphy reg 35, set src = 0x7, get src = 0x7, 3bit

[usb2_param] usbphy reg 36, set senh = 0xd, get senh = 0xd, 4bit

[usb2_param] usbphy reg 32, set sen = 0x8, get sen = 0x8, 4bit

[usb2_param] usbphy reg 33, set dr = 0x0, get dr = 0x0, 3bit

ehci_hcd ehci_hcd: EHCI Host Controller

ehci_hcd ehci_hcd: new USB bus registered, assigned bus number 1

ehci_hcd ehci_hcd: irq 2, io mem 0xb8013000

ehci_hcd ehci_hcd: park 0

ehci_hcd ehci_hcd: USB 0.0 initialized, EHCI 1.00, driver 10 Dec 2004

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

hub : individual port power switching

hub : individual port over-current protection

Error in threshold value: 0…
WatchDog does not receive signal for 2 seconds, value: 0
[cfyeh] set PPE = 0

[usb_param] setting for mars

Setting for MARS-B

[usb_param] set port two for host!

[usb1_param] usbphy reg 32, set sh = 0x5, get sh = 0x5, 4bit

[usb1_param] usbphy reg 35, set src = 0x7, get src = 0x7, 3bit

[usb1_param] usbphy reg 36, set senh = 0xd, get senh = 0xd, 4bit

[usb1_param] usbphy reg 32, set sen = 0x8, get sen = 0x8, 4bit

[usb1_param] usbphy reg 33, set dr = 0x0, get dr = 0x0, 3bit

[usb2_param] usbphy reg 32, set sh = 0x5, get sh = 0x5, 4bit

[usb2_param] usbphy reg 35, set src = 0x7, get src = 0x7, 3bit

[usb2_param] usbphy reg 36, set senh = 0xd, get senh = 0xd, 4bit

[usb2_param] usbphy reg 32, set sen = 0x8, get sen = 0x8, 4bit

[usb2_param] usbphy reg 33, set dr = 0x0, get dr = 0x0, 3bit

ohci_hcd ohci_hcd: OHCI Host Controller

ohci_hcd ohci_hcd: new USB bus registered, assigned bus number 2

ohci_hcd ohci_hcd: irq 2, io mem 0xb8013400

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 2 ports detected

hub : no power switching (usb 1.0)

hub : no over-current protection

usb 1-1: new high speed USB device using ehci_hcd and address 2

[HDMI]: Seup HDMI HPD GPIO.
[HDMI]: Setup_HPD_GPIO, de-bounce = 10 ms Mars
In my system…
This is the current time: PowerUP_Done!!!

hub 1-1:1.0: USB hub found

hub 1-1:1.0: 4 ports detected

hub : ganged power switching

hub : global over-current protection

[System2ApDaemon.cpp,threadSys2ApExe,156]msg type = 6 ,msg len = 5 ,msg = 31 20 55 50 00 00 00 00
Hotplug got one USB Hotplug of “Add” from port “1”.
usb 1-1.3: new high speed USB device using ehci_hcd and address 3

scsi2 : SCSI emulation for USB Mass Storage devices

[System2ApDaemon.cpp,threadSys2ApExe,156]msg type = 6 ,msg len = 7 ,msg = 31 2E 33 20 55 50 00 00
Hotplug got one USB Hotplug of “Add” from port “1.3”.
watchdog test pid 199, threshold: 50
sata1: reset phy extra!

sata phy reset

watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
Vendor: Generic   Model: STORAGE DEVICE    Rev: 9451

Type:   Direct-Access                      ANSI SCSI revision: 00

modprobe: module sd_mod not found.
modprobe: failed to load module sd_mod
sata1: reset phy extra!

sata phy reset

watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
Attached scsi removable disk sda at scsi2, channel 0, id 0, lun 0

Attached scsi generic sg0 at scsi2, channel 0, id 0, lun 0,  type 0

rmdir: `/var/lock/hotplug/mount_tmp/.sda’: No such file or directory
ufsd: no version for “struct_module” found: kernel tainted.

ufsd: module license ‘Commercial product’ taints kernel.

ufsd: driver 8.1 (002_I) LBD=ON with ioctl loaded at c013a000

NTFS read/write support included

watchdog test pid 199, threshold: 50
sata1: reset phy extra!

sata phy reset

watchdog test pid 199, threshold: 50
mount: Mounting /dev/scsi/host2/bus0/target0/lun0/disc on /var/lock/hotplug/mount_tmp/.sda failed: No medium found
mount: Mounting /dev/scsi/host2/bus0/target0/lun0/disc on /var/lock/hotplug/mount_tmp/.sda failed: No such device
watchdog test pid 199, threshold: 50
Algorithmics/MIPS FPU Emulator v1.5

——flush priority: 10

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

——flush priority: 10

flush_page_cache: do flush…

flush_page_cache: do flush…

watchdog test pid 199, threshold: 50
sata1: phy reset timeout!

sata1: no device found (phy stat 00000000)

sata1: ata_bus_probe failed

scsi1 : SATA_DRV

sata dma reset

mount: Mounting /dev/scsi/host2/bus0/target0/lun0/disc on /var/lock/hotplug/mount_tmp/.sda failed: No medium found
watchdog test pid 199, threshold: 50
p2p init!
sata2: reset phy again!

sata phy reset

watchdog test pid 199, threshold: 50
sata2: reset phy again!

sata phy reset

watchdog test pid 199, threshold: 50
mount: Mounting /dev/scsi/host2/bus0/target0/lun0/disc on /var/lock/hotplug/mount_tmp/.sda failed: No medium found
mount: Mounting /var/lock/hotplug/mount_tmp/.sda on /tmp/usbmounts/sda failed: Invalid argument
[System2ApDaemon.cpp,threadSys2ApExe,156]msg type = 4 ,msg len = 24 ,msg = 73 64 61 20 52 45 41 44

[Sys2ApBridge.cpp-CallBack_block_event-572] CMD – event_id = 4 MessageNumber = 1 ,MSG = sda READY host2 USB 1.3

ACTION: READY ==> host2, USB, 1.3 !!

AppendStorageDevice Host Name : host2

Add Device 3 Path : /dev/scsi/host2/bus0/target0/lun0/disc

Hotplug: “sda” has no partition.
Hotplug: mount -t ufsd -o ro,sparse -o nls=utf8 -o umask=0 /dev/scsi/host2/bus0/target0/lun0/disc /var/lock/hotplug/mount_tmp/.sda    ret: 255
Hotplug: mount -t ntfs -o ro -o nls=utf8 -o umask=0 /dev/scsi/host2/bus0/target0/lun0/disc /var/lock/hotplug/mount_tmp/.sda    ret: 255
Hotplug: mount -t vfat -o ro,shortname=winnt -o utf8 -o umask=0 /dev/scsi/host2/bus0/target0/lun0/disc /var/lock/hotplug/mount_tmp/.sda    ret: 255
Hotplug: mount -t ext3 -o ro /dev/scsi/host2/bus0/target0/lun0/disc /var/lock/hotplug/mount_tmp/.sda    ret: 255
Hotplug: Mount –move “/tmp/usbmounts/sda” fail.
reserve 2, name: sda
cmd_buffer: echo /dev/scsi/host2/bus0/target0/lun0/disc > /tmp/ramfs/volumes/C:
Hotplug got one BLOCK Hotplug of “Ready” from “sda”
watchdog test pid 199, threshold: 50
sata2: phy reset timeout!

sata2: no device found (phy stat 00000000)

sata2: ata_bus_probe failed

watchdog test pid 199, threshold: 50
Device not ready. Make sure there is a disc in the drive.

watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
Device not ready. Make sure there is a disc in the drive.

Some of the INQUIRY command’s response:
Generic   STORAGE DEVICE    9451
INQUIRY duration=0 millisecs, resid=50
removable = 1

UpdateStorageInfo : !!!3!!!

Current Storge Device ID : -1 !!

watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50
watchdog test pid 199, threshold: 50

2 comments to DIYOMATE S9 – Hardware (dealextreme – sku.42402)

  • Sandro

    Ryan, existe algum circuito nessa placa com a inscrição “SW3”? E nesse aparelho, do lado do conector SATA externo, existe algum furo para restauração após um update errado? Pergunto isso porque em modelos semelhantes que usam o mesmo chipset, essas são as duas opções de restauração (além do cabo UART). No caso do circuito, é necessário desmontar o aparelho, ligar os dois pontos do circuito com algo metálico, plugar o flashdrive com a atualização do firmaware e depois ligar o aparelho. No caso do furo, funciona como um reset. Agradeço a resposta.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>