2017-08-31 161 views
-1

我父亲有兴趣切换到Linux,但有几件事情让他回想起来。他不能没有的一个项目是他的Corex CardScan 700c。他每周都会使用它,并且已经存储了数以万计的联系人。 Linux下不支持700c,但可以为扫描仪创建USB驱动程序吗?我对Linux的设备驱动程序一无所知,但根据我的理解,我可以在两个不同的地方运行它:内核空间和用户空间。内核空间需要C/Assembly,在用户空间中,我可能会放弃使用Python(对吧?)。有没有人知道关于这个主题的任何信息,或知道任何有关它的好指南/书籍?我将自己形容为“编程爱好者”,但愿意学习。感谢您的帮助和意见。为Linux创建一个USB设备驱动程序

+0

这是一项艰巨的任务。看到一个相关的问题:https://askubuntu.com/questions/24297/how-do-i-get-a-cardscan-60-ii-working-with-sane – VPfB

+0

我是最不鼓励一个人的人承担起具有教育价值的艰巨任务;但在这种情况下,我感到不得不这样做。使用像libusb这样的东西可能使得在用户空间而不是内核中完成这项工作成为可能,并且消除了内核编程的一些相当大的学习负担。但这里真正的问题将是对扫描仪的USB协议进行反向工程,这可能是无证的。我的经验是,这种事情非常耗时和令人沮丧,而且结果真的值得它值得称道。 –

回答

1

如果你想要去蟒蛇的方式,你可能想看看libusb1。在这个python模块的文档中描述了一些usage examples。你当然会接触到很多设备的互动,但如果你“愿意学习”,你可以从这里开始。祝您的编码/黑客顺利!