Package: modemmanager Version: 1.22.0-3+b2 Severity: important Tags: patch X-Debbugs-Cc: jade...@proton.me
Dear Maintainer, i attempted to use a Fibocom L830 modem recently, using modemmanager_1.20.4-1 from stable. it worked, but only PPP on a single port, no signal status etc. i researched briefly, and gave up, because i am not a programmer and not smart, just a user on holidays, assuming that the device is missing some things i was expecting to see in USB descriptors, so MM could only do what it saw, which was to fall back to legacy/generic ppp modes. even more recently, i foolishly upgraded to testing at the first sight of wifi. upon reboot, I now had modemmanager 1.22.0-3+b2 and no functioning modem. i don't remember the exact message- but it was like no modem present. i know the modem didn't fall out of the laptop, so i investigated. by using sudo modemmanager --debug, i could see /dev/ttyACM* entries being ignored for probe, along wiht another message (sorry, don't recall exactly) reporting that plugin/fibocom was ignoring these - this was not matching a hardcoded driver selection criteria. thankfully i found wifi for long enough to apt-get source. so, I present a patch that got me back online: udev rules are added to give MM hints as to which parts of the modem, will be performing each function. the eps_off_on is also enabled, which i found successful in making mm succeed with mbim, not ppp fallback finally we also change permitted drivers. i hate this part so so much! i think the blame is on the hardware for claiming to be something it is not but what can we do? flashing is scary. i have no data left for windows isos on my travels. maybe most other users don't too. so maybe it's okay. idk. after i built new deb, wwan works, and even shows signal strength \o/ maybe this helps someone else out. diff --git a/src/plugins/fibocom/77-mm-fibocom-port-types.rules b/src/plugins/fibocom/77-mm-fibocom-port-types.rules index 5793cd6..6c456b4 100644 --- a/src/plugins/fibocom/77-mm-fibocom-port-types.rules +++ b/src/plugins/fibocom/77-mm-fibocom-port-types.rules @@ -8,6 +8,18 @@ LABEL="mm_fibocom_port_types" SUBSYSTEMS=="usb", ATTRS{bInterfaceNumber}=="?*", ENV{.MM_USBIFNUM}="$attr{bInterfaceNumber}" +# Fibocom L830 - GTUSBMODE=2 +# enx000011121314 (if #0): manual says mbim but appears ncm +# ttyACM0 (if #2): AT port +# ttyACM1 (if #4): debug port (ignore) +# ttyACM2 (if #6): AT port +ATTRS{idVendor}=="2cb7" ,ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="00", SUBSYSTEM=="net", ENV{ID_MM_PORT_TYPE_MBIM}="1" +ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="0002", ENV{ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON}="1" +ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1" +ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="04", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="0002", ENV{.MM_USBIFNUM}=="06", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" + + # Fibocom L850-GL attach APN with toggle modem power ATTRS{idVendor}=="2cb7", ATTRS{idProduct}=="0007", ENV{ID_MM_FIBOCOM_INITIAL_EPS_OFF_ON}="1" diff --git a/src/plugins/fibocom/mm-plugin-fibocom.c b/src/plugins/fibocom/mm-plugin-fibocom.c index a30575e..b1415b8 100644 --- a/src/plugins/fibocom/mm-plugin-fibocom.c +++ b/src/plugins/fibocom/mm-plugin-fibocom.c @@ -111,7 +111,7 @@ mm_plugin_create_fibocom (void) { static const gchar *subsystems[] = { "tty", "net", "usbmisc", NULL }; static const guint16 vendor_ids[] = { 0x2cb7, 0x1782, 0 }; - static const gchar *drivers[] = { "cdc_mbim", "qmi_wwan", "cdc_ether", "option", NULL }; + static const gchar *drivers[] = { "cdc_mbim", "qmi_wwan", "cdc_ether", "cdc_acm", "cdc_ncm", "option", NULL }; return MM_PLUGIN ( g_object_new (MM_TYPE_PLUGIN_FIBOCOM, -- System Information: Debian Release: trixie/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 6.12.5-amd64 (SMP w/4 CPU threads; PREEMPT) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages modemmanager depends on: ii libc6 2.40-4 ii libglib2.0-0t64 2.82.4-1 ii libgudev-1.0-0 238-5+b1 ii libmbim-glib4 1.30.0-1+b2 ii libmbim-proxy 1.30.0-1+b2 ii libmm-glib0 1.22.0-3+b2 ii libpolkit-gobject-1-0 125-2 ii libqmi-glib5 1.34.0-2+b2 ii libqmi-proxy 1.34.0-2+b2 ii libqrtr-glib0 1.2.2-1+b2 ii libsystemd0 257-2 ii polkitd 125-2 Versions of packages modemmanager recommends: ii libmbim-utils 1.30.0-1+b2 ii libqmi-utils 1.34.0-2+b2 ii usb-modeswitch 2.6.1-4+b1 modemmanager suggests no packages. -- no debconf information