TV Box RK322X - MXQ Pro 5G 4K Antes de começar, as seguintes leituras são recomendadas:- IFSP firma protocolo de intenções com Receita Federal: https://www.ifsp.edu.br/noticias/3902-ifsp-firma-protocolo-de-intencoes-com-receita-federal- IFSP e Receita entregam 420 microcomputadores a escolas: https://www.ifsp.edu.br/conemac/17-ultimas-noticias/2994-parceria-entre-ifsp-e-receita-federal-entrega-420-microcomputadores-a-escolas Este documento é um rascunho. As pesquisas relacionadas a este equipamento ainda estão sendo realizadas. Até o momento, não foi possível descobrir como fazer boot por cartão SD nos dispositivos entregues ao IFSP São João da Boa Vista. As ações abaixo tratam de fazer a atualização direta via cabo USB. Conhecendo a placa A placa contém na parte integrada: chipset Rockchip RK3229/RK322A; memória RAM de 1GB; memória flash da Samsung de 8GB para armazenamento; módulo wireless; módulo Ethernet. Nos detalhes externos há: 1 leitor de cartão SD; 4 portas USB; 1 conector P2 para saída de som; 1 conector P2 para microfone; 1 porta HDMI; 1 porta Ethernet; 1 jack para energia 5V; 1 botão de ação localizado atrás do conector P2 de áudio. Conectando a um PC Atenção: o cabo confeccionado nas instruções abaixo não é padronizado. Jamais utilize-o para tentar conectar outros dispositivos USB-A. Para fazer a conexão a um computador é necessário um cabo USB-A para USB-A (macho-macho). Este cabo pode ser montado utilizando 2 cabos normais USB-A de quaisquer dispositivos antigos e construindo-o com a pinagem replicada, isto é, o pino de um lado de uma cabo deve-se ligar ao mesmo pino do outro. Normalmente, você poderá confeccionar este novo cabo apenas unindo os condutores pela cor, porém deve-se tomar o cuidado pois nem sempre tais cabos seguem um padrão (antes de ligar a placa, faça um teste nas pontas do novo cabo com um multímetro ou utilize cabos idênticos na confecção). A conexão a um computador é feita através da porta USB da TV Box que fica isolada das outras. Ligação Quando ligar a placa ao computador, não ligue-a na fonte. A porta USB do computador fornecerá a energia necessária para ligá-la. Se o dispositivo estiver funcionando normalmente, ao ligar a conexão USB apenas servirá para o fornecimento de energia. O sistema operacional carregado ainda poderá utilizar a conexão desta porta para outras finalidades (como o modo depuração que há no sistema operacional Android). Programas Há diversos programas para subir novos firmwares e sistemas operacionais para a placa. Para Linux, a ferramenta rkdeveloptool é utilizada. Em Windows, a ferramenta pode ser encontrada com o nome de AndroidTool, mas possui as mesmas funcionalidades. A grande diferença entre as versões é que em Windows a ferramenta possui uma interface gráfica amigável. Em Linux, é necessário utilizar o terminal. Para instalar o rkdeveloptool em Debian, a ferramenta está disponível diretamente via repositórios. Para obtê-lo, basta executar como root: apt install rkdeveloptool . Para instalar o rkdeveloptool em Ubuntu, os repositórios do Debian podem ser utilizados para baixar o rkdeveloptool: echo "deb http://deb.debian.org/debian bookworm main non-free-firmware" > /etc/apt/sources.list.d/debian.list apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0E98404D386FA1D9 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F8D2585B8783D481 apt update apt install -y rkdeveloptool Caso queira instalar o rkdeveloptool em Linux compilando diretamente do código-fonte, clique aqui para ler as instruções oficiais. Para instalar em Windows, baixe o AndroidTool clicando aqui e extraia o arquivo compactado para uma pasta qualquer. Trabalhando em outros modos de operação A placa funciona em 3 modos: Modo NORMAL: funcionamento padrão (carrega o sistema operacional); Modo LOADER: carrega apenas o firmware (utilizado para subir um novo sistema operacional); Modo MASKROM: carrega o firmware mínimo somente-leitura gravado de fábrica (é carregado quando o firmware principal está corrompido ou inválido). É um modo emergencial utilizado para subir um novo firmware. Tecnicamente, os dispositivos Rockchip não podem ser bloqueados (bricked). Se o flash interno não contiver um sistema inicializável, eles sempre inicializarão a partir do cartão SD. Se, por algum motivo, o sistema inicializável no flash interno estiver corrompido ou não conseguir inicializar corretamente, você sempre poderá forçar o modo MASKROM encurtando o pino do relógio eMMC no PCB. O computador deverá ter os drivers necessários para que que você possa trabalhar nos modos LOADER ou MASKROM. Sem os drivers, caso haja um sistema operacional Android instalado, a ação padrão de pressionar o botão ao ligar é de reiniciar o dispositivo para as configurações de fábrica. Para baixar os drivers da Rockchip para Windows, clique aqui. Em Ubuntu, não houve necessidade de instalar drivers. Tendo os drivers instalados, antes de ligar a placa deve-se segurar o botão que está atrás de um dos conectores P2 de áudio, e finalmente conectar o cabo USB. Abra o AndroidTool. Se tudo ocorreu corretamente, o programa irá exibir, na parte inferior, a mensagem de que o dispositivo foi encontrado em modo LOADER. Entendendo o AndroidTool Ao ligar o dispositivo no modo normal, podemos notar (pela saída HDMI) que é carregado um sistema operacional Android com funcionalidades de multimidia. Ao ligar o dispositivo segurando o botão interno acessível pela saída SPDIF, o dispositivo entra no modo LOADER (nenhuma imagem na saída HDMI é gerada). Com o AndroidTool aberto, indo na aba "Avançado", podemos obter mais informações do dispositivo clicando nos botões "(Info)": (Info) FlashID : (Info) Flash : (Info) Chipset : (Info) Capacidade : Voltando na aba inicial "Imagem" e clicando no botão "Analisar partições" podemos observar o conteúdo da memória Flash: Firmware/imagem original Estrutura da imagem original Descrição uboot https://en.wikipedia.org/wiki/Das_U-Boot trust misc ??? baseparamer ??? resource ??? kernel Kernel Linux boot Igual ao initrd (https://pt.wikipedia.org/wiki/Initrd ) recovery ??? backup ??? cache Partição para cache do Android metadata ??? kpanic ??? system Partição para os arquivos do Sistema Operacional userdata Partição para os arquivos do usuário Backup da imagem Até o momento, não foi possível fazer o backup do firmware original para entender como funciona a estrutura lógica do dispositivo. O programa AndroidTool gera erro.O tutorial utilizado é esse: "COMO FAZER BACKUP DO SEU TV BOX - ROCKCHIP": https://www.youtube.com/watch?v=AhrbnEFczGc UART Rascunho para depuração serial RK3228A AA15: GPIO1_B1/UART0_TX/GMAC_TXD0_M1 Y15: GPIO1_B0/UART0_RX/GMAC_TXD1_M1 RK3229 T18: GPIO2_D2/UART0_TX Y17: GPIO2_D3/UART0_RX Funcionamento do sistema TO-DO: entender U-boot https://en.wikipedia.org/wiki/Das_U-Boot https://www.edivaldobrito.com.br/u-boot-agora-permite-iniciar-o-linux-a-partir-de-um-servidor-http/ https://unix.stackexchange.com/questions/703518/defining-console-port-in-arm-kernel-image Tutorial: Introduction to the Embedded Boot Loader U-boot - Behan Webster, Converse in Code: https://www.youtube.com/watch?v=INWghYZH3hI [4/4] rockchip: Enable HDMI output on rk3399 board w/ HDMI: https://patchwork.kernel.org/project/linux-rockchip/patch/20200123162845.10651-5-jagan@amarulasolutions.com/ rk3399 and hdmi logo: https://github.com/rockchip-linux/u-boot/issues/42 https://github.com/rockchip-linux/u-boot/issues?q= Gravando um novo firmware TO-DO: Gravando um novo sistema operacional TO-DO: Referências Documentação oficial do RockChip sobre boot: https://opensource.rock-chips.com/wiki_Boot_option https://forum.armbian.com/topic/12656-csc-armbian-for-rk322x-tv-boxes/ https://imola.armbian.com/dl/rk322x-box/archive/ https://github.com/rockchip-linux/rkbin/tree/master/bin/rk32 http://rockchip.wikidot.com/how-to-enter-rockusb-maskrom-mode Fix Your Slow Rockchip Android Box by Installing a New Firmware (Tested on MXQ Pro 4K 5G) Eng Sub: https://www.youtube.com/watch?v=47QD9kBBdyk Cabo USB x USB Macho: https://www.youtube.com/watch?v=7-wLGx6YA5w Como instalar firmware na TV Box: https://www.youtube.com/watch?v=U7KHzBfOXYk Instalando Linux em TV Box com RK322X!: https://www.youtube.com/watch?v=R0zjwQG2iE4 https://forum.xda-developers.com/t/tool-imgrepackerrk-rockchips-firmware-images-unpacker-packer.2257331/ https://opensource.rock-chips.com/wiki_Rkdeveloptool https://github.com/rockchip-linux/rkdeveloptool/issues/13 https://github.com/ilmich/rkflashtool/ https://wiki.radxa.com/RockpiN10/dev/usb-install COMO SAIR DO MODO MASKROM - ROCKCHIP TV BOX: https://www.youtube.com/watch?v=vqc4-Jc2nwc Desbrickando TV BOX MXq Pro 4k 5G, RK3228A (Unbrick) placa R29_5G_LP3_V1.2: https://www.youtube.com/watch?v=1Vxl2GVP2ho TV BOX MASKROM SOLUÇÃO DEFINITIVA QUALQUER TVBOX MXQhttps://www.youtube.com/watch?v=lgfkFnXBXlg Um guia para realizar uma compilação Linux: https://wiki.t-firefly.com/en/ROC-RK3568-PC/linux_compile.html Um usuário do fórum Armbian que possui o hardware idêntico ao que foi fornecido ao campus: https://forum.armbian.com/topic/12656-csc-armbian-for-rk322x-tv-boxes/?do=findComment&comment=117962 Rockchip RK3229 Datasheet: https://rockchip.fr/RK3229%20datasheet%20V1.2.pdf Intro to Hardware Reversing: Finding a UART and getting a shell: https://www.youtube.com/watch?v=ZmZuKA-Rst0 Hacker's Guide to UART Root Shells: https://www.youtube.com/watch?v=01mw0oTHwxg Conheça as piores placas de tvbox mxq pro ou mx9https://www.youtube.com/watch?v=zCFzkr_o9-s COMO FAZER BACKUP DO SEU TV BOX - ROCKCHIPhttps://www.youtube.com/watch?v=AhrbnEFczGc Especificação com base no nome "hx322x_box"https://specdevice.com/showspec.php?id=e4ca-0382-0033-c5870033c587 CRIE SEU PRÓPRIO LINUX - TV Boxhttps://www.youtube.com/watch?v=8Ch7nUBiQa0 Coletânea de arquivos obtidos: https://app.sbv.ifsp.edu.br/instaladores/tvbox/