Re: [PATCH 09/10] udevng: Set the QMI minimum service request period for Quectel BG96 modems.

Grant Erickson <[email protected]> Wed, 12 Feb 2025 16:16:28 -0800
Newsgroups dev.linux.lists.ofono
Message-ID <[email protected]>
On Feb 12, 2025, at 11:30 AM, Denis Kenzior <[email protected]> wrote:
> On 2/11/25 11:52 PM, Grant Erickson wrote:
>> The Quectel Wireless Solutions Co., Ltd. (2c7c) BG96 CAT-M1/NB-IoT
>> modem (0296) has a firmware issue where it can lock up and hang (not
>> responding to subsequent commands) due to high QMI service request
>> arrival rates. If the vendor and model match those, then rate limit
>> QMI service requests to no more than one every 2,000 us.
>> ---
>>  plugins/udevng.c | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>> diff --git a/plugins/udevng.c b/plugins/udevng.c
>> index 64875a47752b..e7cf494a70ff 100644
>> --- a/plugins/udevng.c
>> +++ b/plugins/udevng.c
>> @@ -1118,6 +1118,20 @@ static gboolean setup_quectelqmi(struct modem_info *modem)
>>     DBG("%s", modem->syspath);
>>  + /*
>> + * The Quectel Wireless Solutions Co., Ltd. (2c7c) BG96
>> + * CAT-M1/NB-IoT modem (0296) has a firmware issue where it can
>> + * lock up and hang (not responding to subsequent commands) due to
>> + * high QMI service request arrival rates. If the vendor and model
>> + * match those, then rate limit QMI service requests to no more
>> + * than one every 2,000 us.
>> + */
>> + if (g_strcmp0(modem->vendor, "2c7c") == 0) {
> 
> Please use ell for all new code.  l_streq0 or so.
> 
>> + if (g_strcmp0(modem->model, "0296") == 0) {
>> + ofono_modem_set_integer(modem->modem, "QMIMinReqPeriodUs", 2000);
>> + }
>> + }
> 
> The {} are unnecessary.

Denis,

Noted; will include both in a v2.

Best,

Grant

-- 
Principal
Nuovations

[email protected]
https://www.nuovations.com/