<div dir="ltr"><div>First, can someone with a deeper knowledge of how the modemmanager probes tell me (for a near term solution) if it's possible to report back some magic keyword to the initial "AT" that will let the modemmanager release a device instantly?</div>
<div><br></div><div>Our problem is that we need to release very soon - and we want to support Chromebook and Linux (in general) with our education platform ( <a href="http://www.empirikit.com">www.empirikit.com</a> ) - preferably without hacking our device to report as something else - but we might be forced to to give an acceptable user experience.</div>
<div><br></div><div>For a future solution, I agree with Sven's proposal (sorry for the quoting - I came late to the list):</div><div><br></div><div>"<span style="color:rgb(0,0,0);white-space:pre-wrap">I would like to propose the following for discussion:</span></div>
<pre style="white-space:pre-wrap;color:rgb(0,0,0)">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
descriptor).


Regards,
  Sven


[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"</pre></div>