Bug 295231 - Patch to add support for the Telit LM960A18 LTE modem via u3g
Summary: Patch to add support for the Telit LM960A18 LTE modem via u3g
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: usb (show other bugs)
Version: 16.0-CURRENT
Hardware: amd64 Any
: --- Affects Some People
Assignee: Ed Maste
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-05-12 14:20 UTC by mike
Modified: 2026-05-18 17:01 UTC (History)
1 user (show)

See Also:


Attachments
full patch to add support (933 bytes, patch)
2026-05-12 14:20 UTC, mike
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mike 2026-05-12 14:20:18 UTC
Created attachment 270638 [details]
full patch to add support

## What this change does

Adds USB vendor/product table entries for the Telit LM960A18-CP LTE
Cat-18 mPCIe modem so that FreeBSD's u3g(4) serial driver attaches
to its AT/DIAG/NMEA interfaces in two USB compositions:

  - `0x1bc7:0x1040` — RNDIS composition (7 serial ports + RNDIS data)
  - `0x1bc7:0x1042` — ECM   composition (6 serial ports + CDC-Ethernet data)

The modem can switch between these (and two others not commonly used
on FreeBSD) via the modem-side `AT#USBCFG=<n>` command.

In the ECM composition, the data interface attaches cleanly to
`cdce(4)` as `ue0` once u3g(4) has claimed the serial interfaces.
In the RNDIS composition, `urndis(4)` handles the data interface.
The current change is the minimum patch needed; no other driver
changes are required.

Without these entries the modem enumerates as a generic USB
device but no serial ports are created, leaving no host-side
way to send AT commands to the modem.

Tested on stable/14 with a PCEngines APU3 host (AMD GX-412TC)
connected to Bell Mobility LTE in Kitchener-Waterloo, Ontario.
ECM data path tested via AT#ICMCONNECT and DHCP on ue0; PPP
dial-up tested at multiple +IPR rates via /dev/cuaU0.4.
Comment 1 commit-hook freebsd_committer freebsd_triage 2026-05-13 00:37:19 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=eacf4f50bfb19aa0278db5e8982d73c6d77ca24c

commit eacf4f50bfb19aa0278db5e8982d73c6d77ca24c
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-05-12 19:52:16 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-05-13 00:36:39 +0000

    u3g: Add Telit LM960A18 LTE modem

    The patch in the PR failed to apply, so I manually applied the same
    changes.

    PR:             295231
    Submitted by:   Mike Tancsa <mike@sentex.net>
    Reviewed by:    emaste

 sys/dev/usb/serial/u3g.c | 2 ++
 sys/dev/usb/usbdevs      | 2 ++
 2 files changed, 4 insertions(+)
Comment 2 commit-hook freebsd_committer freebsd_triage 2026-05-18 17:01:42 UTC
A commit in branch stable/15 references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=c391efcf28b4759497411306fd90ca180731c469

commit c391efcf28b4759497411306fd90ca180731c469
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2026-05-12 19:52:16 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2026-05-18 17:01:11 +0000

    u3g: Add Telit LM960A18 LTE modem

    The patch in the PR failed to apply, so I manually applied the same
    changes.

    PR:             295231
    Submitted by:   Mike Tancsa <mike@sentex.net>
    Reviewed by:    emaste

    (cherry picked from commit eacf4f50bfb19aa0278db5e8982d73c6d77ca24c)

 sys/dev/usb/serial/u3g.c | 2 ++
 sys/dev/usb/usbdevs      | 2 ++
 2 files changed, 4 insertions(+)