Are USB Cards Standard?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
~
Member
Member
Posts: 1228
Joined: Tue Mar 06, 2007 11:17 am
Libera.chat IRC: ArcheFire

Are USB Cards Standard?

Post by ~ »

I would like to start programming an USB driver, but theres only one thing that discourages me, and that's the possibility that every single USB interface, onboard or PCI card, need to be programmed differently, such as audio and video cards have hundreds of variations and each of them need a completely distinct driver.

So, will a generic USB driver, for instance, written and tested with a VIA chipset work also with a PCCHips, Intel, or any other USB card, just like a standard serial or parallel port without any rewrite at all, and at most only a different base address and the very same register set?
User avatar
Candy
Member
Member
Posts: 3882
Joined: Tue Oct 17, 2006 11:33 pm
Location: Eindhoven

Re: Are USB Cards Standard?

Post by Candy »

~ wrote:I would like to start programming an USB driver, but theres only one thing that discourages me, and that's the possibility that every single USB interface, onboard or PCI card, need to be programmed differently, such as audio and video cards have hundreds of variations and each of them need a completely distinct driver.

So, will a generic USB driver, for instance, written and tested with a VIA chipset work also with a PCCHips, Intel, or any other USB card, just like a standard serial or parallel port without any rewrite at all, and at most only a different base address and the very same register set?
That depends on the host controller and subsystem standard you choose, there are a number of both. These standards are again based on historical standards and mostly concern transporting bytes from one end to the other, not the content of those bytes. The content of the bytes is usually device dependant, so no, it won't get you very far.

Exception to the rule are in theory HID devices and mass-storage devices, which have the USB-HID and SCSI respectively over USB. From practical experience I can tell you that the latter isn't as easy as it might have been, since "standard" is loosely defined by a lot of people as "it works with Microsoft's implementation of the standard".
Post Reply