Re: Piggy-backing new hardware using old usb-serial

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux