Re: An inquiry on supporting USB CDC ACM on Host PC as USB Host/Master

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

 



Hi Oliver,

Thank you for your very quick response and straightforward answers -
they're very helpful.

I am not sure if my next (and possibly last) set of questions makes
sense - and that is, I've noticed that only a few platforms have
enabled CONFIG_USB_ACM in their *_defconfigs.
I've checked Linux Kernel version 5.10.83 and only about 28 out of the
390 there have this enabled (of course I do get that some might not
have USB ports in the first place).
For one, the x86_64_defconfig there doesn't have CONFIG_USB_ACM
enabled, but weirdly, my laptop is an x86_64 but I can see cdc_acm in
my modinfo (I have Ubuntu 18.04 LTS and my Linux Kernel version is
5.4.0.91).
I'm sure I have not changed my laptop's Linux Kernel before - though
it does seem to be updating for some reason because Ubuntu 18.04's
tagged kernel version is v4.15.

My questions are:
1. With CONFIG_USB_ACM very common and useful, why is it not enabled
by default in most platforms with USB ports like the x86_64 (normal
for laptops and Intel NUCs)?
2. Is there any rule or official statement from Linux Kernel
maintainers/experts, highly recommending platform developers (or
specific Ubuntu releases) to support this? (if there is, may I have a
link of the documentation mentioning such?)
3. And is there a possibility for that module to get installed in the
Linux Kernel just by the usual Linux commands (eg, "apt get
update/upgrade")?

Again, thank you very much for your assistance.

Regards,
Maggie



On Thu, Dec 9, 2021 at 9:30 PM Oliver Neukum <oneukum@xxxxxxxx> wrote:
>
>
> On 09.12.21 14:09, Maggie Maralit wrote:
> > From my understanding of:
> > - CONFIG_USB_ACM (reference, how to enable in kernel) that produces
> > cdc-acm.ko under /lib/modules/<kernel
> > version>/kernel/drivers/usb/class
> Correct
> > - CONFIG_USB_CDC_COMPOSITE (reference, how to enable in kernel) that
> > produces g_cdc.ko under /lib/modules/<kernel
> > version>/kernel/drivers/usb/gadget/legacy
> Yes, though that driver is the older of the two versions available
> > CONFIG_USB_ACM is the one the user needs to have in their Linux-based
> > Host PC's Linux Kernel  because this is the USB CDC ACM handler for
> > the Host PC side (having USB Host/Master settings).
> Correct
> >
> > CONFIG_USB_CDC_COMPOSITE seems to be the USB CDC ACM handler for the
> > device side (having USB Device/Slave settings) which is on the side of
> > our Product.
> Yes
> >
> > We assume that as an outcome of enabling our users enabling
> > CONFIG_USB_ACM in their Linux Kernels, the Linux-based Host PC don't
> > have to install any extra USB drivers to communicate with our product.
> Correct. This driver is for all devices which advertise a the correct
> interfaces for the CDC ACM class of devices.
>
>     HTH
>         Oliver
>



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

  Powered by Linux