From f79cf7c78e5925e368459e1c1204d25ccbb2d8d9 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Thu, 11 Sep 2025 16:19:40 +0200 Subject: [PATCH 1/2] fibocom: Add vendor ID for Intel Seen on an OEM modem labeled as "Fibocom L850-GL": ID 8087:095a Intel Corp. MODEM + 2 CDC-ACM + 3 CDC-NCM + SS XMM-based modem, detected fine by the plugin: [ttyACM2/at] <-- 'AT' [ttyACM2/at] <-- 'OK' [ttyACM2/probe] port is AT-capable [ttyACM2/probe] probe step: XMM [ttyACM0/at] <-- 'OK' [ttyACM0/probe] port is AT-capable [ttyACM0/probe] probe step: XMM [ttyACM2/at] --> 'AT+XACT=?' [ttyACM0/at] --> 'AT+XACT=?' [ttyACM2/at] <-- 'AT+XACT=?' [ttyACM2/at] <-- '+XACT: (0-6),(0-2),0,1,2,4,5,8,101,102,103,104,105,107,108,112,113,117,118,119,120,126,128,129,130,141,166OK' [ttyACM2/probe] modem is XMM-based [ttyACM0/at] <-- '+XACT: (0-6),(0-2),0,1,2,4,5,8,101,102,103,104,105,107,108,112,113,117,118,119,120,126,128,129,130,141,166OK' [ttyACM0/probe] modem is XMM-based [device /sys/devices/pci0000:00/0000:00:14.0/usb1/1-3] creating modem with plugin 'fibocom' and '6' ports (8087:095a) [plugin/fibocom] (fibocom) XMM-based Fibocom modem found... Signed-off-by: Lubomir Rintel --- src/plugins/fibocom/mm-plugin-fibocom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/fibocom/mm-plugin-fibocom.c b/src/plugins/fibocom/mm-plugin-fibocom.c index cff1aa47..1496f085 100644 --- a/src/plugins/fibocom/mm-plugin-fibocom.c +++ b/src/plugins/fibocom/mm-plugin-fibocom.c @@ -111,7 +111,7 @@ MM_PLUGIN_NAMED_CREATOR_SCOPE MMPlugin * mm_plugin_create_fibocom (void) { static const gchar *subsystems[] = { "tty", "net", "usbmisc", NULL }; - static const guint16 vendor_ids[] = { 0x2cb7, 0x1782, 0x1508, 0 }; + static const guint16 vendor_ids[] = { 0x2cb7, 0x1782, 0x1508, 0x8087, 0 }; return MM_PLUGIN ( g_object_new (MM_TYPE_PLUGIN_FIBOCOM, From 76c055dcefaffb51c3fd0fc2cf931046426e1d36 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Thu, 11 Sep 2025 16:17:27 +0200 Subject: [PATCH 2/2] fibocom: Add rules with hints for L850-GL (Intel) The device would eventually be automatically probed. Add hints anyway, as not to waste time with the generic probe. Signed-off-by: Lubomir Rintel --- src/plugins/fibocom/77-mm-fibocom-port-types.rules | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/plugins/fibocom/77-mm-fibocom-port-types.rules b/src/plugins/fibocom/77-mm-fibocom-port-types.rules index 2874ae3f..e4ee58e0 100644 --- a/src/plugins/fibocom/77-mm-fibocom-port-types.rules +++ b/src/plugins/fibocom/77-mm-fibocom-port-types.rules @@ -3,6 +3,7 @@ ACTION!="add|change|move|bind", GOTO="mm_fibocom_port_types_end" SUBSYSTEMS=="usb", ATTRS{idVendor}=="2cb7", GOTO="mm_fibocom_port_types" SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", GOTO="mm_fibocom_port_types" SUBSYSTEMS=="usb", ATTRS{idVendor}=="1508", GOTO="mm_fibocom_port_types" +SUBSYSTEMS=="usb", ATTRS{idVendor}=="8087", GOTO="mm_fibocom_port_types" GOTO="mm_fibocom_port_types_end" LABEL="mm_fibocom_port_types" @@ -134,4 +135,14 @@ ATTRS{idVendor}=="1782", ATTRS{idProduct}=="4d11", ENV{.MM_USBIFNUM}=="06", ENV{ ATTRS{idVendor}=="1782", ATTRS{idProduct}=="4d11", ENV{.MM_USBIFNUM}=="07", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" ATTRS{idVendor}=="1782", ATTRS{idProduct}=="4d11", ENV{.MM_USBIFNUM}=="08", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" +# Intel-branded Fibocom L850-GL (MODEM + 2 CDC-ACM + 3 CDC-NCM + SS) +# ttyACM0 (if #0): AT port, bInterfaceSubClass=2 (modem), bInterfaceProtocol=1 (AT-commands) +# ttyACM1 (if #2): No response to AT, bInterfaceSubClass=2 (modem), bInterfaceProtocol=0 +# ttyACM2 (if #4): AT port, bInterfaceSubClass=2 (modem), bInterfaceProtocol=0 +# if #6, if #8 and if #10: CDC NCM network interfaces +# if #12: bInterfaceClass=255 (Vendor Specific) +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="095a", ENV{.MM_USBIFNUM}=="00", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_PRIMARY}="1" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="095a", ENV{.MM_USBIFNUM}=="02", SUBSYSTEM=="tty", ENV{ID_MM_PORT_IGNORE}="1" +ATTRS{idVendor}=="8087", ATTRS{idProduct}=="095a", ENV{.MM_USBIFNUM}=="04", SUBSYSTEM=="tty", ENV{ID_MM_PORT_TYPE_AT_SECONDARY}="1" + LABEL="mm_fibocom_port_types_end"