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.

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.

14
Deixe um comentário

avatar
 
7 Comment threads
7 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
6 Comment authors
IlgnerPaulo andre Z CarvalhoGustavo Laureano CardosoThiago LimaJuan Carlos Castro y Castro Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
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
Você usa conversor Serial-USB para ligar micros clássicos e modernos? Cuidado! | Retrocomputaria

[…] 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
Membro
Paulo andre Z Carvalho

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
Membro
Paulo andre Z Carvalho

isso mesmo

trackback
Você usa conversor Serial-USB para ligar micros clássicos e modernos? Cuidado! | Retrocomputaria Plus

[…] 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
Membro
Gustavo Laureano Cardoso

Ó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
Membro
Juan Carlos Castro y Castro

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
Admin
Thiago Lima

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 ao artigo que somente recomendamos a compra de itens originais.

Obrigado pelo feedback e continue comentando. Caso tenha algo a adicionar ou proposta de alteracao, mande pra gente!

Juan Carlos Castro y Castro
Membro
Juan Carlos Castro y Castro

"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
Admin
Thiago Lima

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
Membro
Juan Carlos Castro y Castro

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.

trackback
Conversor USB-RS232 FT232 : Pirataria e Propriedade Intelectual

[…] 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 […]