Você está na página 1de 28

GENILTO VANZIN SOBRE DEV HOBBIES CONTATO

E o mundo das idéias.

Revivendo uma câmera IP chinesa


PUBLICADO EM 1 DE NOVEMBRO DE 2020 POR GENILTO VANZIN

Nesse post vamos ver como reviver uma câmera IP chinesa da Marca Besder comprada no aliexpress, que utiliza o chip da
xiongmaitech (que inclusive me pareceu famosa pela falta de segurança em suas câmeras. Tem várias postagens pela internet falando
das brechas de segurança nos equipamentos).

A câmera deixou de funcionar depois da tentativa de atualização do firmware a partir do aplicativo ICSee. A atualização travou e depois
disso, não ligou mais. Não adiantava tentar o reset, nem nada.

4k 8mp câmera ip sem fio de


Novo 4k 8mp ip camera de

segurança ao ar livre wifi… segurança de áudio externa…


30,36 € 67,46 € 35,34 € 63,11 €

3mp5mp 2.5 "poe ptz vídeo


Anbiux 8mp 4k câmera ip

ip cctv sistema de câmera… 5mp velocidade dome…


44,32 € 102,54 € 30,41 € 64,71 €

AliExpress

Privacidade - Termos de
Utilização
Pesquisando na internet, descobri que esse tipo de câmera possui uma interface de comunicação serial, porém não facilmente
GENILTO VANZIN
acessível. A partir daí seria possível realizar alguns procedimentos para tentar reinstalar
SOBREo firmware
DEVe reestabelecer
HOBBIES o funcionamento
CONTATO
Enormal da câmera.
o mundo das idéias.

Faça esse procedimento por sua conta e risco. Não é um processo simples e muita coisa pode dar errado.

Se você tem interesse em comprar uma câmera igual a essa, pode comprar no aliexpress, é mais barato do que comprar no mercado
livre por exemplo, embora demore um pouco mais. A Besder, que é o vendedor onde comprei essa câmera até então é de confiança,
todos os produtos que comprei com eles vieram certinho e o suporte é bom também. Se tiver interesse, abaixo coloquei alguns links
com câmeras que já comprei e são boas. Algumas inclusive você pode rotacionar remotamente, segue o link da câmeras, é só clicar na
câmera desejada:

Identificando os pinos UART (GND, TX, RX)


Primeiro de tudo é necessário identificar quais são os pinos UART na placa da câmera. Para isso segui alguns passos, conforme alguns
posts que li, dá uma olhada mais abaixo nas referências para ver os links.

Em resumo, abri a câmera e procurei por uma seção de 4 pinos padrão que parececem ser os pinos que eu queria. No meu caso,
estava relativamente fácil de identificar, uma vez que estava bem claro 4 pinos, sendo que um deles estava demarcado com um “1”.

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Geralmente são 4 pinos, pois o VCC também eu acho que sempre está junto. O pino demarcado com o “1”, no meu caso é o VCC
mesmo, com saída de 3.3v.

GND. Mas vamos lá, para descobrir isso, utilizei um multímetro e o primeiro pino que tentei descobrir foi o GND que teoricamente é o
mais fácil. Coloquei o multímetro em modo de continuidade, para testar continuidade (óbvio), e testei nos quatro pinos se um deles
estava conectado ao ground da placa, geralmente o GND está ligado nas carcaças metálicas. E foi isso mesmo, pino 3 dando
continuidade com um parafuso da placa, indicando realmente ser o GND.

Privacidade - Termos de
Utilização
GENILTO VANZIN
4k 8mp câmera ip sem fio de

segurança ao ar livre wifi… SOBRE


Novo 4k 8mp ip camera de

DEVsegurança
HOBBIES CONTATO
de áudio externa…
E o mundo das idéias.
30,36 € 67,46 € 35,34 € 63,11 €

3mp5mp 2.5 "poe ptz vídeo


Anbiux 8mp 4k câmera ip

ip cctv sistema de câmera… 5mp velocidade dome…


44,32 € 102,54 € 30,41 € 64,71 €

AliExpress
VCC. Agora, em modo de medir tensão, conectei a ponta de prova preta ao GND que descobri (pino 3) e a vermelha no pino 1. Marcou
3.34v me indicando que provavelmente aquele era o VCC mesmo. Não dava pra ter certeza, mas a marcação da placa no meu caso,
isolando um pouco mais esse pino e demarcando com “1”, já me dava certa confiança. Esse pino só é importante encontrar, para que
não seja confundido com um TX ou RX, já que não vamos utilizar o VCC.

TX e RX. Aqui a coisa começa a ficar complicada. Se você tiver um osciloscópio acho que facilitaria, pois seria possível medir as
oscilações desses pinos, já que é uma comunicação serial, esses pinos ficam ligando e desligando muito rapidamente, enviando os bits
da comunicação. Como não tinha nenhuma ferramente ideal para medição, fui no multimetro barato mesmo. Ao medir identifiquei que
os dois pinos ficavam em 3.3v ao ligar a câmera (ponta preta no GND e vermelha no pino que eu queria medir).

Pois bem isso poderia indicar duas coisas, ou é o pino TX ou RX e o meu multímetro por ser mais lento não consegue medir as
variações de tensão causadas pela taxa de comunicação ser alta, ou um dos dois pode ainda ser o VCC, já que eu não tinha ainda
certeza.

Fiz um teste desligando a câmera enquanto media os pinos. Ao desligar com o multimetro conectado, tanto ao pino 2, quanto ao pino
4, a tensão ia a zero imediamente, indicando, pra mim, fim de comunicação.

Ao fazer o mesmo teste com o multimetro no pino 1 (VCC) a tensão não ia a zero imediatamente, mas ainda permaneciam alguns
milivolts por alguns segundos antes de ir a zero. Pra mim, indicando algum capacitor ainda em descarga e me dando mais certeza de
que aquele era mesmo o VCC, logo sobravam os pinos 2 e 4 como TX e RX, ainda não sabendo qual era qual.

Fim da história, soldei 3 fios, preto no pino 3 (GND), verde no pino 2 e laranja no pino 4. Como ainda não tinha certeza qual era o RX e
qual era o TX, resolvi ligar e testar assim mesmo.

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

USB to TTL (usando um NodeMCU queimado!)


Vocês devem saber que para fazer uma comunicação serial com o computador é necessário um conversor USB-TTL, que é bem fácil de
achar pra comprar e bem barato.

Por exemplo: https://s.click.aliexpress.com/e/_A88LJ0

Mas eu não estava com paciência de esperar.

Na internet encontrei alguns posts falando que é possível utilizar o arduino como USB-TTL. E isso me deu umas idéias.

Como tinha aqui em casa arduino uno, esp32 e esp8266, os últimos dois embarcados nas famosas placas nodemcu, que já possuem
embutidos os chips conversores para comunicação serial com o USB do computador, de forma que você consegue facilmente espetar
seu ESP diretamente no USB e sair programando pra ele sem se incomodar com conversores (Olha só!)

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Caso queira comprar um nodemcu desse, vou deixar o link de onde você pode comprar. Compro sempre no aliexpress, demora um
pouco pra chegar, entre 20 a 30 dias, mas vem certinho.

Nodemcu: https://s.click.aliexpress.com/e/_AkN0OS

Detalhe importante: como o esp8266 embarcado no meu nodemcu estava queimado e não funcionava mais, resolvi fazer umas
experiências com ele.

Como ao conectar o nodemcu no usb ele ainda reconhecia, isso indicava pra mim que o conversor USB-Serial dele ainda estava
funcionando. Apenas o esp8266 é que tinha morrido, então se eu tentasse, por exemplo, enviar algum código pra ele, ele não
respondia.

-41% -48% -80%

AliExpress.com
Privacidade - Termos de
Utilização
Logo, a idéia foi remover completamente o esp8266 do nodemcu e utilizar o conversor de lá, ligando os fios correspondentes ao GND,
GENILTO VANZIN
TX e RX deiretamente. Para remover, utilizei o estanhador mesmo, não é o indicado, mas não tinha
SOBRE DEVoutro meio. Alguns pinosCONTATO
HOBBIES foram
Earrancados, mas
o mundo das os que eu precisava ficaram instactos, ainda bem.
idéias.

ESP8266 removido (veja que na foto já tem os fios ligados, Verde: TX, Laranja: RX, Preto: GND):

Abaixo a ligação dos fios nos pinos correspondentes. Essa imagem demonstra como encontrei os pinos no nodemcu. Isso foi muito fácil
pois embaixo do esp8266 tinha já a marcação de cada pino, então, foi só olhar onde estava ligado e soldar. Bem fácil.

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Preto: GND, Verde: TX, Laranja: RX

Ligação do USB-TTL com o UART da Câmera


IMPORTANTE: Um ponto importante é sempre se atentar a tensão dos equipamento que você está conectando. Por exemplo, se você
for utilizar um arduíno como conversor USB-Serial nessa câmera, eu recomendaria utilizar um conversor de nível lógico bidirecional de
5v para 3.3v (ou um divisor de tensão), uma vez que o arquino trabalha com 5v, e a câmera, a gente viu que trabalha a 3.3v. Ligar 5v ali
poderia danificar a câmera.

No caso do nodemcu, ele já trabalha com 3.3v, pois o esp8266 também trabalha nessa tensão, então tudo perfeito, não precisei fazer
nenhuma conversão.

4k 8mp câmera ip sem fio de


Genuine jet pistola de água

segurança ao ar livre wifi… lavagem de carro pistola…


30,36 € 67,46 € 11,54 € 17,74 €

Lavadora de alta pressão


Anbiux 8mp 4k câmera ip

arma para karcher k2 k3 k4… 5mp velocidade dome…


10,75 € 13,61 € 30,41 € 64,71 €

Aliexpress
Continuando, a primeira vez que liguei a câmera no nodemcu e liguei no computador, nada aconteceu. Isso porque o RX e o TX estava
ligados no mesmo ou seja, RX com RX e TX com TX. O Correto é ligar ao contrário, RX com TX e TX com RX.

GND deve ser ligado com GND. Não esqueça dele.

Privacidade - Termos de

Fonte da imagem: Utilização


https://medium.com/@shubhamgolam10/reverse-engineering-
GENILTO VANZIN uart-to-gain-shell-de9019ae427a
SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
Mascomo vimos, eu nem sabia quem era o TX e o RX da câmera. Descobri quando não funcionou e ao inverter funcionou. rsrsrs Não sei
se pode ocorrer algum problema ao ligar isso invertido, mas no meu caso nada foi danificado.

Então ficou assim:

Fio preto da camera(GND) ligado ao preto do nodemcu


Fio Verde da camera (TX) ligado ao laranja do nodemcu (RX)
Fio Laranja da camera (RX) ligado ao verde do nodemcu (TX)

Lendo a comunicação Serial


Uma das dúvidas que eu tinha era como ler essa comunicação no computador. Primeiro fui no velho conhecido arduino IDE, selecionei
a porta onde o nodemcu modificado estava conectado, e abri o serial monitor. Se conhece o arduino sabe do que estou falando.

Incrível ver como aquilo não tinha funcionado. Primeiro, por que nada aconteceu, então resolvi inverter o fios do tx e rx, como
mencionando acima. Depois disso, vualá, um monte de caracteres estranhos começaram a aparecer na tela:

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Isso me indicava uma coisa,o tal do BAUD RATE estava errado.

Descobrindo o BAUD RATE


Não vou explicar exatamente o que é isso, mas em resumo, é a velocidade de comunicação que está sendo utilizada naquela
comunicação. Se você programa arduino já viu que é possível definir a taxa desejada que você quer utilizar na comunicação. Logo, fui
testando outras ali no monitor serial do arduino até aparecer alguma coisa legível.

Existem outras formas de descobrir o baud rate, inclusive tem algumas formas nos links que coloquei ali em baixo nas referências. Mas
eu achei mais fácil do jeito que fiz.

-55% -34% -21%

AliExpress Oficial
Aliexpress

Em resumo, e pelo que vi a grande maioria das câmeras utilizam baud rate de 115200.

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Selecionando a porta correta e definindo o baud rate correto, é possível verificar o que a câmera envia pela comunicação serial.

Um detalhe importante, esse print da imagem acima, eu fiz depois de a câmera já estar funcionando corretamente. Antes, a
mensagem que ocorria na parte do “Uncompressing Linux… done, booting the kernel.” era um erro mais ou menos assim:

Uncompressing Linux…undefined instruction

Por isso a câmera não ligava mais, pois tinha alguma coisa corrompida no firmware atual.

Usando o Minicom
Para que fosse possível acessar o serial como se fosse um terminal e executar comandos na câmera foi necessário utilizar um outro
software, no meu caso utilizei o minicom, como estou utilizando o Ubuntu acabei achando mais fácil. A instalação é trivial, com um
simples sudo apt install minicom e está tudo certo.

Se você estiver no mac, pode usar o minicom também e instalar via homebrew. Se estiver no windows, não sei dizer ao certo, mas acho
que não tem minicom. Então vai ter que achar alternativas como o putty, senão estou enganado.

Como vimos, nossa comunicação está funcionando a partir do dispositivo /dev/ttyUSB0 que é onde plugamos o usb com o nodemcu.
sabendo disso podemos acessar o minicom digitando no terminal:

minicom -D /dev/ttyUSB0

Não esqueça de fechar o serial monitor do arduino, senão pode ter um erro como abaixo:

minicom: cannot open /dev/ttyUSB0: Device or resource busy

Enfim, você deve conectar o USB-TTL e iniciar o minicom sem ligar a câmera. O Minicom irá conectar na interface USB e aguardar
comunicação. Ao ligar a câmera, verá os dados que a câmera envia diretamente no seu terminal:

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Agora, preste atenção onde eu marquei com essa linda seta. Esta dizendo para pressionar CTRL + C para interromper o autoboot.

Isso quer dizer que se der ctrl+c antes do boot começar, ele interrompe o boot e te dá acesso ao prompt da câmera. E ISSO É
FANTÁSTICO!

Privacidade - Termos de
Utilização
GENILTO
-55% VANZIN -34% SOBRE
-21%
DEV HOBBIES CONTATO
E o mundo das idéias.

30,36 € 11,54 € 10,75 €


AliExpress Official
AliExpress

Uma dica é ficar apertando CTRL+C antes de ligar e enquanto liga a camera na energia, senão é difícil de conseguir antes do autoboot.

Ao entrar no prompt alguns comandos ficam disponíveis, no exemplo da imagem, digitei help e pressionei enter. O resultado é uma
lista de comandos disponíveis no sistema da câmera. Privacidade - Termos de
Utilização
Vou falar sobre alguns importantes:
GENILTO VANZIN
setenv – set environment variables SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
Utilizaremos para alterar algumas variáveis de ambiente, como por exemplo, o serverip, que será o ip do servidor tftp que iremos
configurar.

run – run commands in an environment variable


É um comando interessante, afinal, nos diz que roda comandos que estão armazenados em variáveis de ambiente. Isso significa que
existem variáveis de ambiente que possuem comandos a serem executados!

printenv – print environment variables


Exibe pra nós a lista das variáveis de ambiente, você verá como isso é importante, pois teremos que alterar algumas variáveis mais
tarde, para que nosso processo funcione corretamente, e também veremos as variáveis com os comandos que devemos executar.

Sobre as variáveis de ambiente, notamos algumas como ipaddr, que contém o ip atual da camera, serverip, que seria o servidor de
tftp que ela irá utilizar na horas de buscar os arquivos para fazer o update, e também existem algumas muito interessantes como é o
caso dos da, dc, dr, etc.

Se você perceber, o conteúdo delas é uma série de comandos específicos. Por exemplo, vamos analisar o conteúdo da variável da:

da=mw.b 0x81000000 ff 800000;tftp 0x81000000 u-boot.bin.img;sf probe 0;flwrite

Parece estar dizendo para fazer um memory write (mw.b) começando em 0x81000000 do ‘ff’ até os próximos 800000 bits, e então
executar um tftp (conectando no servidor definido na variável serverip) buscando o arquivo u-boot.bin.img começando a escrever em
0x81000000 e então verifica o dispositivo no bus 0 e finalmente grava na flash com o flwrite.

Vendo isso, percebemos que será necessário ter os arquivos .img para serem gravados, e também precisamos de um servidor tftp para
deixar esses arquivos disponíveis e, só então executar esses comandos utilizando o comando run (run commands in an environment
variable).

Baixando os arquivos do firmware


Privacidade - Termos de
Utilização
Aqui vai depender da sua câmera, você terá que identificar qual fabricante, modelo e tudo isso, e tentar encontrar os arquivos no site
GENILTO VANZIN
da fabricante. SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
No meu caso, a Besder, que é a marca onde comprei a câmera, possui como fabricante a xiongmaitech, que também tem várias outras
marcas vendendo os mesmo produtos, só que com marca diferente, bem típico, rsrs.

Então, se tiver com uma câmera da xiongmaitech, os passos serão bem parecidos, senão vai ter que ver como encontrar por você
mesmo. Se não for, eu nem sei se esses passos todos funcionarão.

Se você quiser saber se sua câmera é uma xiongmai, talvez esse post possa ajudar:

https://sec-consult.com/en/blog/2018/10/millions-of-xiongmai-video-surveillance-devices-can-be-hacked-via-cloud-feature-xmeye-p2p-
cloud/#BlogPostXiongmai(XMeyeP2PCloud)-HowtoidentifyaXiongmaidevice

IDENTIFICANDO O MODELO DO SEU DISPOSITIVO


Identifique o modelo exato da sua câmera. No meu caso, eu tenho duas câmeras idênticas, logo, consegui entrar nas informações do
dispositivo da que funciona e pegar essas informações conforme a imagem, se você não tem outra que funciona pra ver isso, pra ser
sincero, eu não sei como fazer.

Bem entrando nas configurações da câmera no ICSee consigo ver essas informações conforme abaixo:

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Veja onde sublinhei, são a versão do dispositivo e a versão do software. Essas informações sublinhadas você vai precisar para encontrar
seu firmware corretamente.

Então no meu caso:

Versão do dispositivo: 50X20-WG


Privacidade - Termos de
Utilização
Versão do software: Aqui precisamos apenas do 000309c1
GENILTO
ENCONTRANDO OVANZIN
FIRMWARE CORRETO DO SEU DISPOSITIVO SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
Eu encontrei no site da xiongmaitech a página de download de drivers. Porém, tem que ser na versão em chinês, já que a versão em
inglês do site não tem nada pra download.

Dessa forma, ativei a tradução para inglês no chrome mesmo, e fui procurando pelo drive que eu queria.

-55% -34% -21%

AliExpress Official
AliExpress

Link para download: http://www.xiongmaitech.com/service/down_detail1/13/2/5

No meu caso, estava na página 5. Então tente identificar o correto para o seu modelo. Não tente se não for exatamente a do seu
modelo!

Perceba que está exatamente a versão do dispositivo e a versão do software que encontramos anteriormente no nome do arquivo a
ser baixado.

Será baixado um arquivo como este:


Privacidade - Termos de
Utilização
000309C1.1IPC_XM530_50X20-WG_WIFIXM711.711.Nat.dss.OnvifS_V5.00.R02.zip
GENILTO VANZIN
É um arquivo compactado que se descompactado ficará assim: SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
General_IPC_XM530_50X20-WG_WIFIXM711.711.Nat.dss.OnvifS_V5.00.R02.20200917_all.bin

Um arquivo bin é como um arquivo compactado, nesse caso, caso sua câmera estiver funcionando, você pode atualizar ela diretamente
pela interface web dela ou pelo próprio app como o ICSee, informando esse arquivo .bin.

Porém, no meu caso, não está funcionando, se tivesse eu não estaria passando por todo esse trabalho, não é mesmo?

Dessa forma, para que possamos gravar o firmware, teremos que fazer isso por partes. Como falei, o arquivo .bin nada mais é do que
um arquivo compactado, no mac e no linux, é possível descompactar normalmente, no windows, não tenho certeza, mas se renomear a
extensão para .zip será possível descompactar também.

Os arquivos descompactados ficarão assim:

Perceba que temos vários arquivos .img que iremos gravar na nossa câmera.

O Arquivo InstallDesc possui os passos a serem seguidos para a atualização. Imagino que a atualização via interface web utilize esse
arquivo como configuração de execução do update.

Instalando o servidor TFTP para servir os arquivos da atualização


Como comentei, para atualizar a câmera, é necessário que ela possua uma maneira de baixar facilmente esses arquivos para atualizar.
A forma que essas câmeras utilizam é a transferência dos arquivos via TFTP.

TFTP é uma forma de transferência de arquivos geralmente utilizada em redes, e tem um conceito de simplicidade, não necessitando
sequer um usuário e senha para ter acesso aos arquivos.

Para instalar o servidor no linux utilizei o passo a passo deste post: https://linuxhint.com/install_tftp_server_ubuntu/

Para outros SOs como Mac ou Windows também devem existir servidores TFTP facilmente configuráveis.

O requisito principal é que os arquivos de firmware extraídos estejam disponíveis através do TFTP. Então coloque todos eles na raiz do
seu servidor TFTP, por exemplo, se a pasta a qual seu servidor TFTP serve é /usr/tftp, como no meu caso, então coloque os arquivos
diretamente lá dentro, sem subdiretórios.

Para testar se está funcionando, você pode tentar acessar o tftp e baixar algum dos arquivos, por exemplo, usando o client TFTP no
ubuntu (192.168.2.144 é o IP do computador onde eu instalei o servidor do TFTP, no caso o meu próprio computador):
Privacidade - Termos de
Utilização
GENILTO VANZIN
genilto@ubuntu-1525:~$ tftp 192.168.2.144

SOBRE DEV HOBBIES CONTATO


E o mundo das idéias.
tftp> get u-boot.bin.img

Received 196756 bytes in 0.1 seconds

tftp> q

genilto@ubuntu-1525:~$ ls

Desktop Documents Downloads Music Pictures Public snap Templates u-boot.bin.img Videos

É interessante você verificar se o firewall do seu computador não está bloqueando o acesso a partir de outra máquina na rede.

Se deu certo pra você e conseguiu baixar o arquivo como no exemplo, podemos seguir para o próximo passo!

Aplicando a atualização
Lá em cima, onde falei das variáveis de ambiente já dei um spoiler do que deve ser feito. Mas vamos ver com calma passo a passo
agora.

Primeiro, temos que garantir que a câmera está conectada na rede e que consegue acessar o serviço do tftp.

Primeiro, conecte sua câmera no cabo ethernet.

Depois, configure as variáveis de ambiente ipaddr com o ip que será atribuído para a câmera e o serverip com o ip onde instalamos e
configuramos nosso servidor tftp que servirá os arquivos para atualização. Para definir as variáveis de ambiente utilize o setenv.

setenv ipaddr 192.168.2.999

setenv serverip 192.168.2.144

No meu caso deixei a câmera com o IP fixo 192.168.2.999, de forma que não de conflito com outros dispositivos, e configurei o serverip
com o IP 192.168.2.144 que é o IP do meu computador onde está instalado e configurado o servidor de TFTP.

Agora basta salvar as alterações com saveenv.

saveenv

Agora você deve digitar o comando reset, que irá reiniciar a câmera. Não esqueça do CTRL + C para entrar novamente no U-Boot.

reset

É interessante também verificar se o nosso servidor está acessível pela câmera. Pra isso podemos usar o ping! Verifique se o resultado
diz que o host que você digitou “is alive”!

ping 192.168.2.144

Agora, vamos avaliar o arquivo InstallDesc que descompactamos junto com os arquivos do firmware:

Privacidade - Termos de
Utilização
GENILTO
{
VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo
das idéias.
"UpgradeCommand": [{

"Command": "Burn",

"FileName": "u-boot.bin.img"

}, {

"Command": "Burn",

"FileName": "u-boot.env.img"

}, {

"Command": "Burn",

"FileName": "custom-x.cramfs.img"

}, {

"Command": "Burn",

"FileName": "uImage.img"

}, {

"Command": "Burn",

"FileName": "romfs-x.cramfs.img"

}, {

"Command": "Burn",

"FileName": "user-x.cramfs.img"

}],

"Hardware": "XM530_50X20-WG_8M",

"DevID": "000309C11001000000600000",

"WifiDriverType": "xm711",

"CompatibleVersion": 3,

"Vendor": "General",

"CRC": "802001675000",

"Mx8Q":
"vS8ufwq7xiPTLLQoLObf+qMAcyr7M3GevHMxdFYPHJk4z4DLsle1330VhYxCMpPMqBqZYVVt+zm9NZ10FlH2p/YuDkCcYM0GsRPq0nWOP7D
lS13Owwa+G/7vxIwTYD9m4gJNXNclaTIzHln1K1GRarwE9qMIJiV9r1pbwwba887TWv4="

Nesse arquivo podemos ver o passo a passo a ser seguido para aplicar a atualização. Cada Command Burn, indica um arquivo .img que
deve ser gravado. Perceba que todos esses arquivos estão presentes no mesmo arquivo que baixamos do firmware.

Imagino que seja muito interessante seguir exatamente essa ordem definida nesse arquivo ao atualizarmos

Vamos entrar novamente no minicom e acessar a câmera. Novamente, vamos analisar as variáveis de ambiente que temos no sistema
da câmera, utilizando o comando printenv:

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Acho que agora ficou bem mais claro o que expliquei lá em cima sobre as variáveis de ambiente “da”, “dc”, “dr”, “du”, certo?

Muito bem, o que precisamos fazer agora, é avaliar o seguinte, baseado no arquivo InstallDesc:

O primeiro arquivo que devemos gravar é: u-boot.bin.img, então nesse caso podemos rodar os comandos da variável “da”,
que vai baixar esse arquivo.

run da

O Segundo arquivo é u-boot.env.img. Neste caso, e no meu caso pelo menos, nenhuma variável de ambiente referencia esse
arquivo. Logo, o que eu fiz foi criar um baseado nos outros comandos, seguindo exatamente o mesmo padrão. Lendo o
resultado, percebi um erro de can`t write to protected Flash sectors. Porém mesmo assim segui em frente. O comando
ficou assim:

mw.b 0x81000000 ff 800000;tftp 0x81000000 u-boot.env.img;sf probe 0;flwrite

O terceiro arquivo é o custom-x.cramfs.img. Este está referenciado na variável de ambiente “dc”. Então basta rodar
diretamente a variável com o comando:

run dc

O quarto arquivo uImage.img, também não está presente em nenhuma das variáveis de ambiente. Importante, esqueça a
variável “tk” mesmo ela tendo uma referência a uImage, ela não grava nada, só dá boot no sistema utilizando uma imagem
existente, pelo que entendi. Então criei novamente um comando para gravação dessa imagem, que foi executado com
sucesso:
Privacidade - Termos de
Utilização
GENILTO VANZIN
mw.b 0x81000000 ff 800000;tftp 0x81000000 uImage.img;sf probe 0;flwrite
SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

O quinto arquivo, romfs-x.cramfs.img, é referenciado na variável “dr”, então:

run dr

E o sexto e último arquivo, user-x.cramfs.img, é referenciado na varíavel “du”. Mais um simples:

run du

Se tudo deu certo, você pode simplesmente dar um reset novamente, e deixar a câmera ligar normalmente. No meu caso o erro
“Uncompressing Linux…undefined instruction” desapareceu e a câmera voltou a vida.

Sucesso rapazeada!

Referências
Alguns posts que encontrei e foram muito úteis:

Estes posts abaixo me ajudaram a entender como encontrar os pinos UART na placa da minha câmera:
http://www.devttys0.com/2012/11/reverse-engineering-serial-ports/
https://jcjc-dev.com/2016/04/08/reversing-huawei-router-1-find-uart/
https://medium.com/@shubhamgolam10/reverse-engineering-uart-to-gain-shell-de9019ae427a
Nesse tópico do site IPCAMTALK.COM, é discutido um problema igual a este, grande parte do que fiz foi por causa dessa
discussão:
https://ipcamtalk.com/threads/ooops-looks-like-i-bricked-my-cam.47767/
Passo a passo que segui para instalar o servidor TFTP no Linux
https://linuxhint.com/install_tftp_server_ubuntu/

POSTADO EM DESENVOLVIMENTO, ELETRÔNICA, IMPORTAÇÕES, SUPORTE INFORMÁTICA


MARCADO BESDER, ESP8266, IPCAM, MINICOM, NODEMCU, UART, XIONGMAITECH

13 COMENTÁRIOS EM “REVIVENDO UMA CÂMERA IP CHINESA”

PETERSON 3 DE MAIO DE 2022 / RESPONDER

Parabéns Genilto, ótima explicação, tive que aprender a lidar com o linux, mas seguindo o passo a passo
ficou fácil, o problema agora é que ao dar o comando ctrl+c, ele pede um password, e não tenho a mínima
ideia de onde encontrar. Consegue me dar uma luz.

Privacidade - Termos de
Utilização
GENILTO VANZIN
GENILTO VANZIN Autor do post 4 DE MAIO DE 2022 / RESPONDER
SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
Não sei te dizer, a minha entrava direto sem password. Teria que ver exatamente o modelo da sua
câmera, e fazer umas pesquisas. Provavelmente tem uma senha padrão talvez.

PETERSON 27 DE ABRIL DE 2022 / RESPONDER

Agora lascou, fiz todo o procedimento, mas pede uma senha agora, não saio disso.

RODRIGO 24 DE DEZEMBRO DE 2021 / RESPONDER

Genilto, parabéns pelo detalhado post! Mas não estou com esse problema. Tenho duas já antigas e comprei
uma nova. Mas a nova está apresentando o seguinte problema. Quando falta energia ela, não volta. Então
preciso desligar energia novamente até ela ligar. Não tem problema na instalação. Tenho outras duas que
funcionam normalmente. Você tem ciência de updates de firmware para esses modelos?

GENILTO VANZIN Autor do post 26 DE DEZEMBRO DE 2021 / RESPONDER

Buenas!! Obrigado!
Não saberia te dizer sobre atualização do firmware sem saber exatamente a marca e qual modelo da
sua câmera.
Sabendo essas duas coisas, você pode dar uma pesquisada na internet.
O mais fácil mesmo seria ir na opção de atualização de firmware no próprio aplicativo da câmera.

Abraço!

EDUARDO 20 DE OUTUBRO DE 2021 / RESPONDER

Genilto, fiz todo o procedimento e consegui reviver a camera! A unica coisa que não esta funcionando agora
é o wifi…o roteador nem o detecta ……ja com o cabo funciona normalmente. O firmware original é R80x20PQ-
L, mas so encontrei 80x20PQ-8M! Tem alguma ideia do que pode ser? obrigado

GENILTO VANZIN Autor do post 1 DE NOVEMBRO DE 2021 / RESPONDER

Fala Eduardo!
Cara, difícil dizer. Pode ser problema no wifi dela mesmo, ou realmente por causa da versão ali do seu
firmware.
O ideal mesmo seria encontrar exatamente o firmware dela e instalar na câmera.
Você testou a câmera em modo roteador pra ver se ela gera alguma rede que você possa conectar?

Privacidade - Termos de
Utilização
GENILTO VANZIN
EMILIO GALVAN 12 DE MAIO DE 2021 / RESPONDER SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.
Gentilo, você pode me enviar a foto sem o círculo vermelho?:
https://genilto.com/wp-content/uploads/sites/2/2020/11/identificacao-uart-918×1024.jpg

Tenho uma câmera semelhante com um transistor quebrado e preciso saber o código para substituí-lo, na
sua foto esse transistor está à esquerda mas está coberto pelo círculo vermelho.
Se você tem o diagrama esquemático da câmera, agradeço se puder enviar para mim também.

Meu endereço de e-mail é geniol19@gmail.com.

Obrigado

GENILTO VANZIN Autor do post 12 DE MAIO DE 2021 / RESPONDER

Fala Emilio.
Não tenho o diagrama da câmera, teria que procurar.
Mas abri a câmera aqui novamente e bati uma foto melhor pra você dar uma olhada.

Veja se resolve.

Privacidade - Termos de
Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

Abraço!

EMILIO GALVAN 13 DE MAIO DE 2021 / RESPONDER

Genilto, Graças à sua foto consegui consertar minha câmera, troquei o transistor 1AM SMD e
funcionou!
obrigado novamente

Privacidade - Termos de
Utilização
GENILTO VANZIN
GENILTO VANZIN Autor do post 13 DE SOBRE
MAIO DE 2021 DEV HOBBIES
/ RESPONDER CONTATO
E o mundo das idéias.
Show de bola! Fico muito feliz em ver que funcionou! Obrigado pelo retorno aqui! Abraço

FRANCISCO DOMINGOS 22 DE DEZEMBRO DE 2020 / RESPONDER

Quero deixa meus parabéns pela sua explicação e paciência em realizar esses procedimentos, tenho uma ip
cam chinesa morta após uma atualização. So não vou tentar reviver ela pois não tenho as ferramentas e a
paciência necessária..

GENILTO VANZIN Autor do post 22 DE DEZEMBRO DE 2020 / RESPONDER

Obrigado!
Realmente, paciência foi uma ferramenta fundamental kkk

DEIXE UM COMENTÁRIO
COMENTÁRIO *

NOME *

E-MAIL *

SITE

PUBLICAR COMENTÁRIO

Privacidade - Termos de
Utilização

PESQUISAR
PESQUISAR
Pesquisar …
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

C AT EG O R I A S

Android Animais e Pets


Cinema Comédia
Curiosidades Desenvolvimento
Dicas Drones
Eletrônica Energia Solar
Esporte Flores do Campo
Gerenciamento Idiomas
Importações Java
Javascript Música
Notícias Oracle
Oracle EBS Pensamentos
Qualquer outra coisa Suporte Informática
Unity 3D

Ú LT I M A S DA K E L LY
Playground para gatos 31 de março de 2022
Seu gatinho está destruindo a sua casa? Ele age como um louco do nada? Ele morde as suas coisas, arranha o seu sofá, e derruba
tudo de propósito? Se assim como eu, você ama os gatos, e quer ter paz na sua casa, ao mesmo tempo em que proporciona um
ambiente seguro e sadio para […]
Kelly Borba

Emissor gratuito e o site do Sebrae estão fora do ar! Como emitir nota fiscal? 30 de março de 2022
Oi gente! Tudo bem com vocês?! Hoje eu vim falar sobre uma utilidade pública! Para todos aqueles pequenos e micro empreendedores
que utilizam tanto o site, quanto os outros recursos do Sebrae, se depararam nessa semana que o mesmo está fora do ar desde o fim
de semana! Com isso muitos empresários não conseguem por […]
Kelly Borba

30 DIAS: ”De Insuportável a Irrefreável” – [Dias 21-30] 30 de setembro de 2021


Você já leu “O Milagre da Manhã”? Finalmente conclui o meu desafio! Uhuul o/ Estou muito feliz por mim mesma, de tudo o que
aprendi, e do que eu vou levar sempre comigo de agora em diante. Gratidão por todo o caminho que fiz e aprendi, e por tudo o que
está por vir. A Fase […]
Kelly Borba

TAG S

3D banda blumenau cerveja Cinema coisas conserto curiosidade Curta ebs Engraçado feliz gambiarra genilto google

guitarra homens humor informação Informática internet Java jogo joãozinho maps mulher mulheres mundo

Música nerd oracle perguntas piada PLSQL rock rock'n roll Santa Catarina suporte tecnologia da informação TI usuario

velho viagem vida virus Privacidade - Termos de


Utilização
GENILTO VANZIN SOBRE DEV HOBBIES CONTATO
E o mundo das idéias.

QUER MAIS?

 

Copyright © 2022 Genilto Vanzin – Tema OnePress por FameThemes

Privacidade - Termos de
Utilização

Você também pode gostar