Como detectar chips FTDI falsos?

8

Aparentemente, existem alguns chips USB / Serial FTDI falsificados no mercado.

Pesquisando na web, encontramos pessoas comparando falsas / originais, abrindo-as mecanicamente / quimicamente .

Mas como detectar os falsos de maneira menos invasiva?

Quero dizer, a infame atualização do driver FTDI certamente contém uma rotina de detecção - caso contrário, não poderia exibir um ID de fornecedor zero nos falsificados.

Talvez o 'algoritmo' de detecção ou métodos menos invasivos semelhantes sejam publicados?

maxschlepzig
fonte
1
Esta é uma pergunta interessante. Você já perguntou à FTDI? Por exemplo, eles podem ter um serviço de teste no qual você envia o IC (ou sua placa) para o FTDI, eles o testam internamente e enviam um relatório. Se você descobrir com eles, você pode postar suas descobertas aqui (desde que, é claro, que as informações não estejam sob um NDA)?
Nick Alexeev
1
@ Alex Alexeev: se as perguntas sobre compras estão fora de tópico ... detectar falhas em particular provavelmente ainda mais!
Fizz
1
@RespawnedFluff O OP está perguntando sobre "algoritmo" ou "método". Vamos ver para onde vai esta discussão.
Nick Alexeev
1
Compre de distribuidores franqueados respeitáveis ​​que certificam sua cadeia de suprimentos, problema resolvido. Mas, sério, essa é apenas a ponta do iceberg em que você pode vender peças ruins que falharam no teste que realmente são peças de homem, revs antigas comentaram, retornos danificados, ou uma vez que tivemos um fabuloso executando um segundo turno fazendo peças para si mesmas. .. A falsificação é uma grande pita agora.
Alguns Hardware Guy
2
@RespawnedFluff: Eu não vejo como qualquer maneira de detectar versões falsas de um chip específico seria baseada em opiniões ou rapidamente desatualizada, que são as duas principais razões pelas quais as perguntas sobre compras são offtopic.
PlasmaHH

Respostas:

8

O motorista foi desmontado http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/

A detecção está na linha WriteEEPromValue abaixo. Não posso me incomodar em encontrar a fonte de texto, então aqui está a imagem desse artigo com o código / comentário crítico circulado

insira a descrição da imagem aqui

Efervescer
fonte
1
Como você pode ver, o método depende da EEPROM de chip falso aceitar / executar gravações curtas e / ou desalinhadas, enquanto os chips FT reais as ignoram. Quem sabe o que a próxima onda de falsificações fará.
Fizz
Também eles tentaram obter o seu código de desativação incorporada pela driver de kernel Linux lkml.org/lkml/2014/10/23/129 adivinhar como que terminou ...
Fizz
Na verdade, não tenho certeza se o patch foi enviado por alguém que trabalha na FTDI ... porque a próxima mensagem diz algo sobre "performance art": D
Fizz
Por fim, você pode usar os drivers mais recentes (pós-julho de 2015). Eles se recusam a conversar com chips falsos sem matá-los, aparentemente. electropit.com/index.php/2015/09/06/arduino-nano-v3-0-clones O método exato usado para conseguir isso ainda não teve engenharia reversa, pelo que sei. Mas não é difícil imaginar modificar o código acima para gravar em um local não crítico (e depois verificar o que ele contém).
Fizz
2

O problema é que, se um método simples de detectar falsificações se tornar amplamente conhecido, os falsificadores tentarão consertar suas falsificações para serem imunes a ela.

Portanto, a questão é que testes são possíveis contra os quais os falsificadores acharão muito difícil imunizar. Eu suspeito que medições precisas de tempo sejam a resposta, os chips do IIRC FTDI são baseados em hardware, portanto eles devem ter um tempo muito estável e previsível que seria muito difícil clonar com precisão em um falso baseado em microcontrolador.

Peter Green
fonte
Além disso, em que ponto um clone é uma cópia perfeita? E se não houver mais testes de caixa preta que você possa fazer?
crasic
Não, as medições de tempo provavelmente não são a resposta, pois o dispositivo fica no lado oposto de um barramento USB que impõe seu próprio tempo e a maioria trabalha com uma variedade impressionante de hosts com seus próprios atrasos e ineficiências.
Chris Stratton
Certamente, as referidas medições de tempo teriam que ser tomadas em uma configuração de teste com um host rigidamente controlado (provavelmente um FPGA de algum tipo). Criar uma configuração para medir com precisão o comportamento de temporização de um dispositivo USB não seria barato ou fácil, mas eu esperaria que fosse muito eficaz para eliminar clones.
Peter Green