Skip to content

Repository files navigation

simcom-kit

simcom-kit

Diagnóstico e configuração de rastreadores veiculares com módulo celular. Roda no seu computador, em português, inglês e espanhol.

Made by Vitor.IO

Licença: MIT Windows Linux Python


Por que isto existe

Rastreadores baseados em SIMCom A7670 — J16, J16A, J16B e dezenas de clones — são vendidos aos milhares no Brasil sem ferramenta aberta, sem documentação pública e sem suporte do fabricante. Quando um deles não conecta, o instalador fica no escuro: o módulo responde +CEREG: 3 e ninguém sabe o que fazer com isso.

Este kit responde o que aquele número significa, em português, e mostra o que fazer a seguir.


Começando

Windows

  1. Baixe e descompacte o projeto
  2. Duplo clique em INSTALAR-WINDOWS.bat (instala o driver USB e o Python)
  3. Duplo clique em PAINEL.bat
  4. Opcional: CRIAR-ATALHO.bat põe um ícone na área de trabalho

Linux

chmod +x *.sh
./INSTALAR-LINUX.sh      # regras udev + ModemManager
./painel.sh              # abre o painel
./criar-atalho.sh        # opcional: ícone no menu

O navegador abre sozinho. O programa varre as portas, encontra o aparelho e já roda o diagnóstico.


O painel

Tudo roda em 127.0.0.1 — nada sai do seu computador.

Estado ao vivo. Sinal, registro em 2G/3G/4G e endereço IP atualizando a cada cinco segundos. Quando o estado muda, o diagnóstico refaz sozinho.

Diagnóstico traduzido. Em vez de +CEREG: 3,3,"9ccf","0692f80d",7,0,19, você lê: "a rede recusou o registro — causa 19: a APN foi recusada". São 47 causas de CEER, 22 causas EMM e 9 erros CME catalogados.

41 comandos prontos em sete grupos: ver, agir, rede, energia, GPS, SMS e sistema. Um clique, sem decorar sintaxe.

16 ajustes configuráveis com leitura e gravação: tecnologia de rede, escolha de operadora, intervalos de envio, batimento, servidor e porta, APN, protocolo, modo de economia e relé de bloqueio. Cada um marcado como permanente ou até reiniciar.

Terminal embutido para comandos livres, com a resposta interpretada logo abaixo.

Inspeção física. 23 pontos de checagem para o que nenhum comando enxerga: trincas, oxidação, folga no berço do chip, bitola do chicote, bateria estufada.

Chat com IA (opcional). Cole uma chave da API da Anthropic e o assistente responde já sabendo os últimos comandos que você rodou. Quando ele sugere um comando, vira um botão que executa no aparelho.

Log da sessão em um clique, com horário de tudo que foi feito.


Também na linha de comando

python3 j16diag.py -o laudo.txt    # diagnóstico em texto
python3 j16term.py                 # terminal AT com atalhos

O j16term.py substitui picocom e PuTTY, e tem uma vantagem: não mexe nas linhas DTR/RTS ao abrir, então abrir o terminal não derruba a conexão de dados.


Compatibilidade

O grosso do diagnóstico usa comandos 3GPP padrão, que funcionam em praticamente qualquer modem celular. O programa detecta a família do módulo e adapta os poucos comandos que variam:

Família Módulos Situação
SIMCom A7670, A7672, A7600, SIM7600, SIM7000 testado
Quectel EG915N, EC200, BG95/96 comandos mapeados
Genérico qualquer modem 3GPP comandos padrão

Se o seu módulo não for reconhecido, abra uma issue com a saída de AT+CGMI e AT+CGMM.


Duas camadas — leia antes de perder tempo

Estes rastreadores têm duas camadas independentes:

  1. Módulo celular — fala comandos AT. É o que o painel acessa. Configuração gravada aqui, mesmo com AT&W, é sobrescrita a cada reinício.
  2. Processador de aplicação — guarda servidor, porta, APN e protocolo de forma persistente. Fala um protocolo proprietário (SZCS#, SERVER,, APN,) por SMS ou pelo configurador do fabricante.

Se você configurar a APN por AT e ela voltar sozinha depois de reiniciar, não é defeito — é a camada 2 reescrevendo a camada 1. O painel avisa disso em cada ajuste.


Interpretando o resultado

Registro (CREG / CGREG / CEREG):

Valor Significado
0 não registrado, não está procurando
1 registrado na rede local — OK
2 procurando — transitório
3 negado pela rede
5 registrado em roaming — OK

Causas de rejeição mais comuns:

Causa O que significa na prática
7 o plano do chip não tem dados em LTE
13 roaming não permitido nesta área — perfil do chip
15 nenhuma célula adequada — cobertura
19 ESM failure: a APN foi recusada
30 o gateway recusou — APN inexistente ou não liberada

Qualidade do sinal LTE:

RSRP Situação
acima de −90 dBm ótimo
−90 a −105 dBm utilizável
abaixo de −105 dBm borda — registra mas não sustenta

Registrar é um evento; manter é um regime. Um aparelho que conecta e cai sozinho quase sempre está na borda.

As interpretações são orientativas e servem para guiar o diagnóstico. Não substituem análise da operadora nem valem como laudo técnico.


Idiomas

Português do Brasil, inglês e espanhol. O idioma é detectado pelo navegador e pode ser trocado no canto superior.

Para contribuir com uma tradução, copie idiomas/pt-BR.json, traduza os valores e abra um pull request. Nada de código envolvido.


Sobre os drivers do Windows

A pasta Windows/Windows10/ traz os drivers USB da SIMCom, já extraídos. Verificação feita antes de incluir:

  • Assinados pela Microsoft Windows Hardware Compatibility Publisher, com cadeia até a Microsoft Root Certificate Authority. São drivers WHQL legítimos da SIMTech.
  • DriverVer = 03/25/2016. São de 2016 — daí o eventual erro de assinatura no Windows 11. Não é malware, é certificado de era antiga.
  • Cobrem o VID 1E0E (SIMCom/ASR) nos PIDs 9000–9015. O A7670 do J16 enumera como VID_1E0E&PID_9011.

Confira você mesmo:

Get-AuthenticodeSignature .\Windows\Windows10\simlteusbser.cat | Format-List *

Se o Windows 11 recusar por assinatura: shutdown /r /o /t 0 → Solucionar Problemas → Opções avançadas → Configurações de Inicialização → tecla 7.

Fonte original: TDLOGY/SIMCOM_USB_DRIVER


Linux: o ModemManager

Não há driver para instalar — o kernel já traz option, cdc_acm e qmi_wwan. O problema é outro:

O ModemManager roda por padrão e sonda /dev/ttyUSB* enviando comandos AT por conta própria. Ele disputa a porta com o seu terminal e derruba a sessão de dados no meio de um teste. Sintoma clássico: "conecta, estabiliza e do nada cai".

INSTALAR-LINUX.sh resolve com uma regra udev (ID_MM_DEVICE_IGNORE), cria o link estável /dev/simcom-at e põe você no grupo dialout.


O que ainda falta

O protocolo da camada de aplicação. É o que permitiria gravar servidor e APN de forma persistente sem depender do configurador Windows do fabricante.

O caminho: capturar o tráfego do configurador com com0com + hub4com, apontando o programa para uma porta virtual espelhada. Com os bytes documentados, dá para escrever um configurador aberto e multiplataforma.

Se você capturar, abra uma issue com o dump. É a peça que falta para ninguém mais precisar de Windows para pôr um rastreador no ar.


Requisitos

  • Python 3.8 ou superior
  • pyserial (os instaladores cuidam disso)
  • Windows 10/11, ou Linux com acesso à porta serial

Aviso

Ferramenta de diagnóstico. Alguns ajustes alteram a configuração do aparelho, e o relé de bloqueio corta a alimentação do veículo — nunca acione com o carro em movimento. Use por sua conta e risco.


Licença

MIT — veja LICENSE. Os drivers de terceiros mantêm suas licenças originais.

Vitor.IO

Se este projeto te poupou uma tarde, deixe uma estrela.

About

Diagnóstico e configuração de rastreadores veiculares com módulo celular. Roda no seu computador, em português, inglês e espanhol.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages