[RFC] Probing ttys by default

Sven Köhler sven.koehler at gmail.com
Fri Mar 21 03:37:37 PDT 2014

I would like to propose the following for discussion:

The kernel cdc_acm driver could expose whether the device seems to be a
modem. It knows, through the bmCapabilities field in the CDC Call
Management descriptor [1]. Another field that comes to mind is the
bInterfaceProtocol of the Interface Descriptor. For devices that don't
speak AT-commands it should be zero.

Then one can craft some general udev rule that grey- or blacklists
(what's the difference) all devices that don't seem to be a modem. If
there devices out there that erroneously report that they don't have
calling capabilities, then that those would have to be whitelisted.

I can confirm that for the UMTS card in my Laptop, lsusb explicitly
lists that it speaks the AT-commands protocol (bInterfaceProtocol=1) and
that it has call management (bmCapabilities=3 in the CDC Call Management


[1] Based on a check of this field, the Linux cdc_acm driver decides
whether it prints the message "This device cannot do calls on its own.
It is not a modem.". See cdc-acm.c

More information about the ModemManager-devel mailing list