是否有可能对一个没有任何设备的设备进行PCI驱动程序的逆向工程?
该设备是一种question卡,允许您将大型机ESCON通道连接到专用unix计算机。据我所知,这个设备从来没有公开发布过任何驱动程序,但仍然使用标准的PCI总线。
有没有可能把司机放在一起而不需要一套现有的逆向工程装置呢?
任何信息都将不胜感激。
发布于 2022-07-06 22:28:25
这都取决于设备的复杂性,但即使设备非常简单,您也低估了所需工作的性质。
在现实生活中,有一些与设备设计和它的编程有关的东西,根本无法从它公开的PCI接口中推断出来,即设备,就所有意图和目的而言,都是一个黑匣子。更重要的是,像这样的事情耗费了大量的资源和时间,所需的努力往往是非常不确定的(即需要数以百万计(小时、金钱、人)来解决)。
nvidia硬件是一个简单的例子,它没有文档可供使用。阅读关于nvidia的新手驱动程序,它是如何在成千上万的人的帮助下被逆向设计的,而且即使在几十年后,也只能被认为仅仅是在alpha/beta级别上勉强表现。
Linux图形栈充满了这样的故事,可通过的gfx硬件(特别是在移动设备中)和糟糕的制造商驱动程序,无法跟上内核开发的步伐。制造商由于某些“商业”原因(硅设计许可/专利、驱动子组件许可/专利、明显的贪婪)而无法开放驱动程序,而且他们自己也无法完全支持它。这种硬件,通常是在现有的,是一样好的无用。
请记住,在移动芯片组市场的营业额是什么,一年最多两年?两年内连公司都不在乎。大部分来自芯片的钱都已经赚到了,而目前的“消费者”都是落伍的廉价中国生产商,他们销售那些运行过时软件的劣质产品,这一点都不相关。
所以,真实的回答是,没有什么是不可能的,真正的问题是,你将在哪里找到金钱、人才,最重要的是,找到这一努力的时间?
你最好的选择是找到一个已经尝试过解决这个问题的社区和人才(例如,在linux上处理类似的escon设备),并以某种方式说服他们去调查你的另一个案例。
相反,尝试从制造商那里获得硬件注册级别的文档,并找到内核驱动程序开发人员据此开发驱动程序,可能会稍微提高一些工作效率。但是请注意:倒车是“只是”的信息收集,即使有了完整的文档,您仍然需要编写新的驱动程序并使其工作,并且使它的性能甚至处于完全不同的水平。
通常,制造商有某些特定版本的操作系统的驱动程序,你可以问他们,然后让“中间”锁定主机运行过时的操作系统与产品接口,并有一些小的大胆和进步的开发人员自制软件“内部连接器”,以连接到世界的现代系统通过一些软件API。
我看到这种方法最有效。
https://unix.stackexchange.com/questions/708894
复制相似问题