public inbox for linux-usb@vger.kernel.org
 help / color / mirror / Atom feed
* usb composition without class
@ 2024-06-20  5:58 Giacinto Cifelli
  2024-06-20  6:06 ` Greg KH
  0 siblings, 1 reply; 7+ messages in thread
From: Giacinto Cifelli @ 2024-06-20  5:58 UTC (permalink / raw)
  To: linux-usb

greetings,

question:

on a system (yocto), I have a usb composition that doesn't assign the
class for the interfaces:
    |__ Port 1: Dev 2, If 1, Class=, Driver=usbhid, 1.5M
    |__ Port 1: Dev 2, If 0, Class=, Driver=usbhid, 1.5M
    |__ Port 3: Dev 3, If 10, Class=, Driver=cdc_mbim, 480M
    |__ Port 3: Dev 3, If 8, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 6, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 4, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 2, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 11, Class=, Driver=cdc_mbim, 480M
    |__ Port 3: Dev 3, If 0, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 9, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 7, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 5, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 3, Class=, Driver=cdc_acm, 480M
    |__ Port 3: Dev 3, If 1, Class=, Driver=cdc_acm, 480M
Kernel: Linux version 6.1.35 (oe-user@oe-host) (x86_64-poky-linux-gcc
(GCC) 11.4.0, GNU ld (GNU Binutils) 2.38.20220708) #1 SMP
PREEMPT_DYNAMIC Thu Jun 22 18:03:13 UTC 2023

instead of (arch):
    |__ Port 004: Dev 004, If 0, Class=Communications, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 1, Class=CDC Data, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 2, Class=Communications, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 3, Class=CDC Data, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 4, Class=Communications, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 5, Class=CDC Data, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 6, Class=Communications, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 7, Class=CDC Data, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 8, Class=Communications, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 9, Class=CDC Data, Driver=cdc_acm, 5000M
    |__ Port 004: Dev 004, If 10, Class=Communications, Driver=cdc_mbim, 5000M
    |__ Port 004: Dev 004, If 11, Class=CDC Data, Driver=cdc_mbim, 5000M
Kernel: Linux 6.6.34-1-lts #1 SMP PREEMPT_DYNAMIC Sun, 16 Jun 2024
14:45:31 +0000 x86_64 GNU/Linux

This lack of class creates too many /dev/ttyACMx ports, and
ModemManager tries to access them all, perhaps also blocking the
device, and the whole system doesn't work.

For completeness, the device is:
    Bus 002 Device 004: ID 1e2d:0065 Gemalto M2M GmbH LTE Modem
which is supported without any customs in the cdc-acm and cdc_mbim drivers.

I spotted only two options not compiled-in in the yocto .config
(compared with the arch one), but I strongly doubt this is related:
    CONFIG_USB_G_MULTI
    CONFIG_USB_G_MULTI_CDC

Would you know why the class is not assigned?

Thank you,
Kind Regards,
Giacinto

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2024-06-20 10:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-20  5:58 usb composition without class Giacinto Cifelli
2024-06-20  6:06 ` Greg KH
2024-06-20  6:32   ` Giacinto Cifelli
2024-06-20  6:40     ` Greg KH
2024-06-20  9:25       ` Giacinto Cifelli
2024-06-20  9:58         ` Greg KH
2024-06-20 10:19           ` Giacinto Cifelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox