Hi
I'm pretty new to USB (and in fact Kernel stuff generally) so please be patient with me as I try to explain my question!
As part of a uni project, I'm attempting to write something that pretends to be a host controller driver, but which actually passes on URBs to a different machine on a network. This machine contains the real host controller and the device, which service the requests.
That should be easy enough to do, if you're willing to learn! And have enough time (or maybe partners to help).
Being able to cut corners (like maybe "no isochronous support") in early versions will help. And I'd say not to use URBs; those have too many implementation details that should never be in a network protocol.
That's the idea anyway, so I've been studying the usb core code (kernel version 2.4.20) and the spec, and pretty much understand what's going on there. When it comes to the hcd though, I just don't know where to start.. From what I can tell from floundering about in hcd.c usb-uhci.c, I need to be implementing (at the very least) the functions contained in the usb_operations structure, and probably more. I was wondering if anyone could give me a few hints to begin with, or direct me towards some documentation on writing hcds, or perhaps some more general code.
I'd use the 2.5 code base and the "hcd" framework. It's a bit better worked out in 2.5 (and I have an upcoming patch for it too) ... plus, all the mainstream HCDs use that shared code there. You could do that on 2.4 too, but I'd encourage you to just develop on 2.5 and backport.
Documentation on writing HCDs ... other than the source, there's not a lot. Learn By Example. I like to think the "ohci-hcd" code is about the simplest real HCD you'll find. There's also a "dummy_hcd" (*) driver that might be worth a look: it's emulating real hardware, like your driver will be doing, though not the same kind of hardware you want. (And without a network protocol in the middle.)
- Dave
(*) See: http://kernel.bkbits.net/~david-b/
Many thanks, Jess
I really hope I'm not going to be told that this whole project is impossible, as my degree kinda depends on it!
-------------------------------------------------------
This SF.net email is sponsored by: ValueWeb: Dedicated Hosting for just $79/mo with 500 GB of bandwidth! No other company gives more support or power for your dedicated server
http://click.atdmt.com/AFF/go/sdnxxaff00300020aff/direct/01/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
