15 Comentários

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.virtualbox.org/
https://www.virtualbox.org/wiki/Linux_Downloads
http://rtr.ca/ft232r/
http://embedded-funk.net/running-libftdi-under-windows/
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

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

Comunicações » Regravando o PID de chips FTDI-like
Comentários:
Notificações
Notificar
guest
15 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
R
R
17/04/2019 03:34

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 »

Paulo andre Z Carvalho
PA
11/02/2015 21:22

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
Ilgner
Reply to  PA
18/02/2015 10:18

Isso eu faço no windows?

Paulo andre Z Carvalho
PA
Reply to  Ilgner
22/02/2015 03:39

isso mesmo

Gustavo Laureano Cardoso
Gustavo
06/12/2014 23:59

Ó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
04/12/2014 13:40

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
Reply to  Juan Castro
04/12/2014 14:20

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
Reply to  Thiago Pinheiro Felix da Silva
04/12/2014 14:32

"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
Reply to  Juan Castro
04/12/2014 14:56

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
Reply to  Thiago Pinheiro Felix da Silva
04/12/2014 15:03

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.

Marcelo Henrique Moraes
Marcelo Henrique Moraes
06/01/2017 08:20

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
11/03/2016 23:53

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

trackback
23/01/2015 09:02

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

trackback
03/12/2014 07:27

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

Talvez você goste:

Nenhum resultado encontrado.

Séries

Menu

WEBINAR
 
Sensores e soluções para aplicações em indústria inteligente

Data: 13/08 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link