Linux USB
 help / color / mirror / Atom feed
From: Vojtech Pavlik <vojtech@suse.com>
To: Oliver Neukum <oneukum@suse.com>
Cc: Alex Henrie <alexhenrie24@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	linux-usb@vger.kernel.org, Johan Hovold <johan@kernel.org>
Subject: Re: ttyACM versus ttyUSB
Date: Mon, 13 Oct 2025 12:47:40 +0200	[thread overview]
Message-ID: <aOzYzH01b39gjIDP@suse.com> (raw)
In-Reply-To: <194258bf-e78c-46b8-8229-3b019f2b8ab0@suse.com>

On Mon, Oct 13, 2025 at 11:28:59AM +0200, Oliver Neukum wrote:
> On 12.10.25 21:01, Alex Henrie wrote:
> 
> > I did notice that the ACM protocol has no way to set the baud rate or
> > read the CTS line and I wondered if those limitations were the reason
> > for keeping its driver separate. Today there are ttyUSB drivers that
> > likewise have limitations on the baud rate and the flow control lines
> > (some are even based on ACM), but they weren't around in 1999, so I
> > can see how the difference in capabilities would have been another
> > motivation for the difference in naming conventions.
> 
> You could argue that ACM is intended to be a driver for a _modem_ ,
> not a serial line. In principle we are trying to propagate a layering
> violation that is so old that we no longer see it as a violation.

The ttyACM driver is also older than the ttyUSB driver.

And yes, indeed, USB CDC ACM was intended as a class for USB modems, not
for serial ports, so it doesn't directly support pin twiddling.

One would assume that baud rate setting would also be unnecessary in
this usecase, yet, surprisingly enough, many of the early USB modems
absolutely failed to work unless a baud rate was explicitly set.
(USB_CDC_REQ_SET_LINE_CODING)

Today, some USB-serial chips have the ACM protocol, so perhaps it would
make sense to merge the drivers, I certainly would not object.

-- 
Vojtech Pavlik

  reply	other threads:[~2025-10-13 10:47 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-12  5:00 ttyACM versus ttyUSB Alex Henrie
2025-10-12  6:07 ` Greg KH
2025-10-12 15:55   ` Alex Henrie
2025-10-12 16:21     ` Greg KH
2025-10-12 19:01       ` Alex Henrie
2025-10-12 19:53         ` Greg KH
2025-10-12 22:40           ` Alex Henrie
2025-10-13  9:28         ` Oliver Neukum
2025-10-13 10:47           ` Vojtech Pavlik [this message]
2025-10-13 15:42             ` Alex Henrie
2025-10-13 16:14               ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aOzYzH01b39gjIDP@suse.com \
    --to=vojtech@suse.com \
    --cc=alexhenrie24@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=oneukum@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox