Ross wrote: > Can someone tell me what the preferred method for new client USB > drivers is? Is it preferable to create a new loadable module gadget > or use the gadgetfs module and write the driver in user space? > > This is for a proprietary USB protocol that exists in a proprietary > OS, but releasing the source for the USB driver would not be a > problem. That would be okay.
I have recently been making the same evaluation, and you can probably reconstruct my thought processes quite accurately if you search for my name on this list and linux-usb-users. In summary, the more layers of software there are between you and the hardware, the more bugs you will encounter. My attempts at using gadgetfs have revealed several bugs. In each case it has taken me a lot of effort (many days) to first convince myself that my code is doing the right thing, and then to find the bug in gadgetfs or the gadget controller driver. I have spent vastly more time understanding how gadgetfs works and fixing its bugs than writing and testing my own code. I would strongly advise you to write a kernel module rather than use gadgetfs, even if you have little previous experience with kernel programming. However, if you do choose to use gadgetfs, you will be pleased to know that people on this list are supportive and will help you out when you encounter problems. Do make sure that you start by searching this list for gadgetfs and applying all of the patches that you find. Regards, Phil. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel