From: Grant Erickson <gerickson@nuovations.com>
To: ofono@lists.linux.dev
Subject: [PATCH 00/10] Add QMI Device Service Request Rate-limit Option
Date: Tue, 11 Feb 2025 21:52:49 -0800 [thread overview]
Message-ID: <cover.1739339173.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 "QMIMinReqPeriodUs" 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 (10):
qmi: Added minimum service request period property string.
qmi: Added enumeration for device quirk flags.
qmi: Added structure for device options.
qmi: Added device options parameter to 'qmi_qmux_device_new'.
qmi: Added minimum request period data member to 'qmi_transport'.
qmi: Added last request time data member to 'qmi_transport'.
qmi: Handle request rate limit option in 'qmi_qmux_device_new'.
qmi: Implement QMI service request rate limiting in 'can_write_data'.
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 | 42 +++++++++++++++++++++++++++++++++++++++++-
drivers/qmimodem/qmi.h | 42 +++++++++++++++++++++++++++++++++++++++++-
plugins/gobi.c | 14 +++++++++++++-
plugins/udevng.c | 14 ++++++++++++++
4 files changed, 109 insertions(+), 3 deletions(-)
--
2.45.0
next reply other threads:[~2025-02-12 5:53 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-12 5:52 Grant Erickson [this message]
2025-02-12 5:52 ` [PATCH 01/10] qmi: Added minimum service request period property string Grant Erickson
2025-02-12 19:15 ` Denis Kenzior
2025-02-13 0:00 ` Grant Erickson
2025-02-12 5:52 ` [PATCH 02/10] qmi: Added enumeration for device quirk flags Grant Erickson
2025-02-12 5:52 ` [PATCH 03/10] qmi: Added structure for device options Grant Erickson
2025-02-12 19:21 ` Denis Kenzior
2025-02-13 0:04 ` Grant Erickson
2025-02-12 5:52 ` [PATCH 04/10] qmi: Added device options parameter to 'qmi_qmux_device_new' Grant Erickson
2025-02-12 5:52 ` [PATCH 05/10] qmi: Added minimum request period data member to 'qmi_transport' Grant Erickson
2025-02-12 5:52 ` [PATCH 06/10] qmi: Added last request time " Grant Erickson
2025-02-12 5:52 ` [PATCH 07/10] qmi: Handle request rate limit option in 'qmi_qmux_device_new' Grant Erickson
2025-02-12 5:52 ` [PATCH 08/10] qmi: Implement QMI service request rate limiting in 'can_write_data' Grant Erickson
2025-02-12 19:29 ` Denis Kenzior
2025-02-13 0:07 ` Grant Erickson
2025-02-12 5:52 ` [PATCH 09/10] udevng: Set the QMI minimum service request period for Quectel BG96 modems Grant Erickson
2025-02-12 19:30 ` Denis Kenzior
2025-02-13 0:16 ` Grant Erickson
2025-02-12 5:52 ` [PATCH 10/10] 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.1739339173.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