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
- 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:
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:
- Xtreamer Hardware Specifications – com fotos das placas
- Realtek RTD1073 Demo Board layout
- Foto com boa resolução da placa do ACRYAN
- Review do Patriot Box Office (PBO) Media Player – com fotos da placa
- Play!HD serial cable search – COm fotos da placa
- HiMedia HD300A (RTD1073) TTL Serial Pinout – Com foto da placa
- ASUS O!Play Air HDP-R3 Media Player Review – Com fotos da placa
Atenção: Só publicarei comentários que tenham relação direta com o post. Ou seja: sobre a eletrônica do aparelho.
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.
[0m[31;5mError! Unknown SB2_CHIP_INFO. Linux is too old?[0m
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
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.
Eu já havia examinado com cuidado a placa e não encontrei nada. A única coisa que me faltou foi arrancar o dissipador e tentar seguir as trilhas. Mas não quero ter que fazer isso por enquanto.