From: Grant Erickson <gerickson@nuovations.com>
To: ofono@lists.linux.dev
Subject: [PATCH v2 0/7] Add QMI Device Service Request Rate-limit Option
Date: Wed, 12 Feb 2025 16:33:49 -0800 [thread overview]
Message-ID: <cover.1739406657.git.gerickson@nuovations.com> (raw)
Certain modems, among them the Quectel Wireless Solutions Co.,
Ltd. (2c7c) BG96 CAT-M1/NB-IoT modem (0296), have a firmware issue
where they can lock up and hang (not responding to subsequent
commands) due to high QMI service request arrival rates.
QMI service request rate limiting is achieved by:
1. Adding a new, optional options structure to qmi_qmux_device_new
that has its rate-limit "quirk" and minimum request period fields
set when the modem "RequestThrottleTimeUs" integer property is set.
2. Adding logic to the QMI driver that, when a minimum request period
is set, limits the QMI service request rate accordingly.
(1) and (2) are used by the udevng and gobi plugins such that when the
modem vendor and model match 2c7c/0296, then the option to rate limit
QMI service requests is set to no more than one every 2,000 us.
Grant Erickson (7):
qmi: Added enumeration for device quirk flags.
qmi: Added structure for device options.
qmi: Added device options parameter to 'qmi_qmux_device_new'.
qmi: Implement QMI service request rate limiting in 'can_write_data'.
qmi: Handle request rate limit option in 'qmi_qmux_device_new'.
udevng: Set the QMI minimum service request period for Quectel BG96
modems.
gobi: Pass QMI qmux device options to 'qmi_qmux_device_new'.
drivers/qmimodem/qmi.c | 45 +++++++++++++++++++++++++++++++++++++++++-
drivers/qmimodem/qmi.h | 40 ++++++++++++++++++++++++++++++++++++-
plugins/gobi.c | 22 ++++++++++++++++++++-
plugins/udevng.c | 14 +++++++++++++
4 files changed, 118 insertions(+), 3 deletions(-)
--
2.45.0
next reply other threads:[~2025-02-13 0:33 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-13 0:33 Grant Erickson [this message]
2025-02-13 0:33 ` [PATCH v2 1/7] qmi: Added enumeration for device quirk flags Grant Erickson
2025-02-13 0:33 ` [PATCH v2 2/7] qmi: Added structure for device options Grant Erickson
2025-02-13 0:33 ` [PATCH v2 3/7] qmi: Added device options parameter to 'qmi_qmux_device_new' Grant Erickson
2025-02-13 0:33 ` [PATCH v2 4/7] qmi: Implement QMI service request rate limiting in 'can_write_data' Grant Erickson
2025-02-13 2:07 ` Denis Kenzior
2025-02-14 4:22 ` Grant Erickson
2025-02-14 4:54 ` Grant Erickson
2025-02-14 15:23 ` Denis Kenzior
2025-02-13 0:33 ` [PATCH v2 5/7] qmi: Handle request rate limit option in 'qmi_qmux_device_new' Grant Erickson
2025-02-13 0:33 ` [PATCH v2 6/7] udevng: Set the QMI minimum service request period for Quectel BG96 modems Grant Erickson
2025-02-13 0:33 ` [PATCH v2 7/7] gobi: Pass QMI qmux device options to 'qmi_qmux_device_new' Grant Erickson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1739406657.git.gerickson@nuovations.com \
--to=gerickson@nuovations.com \
--cc=ofono@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox