On Wed, Mar 27, 2013 at 08:45:38PM +0100, Wesley W. Terpstra wrote: > Good evening, > > We are developing a custom piece of hardware that provides the > equivalent of two serial console interfaces. They do not speak the AT > command set. One port provides an interactive console to the user for > configuration purposes (via minicom/etc). The other speaks a proprietary > protocol used by purpose-built userspace tools. Neither port has an > inherent baud rate limit; both can fully utilize USB2 bandwidth. > > The closest standard USB-IF class I could find is the cdc-acm device > class. However, this seems to be very much targeted at modems with ATx > commands. The linux cdc-acm drivers would put the hardware > at /dev/ttyACM and software seems to treat these like modems. The closer > matching usb-serial dongles all appear to have unstandardized drivers. > > We would like our hardware to work "out of the box" on released Linux > versions (and to a lesser extent on windows). Our current prototypes > borrow the Sierra VID to trick the kernel into loading the sierra > driver. This works well for the interactive console. However, I assume > that distributing the device like this will have legal consequences. Yes, Sierra will get mad at you :) And the USB-IF might revoke your vendor id, if they find you shipping a device with a different vendor id than the one you have been assigned. > I could write a custom driver, but then end users need to compile > +install it. Our device will never be widely available and thus our > driver will never be included in linux, ie: even future users will have > to compile+install for themselves. Because the USB logic is inside an > FPGA, I can readily change the hardware to suite any existing driver. Why not just add your device id to an existing driver, sending in a patch to do so. All distros will pick that up and then your device will "just work" on all Linux distros. > What driver should I target? What chip do you use for your device? If you just want "raw" data, then do something like the drivers/usb/serial/zio.c driver, tiny, simple, and trivial. Hope this helps, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html