在没有信息的情况下开发驱动程序
开源/自由软件社区如何为不提供文档的产品开发驱动程序?
How does the open-source/free software community develop drivers for products that offer no documentation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个相当模糊的问题,但我想说逆向工程。 他们如何进行这取决于它是什么类型的设备以及它可以使用什么。 在许多情况下,该设备可能具有与另一台设备相似的核心芯片组,可以进行修改以使其工作。
This is a pretty vague question, but I would say reverse engineering. How they go about that is dependent on what kind of device it is and what is available for it. In many cases the device may have a similar core chipset to another device that can be modified to work.
通常通过对代码进行逆向工程。 不过,在某些国家/地区可能存在法律问题。
为 Linux 创建兼容的设备驱动程序
Usually by reverse engineering the code. There might be legal issues in some countries, though.
creating compatible device drivers for Linux
如何对某些东西进行逆向工程?
示例:
假设您要开发 USB 摄像头驱动程序。 “黑匣子”是软件驱动程序。
请注意,这只是一个常规的问题解决/科学过程。 例如,天气预报员做同样的事情 - 他们观察天气,根据模型测试当前状况,预测未来几天会发生什么,然后将模型的输出与现实进行比较。 当不匹配时,他们会返回并调整模型。
这种方法比净室逆向工程稍微安全(合法),净室逆向工程是有人实际反编译代码,或拆解产品,彻底分析它,并根据他们所看到的内容制作模型。 然后,模型(除此之外)被传递给开发人员来复制产品的功能。 然而,拆开原始代码的工程师不能参与,因为他可能会带来代码/设计的受版权保护的部分,并无意中将它们放入新代码中。
但是,如果您从不拆卸或反编译该产品,那么您应该处于合法的安全水域 - 剩下的唯一问题是专利问题。
-亚当
How do you reverse engineer something?
Example:
Let's say you want to develop a USB camera driver. The "black box" is the software driver.
Note that this is just a regular problem solving/scientific process. For instance, weather forecasters do the same thing - they observe the weather, test the current conditions against the model, which predicts what will happen over the next few days, and then compare the model's output to reality. When it doesn't match they go back and adjust the model.
This method is slightly safer (legally) than clean room reverse engineering, where someone actually decompiles the code, or disassembles the product, analyzes it thoroughly, and makes a model based on what they saw. Then the model (AND NOTHING ELSE) is passed to the developers replicating the functionality of the product. The engineer who took the original apart, however, cannot participate because he might bring copyrighted portions of the code/design and inadvertently put them in the new code.
If you never disassemble or decompile the product, though, you should be in legally safe waters - the only problem left is that of patents.
-Adam