
Escreveu um ficheiro modificado na ECU, a ferramenta indicou «sucesso», mas o carro não arranca ou o painel enche-se de avisos. Uma das causas mais comuns é um checksum errado. Este artigo explica o que é um checksum, como a ECU o usa e como evitar problemas de checksum.
O que é um checksum?
Um checksum é um valor de controlo calculado com uma fórmula fixa a partir dos bytes de um bloco de dados. O software da ECU usa estes valores para confirmar que as suas zonas de memória não foram alteradas nem danificadas. Quando o fabricante cria o software, calcula um valor de controlo para cada zona protegida e guarda-o dentro do ficheiro.
Ao ligar, ou a intervalos fixos, a ECU faz o mesmo cálculo e compara o resultado com o valor guardado. Se não coincidirem, a ECU trata essa zona como não fiável.
O que acontece quando o checksum está errado?
Depende da ECU e da zona em falha. Sintomas comuns:
- O carro não arranca, ou o motor de arranque roda sem o motor pegar
- Luz de avaria do motor e códigos de avaria guardados
- O motor entra em modo de emergência com potência limitada
- A ECU deixa de comunicar e precisa de recuperação
Por melhor que os mapas estejam preparados, um ficheiro com o checksum por corrigir não pode ser usado.
Tipos de checksum
Em software antigo e simples, um checksum pode ser apenas a soma dos bytes de uma região. As ECU mais recentes usam algoritmos mais robustos como o CRC, com várias zonas protegidas num único ficheiro. Além disso, a maioria das ECU modernas verifica o software com uma assinatura digital. Uma assinatura não é um checksum: não pode ser recalculada sem a chave do fabricante. Estas ECU só podem ser modificadas com soluções de leitura/escrita que tratem a verificação da assinatura.
Quem corrige o checksum?
Na prática há dois caminhos:
- Correção automática pela ferramenta de escrita: a maioria das ferramentas profissionais calcula o checksum durante a escrita nas ECU que suportam. Esta opção costuma vir ativada por predefinição.
- Correção pelo serviço de ficheiros: o serviço que prepara o ficheiro entrega-o com o checksum já corrigido.
Ambos são válidos. O importante é saber qual se aplica, por isso indique no seu pedido com que ferramenta lê e com qual vai escrever.
Como evitar problemas de checksum
- Escreva de volta com a mesma ferramenta e método com que leu. Ferramentas diferentes podem guardar os ficheiros em formatos diferentes (flash completo, zona de calibração, pacote próprio da ferramenta).
- Não edite à mão um ficheiro entregue. Até uma pequena alteração num editor hexadecimal quebra o checksum. Se precisar de uma alteração, peça uma revisão ao serviço de ficheiros.
- Verifique o tamanho do ficheiro antes de escrever. O ficheiro entregue deve ter o mesmo tamanho do que leu.
- Guarde sempre o ficheiro original. É o único ponto seguro a que voltar se algo correr mal. Veja a cópia de segurança do ficheiro original da ECU.
- Use suporte de bateria durante a escrita. Uma escrita interrompida pode ser mais difícil de recuperar do que um erro de checksum.
Perguntas frequentes
Um erro de checksum danifica a ECU de forma permanente?
Normalmente não. A ECU costuma poder ser recuperada escrevendo o ficheiro original por Bench ou Boot. Comparamos os métodos de leitura neste artigo.
Devo corrigir eu próprio o checksum?
Depende da sua ferramenta de leitura/escrita. Indicar a ferramenta no pedido esclarece como o ficheiro entregue deve ser tratado na escrita.
Como sei que o checksum está correto?
Nas ECU suportadas, a sua ferramenta de escrita reporta a verificação do checksum. Se tiver dúvidas, pergunte ao nosso engenheiro no chat do pedido antes de escrever o ficheiro.
