FT232RL变砖之后

FT232RL是个是神奇的片子,说万能可能有些夸张,但是。。。总之就是FTDIChip这个神奇的公司基于类似的技术,做了很多好用的产品,包括转IIC啦,转SPI啦,密码狗啦之类的。是个很有用的工具就对了。

言归正传。用一句话描述起因呢就是,错用了D2XX里面的FT_ProgramEx这个函数之后,片子内部的Firmware各种混乱。

1、VID、PID与INF文件

首先,VID和PID都错乱了,原来的驱动没法用。百度之,啊哈,发现可以通过修改inf文件,来使原来的驱动可以支持新的VID和PID。

因为我的VID和PID都变成了cccc,所以在ftdiport.inf文件中添加:

%VID_cccc&PID_cccc.DeviceDesc%=FtdiPort.NT,FTDIBUS\COMPORT&VID_cccc&PID_cccc

在ftdibus.inf里面添加

%USB\VID_cccc&PID_cccc.DeviceDesc%=FtdiBus.NT,USB\VID_cccc&PID_cccc

OK,重新给无法识别的器件添加驱动,然后它又变得可以识别了。

这里可以分析下inf文件,很显然,驱动支持哪些VID和PID,可以通过修改inf文件来实现。首先,系统是会去读inf文件,看该驱动能不能支持刚插入的器件;然后,驱动会使用该VID和PID去识别期间,类似于Linux写驱动时的主设备号和子设备号。

 

2、下载libftd2xx1.1.12.tar.gz

额,虽然可识别了,但是用FT_ProgrammEx是没法再把Firmware给设置正确了,操作一次后,一插器件上来,windows就蓝屏。

所以,改在linux下面修改VID和PID再试。

先下了在Linux的D2XX支持包libftd2xx1.1.12.tar.gz过来。

唔,下这个包我抽了至少五根烟,虽然他只有34k大小,主要是服务器那边连接一直断。。。开始时候用chrome,断一次,手动点击连接一次。。。重复几次之后就没耐心了。所以,用上了wget。无限次尝试下载,断开连接1秒后尝试重新连接。

wget --tries=inf --read-timeout=10 http://www.ftdichip.com/Drivers/D2XX/Linux/libftd2xx1.1.12.tar.gz

第一次设的是1s,结果不停在尝试连接,然后就设置为10s了,这样每10s尝试连接一次,开始时候总是速度很快,哦哈哈

posted @   Biiigfish  阅读(5922)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示