首先 固件这个东西 技术本质就是FPGA开发 首先分清 固件 硬件 软件 这三者的区别
软件不必多说 就是使用C++ 等等编程语言制作出来的可执行文件
硬件 用最普通的话来将 就是手可以摸到的 并且具有电路原件的 就拿板子来说 他具有芯片 电阻 电容 和PCB板
板子这个东西 除去其他的功能 硬件层面 跟声卡 网卡 这种PCIE设备 都是相差不多的
区别 声卡具有声音处理功能 网卡具有无线/有线wifi联网功能 而板子 具有直接内存访问功能
但是 如果硬件中没有固件 这些硬件就是一块铁疙瘩 就实现不了他们的功能 如 联网 声音处理 内存访问
插上电脑只能通电 并不能实现作用
而固件 就是赋予了这个硬件的能源 让他可以在电脑上实现功能
而固件这个东西 所谓定制 就是去抄 去模仿 网卡 声卡这些相似设备
板子虽然不可以去实现联网 声音处理这些功能 但是可以去伪装设备信息
设备信息就是基于固件来让计算机识别的 所以就出现了所谓的定制固件
而市面上的固件 大部分普通 一两个月就拉闸的固件作者 只会将固件ID去伪装一下 从而去卖200-500
缺点就是 这种固件会具备感叹号 因为这种小白作者不会去写“TLP”和“中断响应” 就算伪装了ID 但是官方驱动他是无法安装的 这就是“死设备”
如果遇到入门的小白作者 就会去写 “静态TLP ” 静态TLP可以具备入门的驱动安装 学习的复杂程度不亚于 ctrl c + v 在系统中显示固件设备正常运行 这种基本上可以稳定3个月
但是还有一点 也就是 “小众设备ID” 通俗一点讲 现在市面上容易买到的网卡 设备ID都是差不多的 例如 8125网卡 8188网卡 这些ID都是相似度高达90%
所以 就有些固件作者 去研究那种非常小众的设备ID 因为固件要模仿网卡 声卡 所以需要先买一个网卡或者声卡去采集ID和TLP
还有些人才 就去采集医院的 B超机器的PCIE设备 前段时间甚至有华为GPS设备
而非常够用的固件 就需要具备 “动态TLP”+“中断响应” 这种就是非常接近正常设备的一种 设备不仅在后台实时变化TLP 而且还具备中断计数响应
这种就是市面上的主播同款 价格在1200-3000不等
总结
小白作者 = 只会伪装设备ID 不能上驱动 具有感叹号 基本上两周拉闸 没有中断计数
入门作者 = 会静态tlp 没有感叹号 但是伪装真实性较差 没有中断计数
上等作者 = 会动态tlp 会中断计数响应 可以过qemu虚拟机 距离真实设备就差一个硬件层面的联网接口 这种就是具备基础开发的FPGA工程师