I'm interested in possibly working on USB support for Wine. I'm not particularly familiar with USB programming, but I'm fluent in C and C++. Where do I start?
Alex Zeiger wrote:
I'm interested in possibly working on USB support for Wine. I'm not particularly familiar with USB programming, but I'm fluent in C and C++. Where do I start?
Hi Alex,
Wine is not an operating system. As such, what do you mean by "USB support"? If you mean that you can use Windows USB drivers on Wine, then I'm not sure that it is within Wine's charter to do that.
Shachar
Shachar Shemesh wrote:
Alex Zeiger wrote:
I'm interested in possibly working on USB support for Wine. I'm not particularly familiar with USB programming, but I'm fluent in C and C++. Where do I start?
Hi Alex,
Wine is not an operating system. As such, what do you mean by "USB support"? If you mean that you can use Windows USB drivers on Wine, then I'm not sure that it is within Wine's charter to do that.
Shachar
I mean "USB support" in the same way Wine supports serial and parallel ports. Granted, USB is an order of magnitude more complex, but hopefully the basic idea isn't beyond the realm of possibility.
On Sat, 31 Jul 2004 04:11:30 -0400, Alex Zeiger wrote:
I mean "USB support" in the same way Wine supports serial and parallel ports. Granted, USB is an order of magnitude more complex, but hopefully the basic idea isn't beyond the realm of possibility.
It is certainly possible, but please talk to Aric first, I think he may have some basic code already. Certainly he was looking into USB support last week.
He's gone to LinuxWorld right now I think so you may have to wait a few days. Researching what needs to be done would be a great way to get started even if Aric has written some code, it's unlikely he'll get time to finish it off properly soon so your help would certainly be appreciated!
Hi,
Sorry for not getting back to you all faster, i was at linux world and such.
Yup i am looking hard at the setupapi device calls and cfgmgr to try to get some usb support targeted toward the iPod. I have made some progress and am beginning to have an understand of how usb is handled in windows (win2k is my target version) and how to try to handle it in Wine.
I do have some difficulty figuring out how win2k is translating vender and product ids into class and interface guids. The documentation reports that they look them up in inf files, however i am finding that not to be true. I am suspecting that some may be hardcoded in the usb support somewhere.
I am probably not anywhere close to having anything clean enough to start commiting to Wine. But if you really want to help we may be able to work together on some stuff.
-aric
Hi,
On Sat, Jul 31, 2004 at 12:44:31AM -0400, Alex Zeiger wrote:
I'm interested in possibly working on USB support for Wine. I'm not particularly familiar with USB programming, but I'm fluent in C and C++. Where do I start?
Ah, FINALLY, after so many USB user requests, someone actually wants to get something done :)
You need to figure out how Windows implements USB support (I don't have the slightest clue either, sorry). Try searching on http://search.microsoft.com to figure out if you should implement a VxD or .sys driver DLL in Wine or so. I'm quite sure it should be possible somehow, without any operating system ring 0 issues or so (after all you're writing your own Wine driver, so it should be fairly doable). On the Linux side, of course you should interface to the USB stack (fairly obvious anyway ;). One plea: please don't implement that for oldish 2.4.x USB stack, start with the new 2.6.x USB stack (adding support for the older 2.4.x stack later is pretty easy anyway IMHO). It might be that you actually need to implement your own Wine-USB Linux driver (for interfacing to the non-privileged Wine application side, via ioctls or so).
Good luck, and keep asking if you run into problems!
Andreas Mohr
"Alex" == Alex Zeiger zeiger@nospam.snowbird.net writes:
Alex> I'm interested in possibly working on USB support for Wine. I'm Alex> not particularly familiar with USB programming, but I'm fluent in Alex> C and C++. Where do I start?
Probably by understanding how SetupApi enumerates Devices. Then you would implement these Setupapi Functions by looking at /proc/bus/usb.
Bye
"Alex" == Alex Zeiger zeiger@nospam.snowbird.net writes:
Alex> I'm interested in possibly working on USB support for Wine. I'm Alex> not particularly familiar with USB programming, but I'm fluent in Alex> C and C++. Where do I start?
Maybe http://www.lvr.com/usb.htm#HostSoftware has some usefull references.
Bye