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
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.
- Baixe e descompacte o projeto
- Duplo clique em
INSTALAR-WINDOWS.bat(instala o driver USB e o Python) - Duplo clique em
PAINEL.bat - Opcional:
CRIAR-ATALHO.batpõe um ícone na área de trabalho
chmod +x *.sh
./INSTALAR-LINUX.sh # regras udev + ModemManager
./painel.sh # abre o painel
./criar-atalho.sh # opcional: ícone no menuO navegador abre sozinho. O programa varre as portas, encontra o aparelho e já roda o diagnóstico.
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.
python3 j16diag.py -o laudo.txt # diagnóstico em texto
python3 j16term.py # terminal AT com atalhosO 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.
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.
Estes rastreadores têm duas camadas independentes:
- Módulo celular — fala comandos AT. É o que o painel acessa.
Configuração gravada aqui, mesmo com
AT&W, é sobrescrita a cada reinício. - 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.
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.
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.
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
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 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.
- Python 3.8 ou superior
pyserial(os instaladores cuidam disso)- Windows 10/11, ou Linux com acesso à porta serial
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.
MIT — veja LICENSE. Os drivers de terceiros mantêm suas licenças originais.
Se este projeto te poupou uma tarde, deixe uma estrela.