Regravando o PID de chips FTDI-like

FT232 FTDI

Nota do Embarcados: Não apoiamos a prática de pirataria. Caso a compra do componente seja feita através de canais oficiais sempre se conseguirá trabalhar com itens originais, e é isso que recomendamos. Esse artigo pode ajudar o pessoal que possui placas que possuem CIs que nao são da FTDI.

 

Recomendo que, antes de prosseguir a leitura deste tutorial, que leia o artigo com algumas considerações sobre pirataria, de minha autoria. Se você está com esse problema é possível que você tenha comprado um chip pirata.

 

A seguir, faço um breve resumo para os que não leram o artigo. A FTDI lançou um driver (versão 2.12.00) para Windows que, por regravar o PID dos chips para 0x0000, acaba inutilizando o chip. Neste tutorial vou apresentar os passos para regravar o chip novamente.

 

Algumas considerações: é provável que você tenha que fazer o processo de regravação pelo menos duas vezes, principalmente se você estiver utilizando o Sistema Operacional Windows. Depois de regravar o chip, ao conectar novamente no Windows ele vai reconhecer o CI FTDI e vai carregar novamente o driver 2.12.00, pois esse é o driver que estava registrado no Windows. Esse driver vai regravar novamente o chip. Apesar disso, o chip vai funcionar enquanto você não desconectá-lo da USB. Aproveite esse momento, vá no painel de controle e modifique o driver para a versão 2.10.00. Assim, da próxima vez que você conectar o dispositivo, o Windows vai carregar o driver correto. E lembre-se de usar sempre a mesma USB pra evitar que o Windows procure uma atualização do driver.

 

Para regravar o PID do chip FTDI, o primeiro passo é ter acesso a uma máquina Linux. Se você não tiver instalado em seu PC, baixe um programa de virtualização e uma máquina virtual pronta. Eu usei a distro Ubuntu 12.04 virtualizada, mas é possível fazer esses passos em qualquer máquina Linux.

 

Para verificar se o chip está realmente com problemas vá no Painel de controle -> Gerenciador de hardware e verifique se aparece o item FT232 USB UART na lista de outros dispositivos.

 

ft_nao_reconhecido
Figura 1: Gerenciador

 

 

Clique com o botão direito nele e escolha propriedades. Na guia Detalhes escolha a propriedade ID's de hardware. Se o PID estiver 0X0000 você está com um dispositivo pirata que foi regravado pelo driver.

 

ft_pid0x0000
Figura 2: Janela de Propriedades

 

 

Neste ponto você deve desconectar o dispositivo e, se estiver usando máquina virtual, o primeiro passo é disponibilizar o dispositivo USB para o Linux. Se for utilizar uma máquina nativa é só plugar na máquina.

 

vb_usb_acesso
Figura 3: Terminal 1

 

 

Dentro da máquina digite o comando lsusb para verificar que o dispositivo FTDI está com o ID 0403:0000, confirmando o problema.

 

vb_lsusb
Figura 4: Terminal 2 - LSUSB

 

 

Agora é instalar no sistema os pacotes de desenvolvimento da libftdi e da libusb, baixar o programa de comunicação com o FT232 para Linux desenvolvida por Mark Lord. Compile o programa e você está pronto para regravar os PID's. Para isso use os comandos abaixo:

 

 

O arquivo compilado é o ft232_prog. Na linha de comando iremos pedir para que ele troque o PID velho 0x0000 para o novo PID 0x6001.

 

A saída do programa deve ser a seguinte:

 

vb_usb_regravado
Figura 5: Terminal 3

 

 

Depois disso o chip está regravado. Como citado, é possível que ao recolocar no Windows ele automaticamente utilize o driver 2.12.00. Se isto acontecer, não retire o chip da porta USB, aproveite que o Windows reconheceu o dispositivo, instale o driver antigo da FTDI (2.10.00 ou anterior) e force o Windows a utilizar esse driver. Uma ótima alternativa é usar a libftdi.

 

Para isso vá no Painel de Controle -> Gerenciador de dispositivos, clique com o botão direito em cima da porta COM criada pelo FTDI (se não apareceu a porta, você deve voltar ao inicio e regravar o dispositivo) e por último atualizar o drive.

 

Escolha a opção "Permitir que eu escolha em uma lista de drivers de dispositivo no computador" e selecione o driver 2.10.00. Se não aparecer essa opção você deve baixar e instalar o driver antes e repetir esses passos

 

ft_reinstalando_driver_antigo
Figura 6: Atualização do driver

 

 

Após a instalação, desconecte e reconecte o dispositivo na USB e verifique se ele foi instalado corretamente. Se ele tiver sido desgravado no item anterior (antes de trocar o driver) basta refazer os passos de gravação no Linux e reconectar no Windows.

 

 

Referências

 

https://www.embarcados.com.br/ft232-pirataria-e-propriedade-intelectual/

https://www.virtualbox.org/

https://www.virtualbox.org/wiki/Linux_Downloads

http://rtr.ca/ft232r/

http://embedded-funk.net/running-libftdi-under-windows/

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Rodrigo Almeida
Professor da Universidade Federal de Itajubá onde leciona sobre programação embarcada, sistemas operacionais e desenvolvimento de produtos eletrônicos. Pesquisa na área de sistemas críticos desenvolvendo técnicas para melhoria de confiabilidade e segurança.

15
Deixe um comentário

avatar
 
8 Comment threads
7 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
7 Comment authors
RIlgnerPaulo andre Z CarvalhoGustavo Laureano CardosoThiago Lima Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
R
Visitante
R

Olá, Para quem está com o chip FT232RL com o VID diferente (não é o PID), e o FT_Prog não encontra o dispositivo por ser VID diferente e o driver original não pode ser carregado (não adianta procurar em Inglês, essa dica foi difícil de achar: use o ftdibus.inf editado, não o ftdiport.inf): 1- Baixar o driver do site FTDI, D2XX Drivers, (ou usar outro que funcione, escolha corretamente 32 bits ou 64 bits), extrair e deletar os arquivos: ftdiport.cat, ftdiport.inf, ftdibus.cat (se tiver) 2- Abrir o arquivo ftdibus.inf com o editor de texto (bloco de notas/notepad) e editar (ou… Leia mais »

Marcelo Henrique Moraes
Visitante
Marcelo Henrique Moraes

Nossa, ainda bem que você alertou sobre esse problema. Agora antes de comprar sabão em pó vou verificar se o mercado garante a procedência do produto, já pensou se minha lavanderia explode?

trackback

[…] e muita pressão, a FTDI retirou o driver do Windows Update. E, se você usa Linux, há jeito de reverter a corrupção do chip. Mas a confiança foi irremediavelmente quebrada. Ainda bem que a FTDI não é o único fabricante […]

Paulo andre Z Carvalho
Visitante
PA

Prezados

Apos o driver da FTDI mudar o PID para 0000, basta editar o arquivos ftdibus.inf e ftdiport.inf alterando as linhas onde aparecem o PID 6001 para 0000,conforme abaixo

%USBVID_0403&PID_6001.DeviceDesc%=FtdiBus.NT,USBVID_0403&PID_0000
depois reinstale o driver manualmente apontando pata os novos arquivos .inf

Pronto!! volta a funcionar normalmente,abraços

Ilgner
Visitante
Ilgner

Isso eu faço no windows?

Paulo andre Z Carvalho
Visitante
PA

isso mesmo

trackback

[…] e muita pressão, a FTDI retirou o driver do Windows Update. E, se você usa Linux, há jeito de reverter a corrupção do chip. Mas a confiança foi irremediavelmente quebrada. Ainda bem que a FTDI não é o único fabricante […]

Gustavo Laureano Cardoso
Visitante
Gustavo

Ótimo artigo!
Porem somente uma correção:
Quando voce sugere instalar uma maquina virtual já pronta com ubuntu essa opcao nao existe, o link que voce passa como referencia parecem ser as versões do virtualbox para rodar em hosts linux, e não imagens prontas de VMs, até existem algumas VMs prontas em outra pagina, mas todas são com o Oracle Linux...

Juan Carlos Castro y Castro
Visitante

A Lei do Consumidor brasileira permite isso? Na boa, se a empresa tiver representação no Brasil cabe um processo por danos morais.

Thiago Lima
Visitante

Oi. Conforme Rodrigo colocou no primeiro artigo, o crime de pirataria deve ser enquadrado em violação de direito autoral e está previsto no artigo 184, parágrafo 2° do Código Penal brasileiro. Nao apoiamos a pratica de pirataria. Caso a compra do componente seja feita atraves de canais oficiais sempre se conseguirá trabalhar com itens originais e é isso que recomendamos. Pro pessoal que possui placas importadas e para empresas que compraram itens que nao sao da FTDI, o Rodrigo passou uma das solucoes para se recuperar o componente, para que ele volte a funcionar. Achei interessante seu comentario. Vou adicionar… Leia mais »

Juan Carlos Castro y Castro
Visitante

"Caso a compra do componente seja feita atraves de canais oficiais sempre se conseguirá trabalhar com itens originais..."

Não. Isso nem sempre é verdade. E quando uma empresa estabelecida, com CNPJ certinho, nota fiscal e o caramba, bota chip falso (talvez mesmo sem saber) no seu equipamento?

A atitude da FTDI foi absolutamente indefensável, provavelmente ilegal e eu vou, sim, recomendar que ninguém mais compre produtos deles, e que quem comprou e teve seu equipamento desabilitado vá ao Juizado Especial Cível.

Thiago Lima
Visitante

JCCyC, os canais oficiais (representantes e distribuidores oficiais) apenas vendem artigos originais. No site do fabricante acha os seus representantes e distribuidores originais.

Para o fabricante de placas nacionais, e' isso que recomendamos. Utilizando itens originais nao se tem problemas.

Como comentou acima, a empresa estabelecida pode nao ser um canal oficial de venda. Caso o problema for da empresa que te vendeu, o problema nao e' da FTDI, certo?

Muito Obrigado pela discussao 🙂

Juan Carlos Castro y Castro
Visitante

Então adeus mercearia da esquina, só vou poder comprar sabão Omo em redes de supermercados explicitamente autorizadas pela Unilever, porque corro o risco do amaciante reagir com o Omo falsificado e explodir minha máquina de lavar.

Juan Carlos Castro y Castro
Visitante
trackback

[…] a utilização do libFTDI [7] e o artigo “Regravando o PID de chips FTDI-like” [8]. Utilizando um driver opensource não estamos infrigindo nenhuma questão de propriedade […]