[Patch] add qmicli support to create/modify/delete PDP profiles
Aleksander Morgado
aleksander at aleksander.es
Sun Aug 5 09:47:07 UTC 2018
Hey,
On Thu, Jul 19, 2018 at 8:34 PM, Wolfgang Tolkien <w at tolkien.email> wrote:
> This adds qmicli support to create/modify/delete PDP profiles.
> * This patch only supports setting APN/auth/etc. using the 'modify'
> command. Creating a new profile is therefore a 2-step process: create and
> then modify.
> * Syntax is inconsistent: create/delete use old syntax since there are only
> one or two parameters, whereas the modify command uses key/value syntax.
> This mirrors other existing commands, but I'm happy to change it if people
> are unhappy with it.
But "create" allows all parameters that are available in "modify",
right? I think we should add those as well. Would you be up to doing
that?
I'm thinking that we could have --wds-create-profile allow key/value
pairs as well, but also predefined fields at the start of the string,
e.g. "3gpp" or "3gpp2". This could allow us to have for example
actions like this:
--wds-create-profile="3gpp,apn=internet,pdp-type=ipv4"
Then, --wds-swi-create-profile would allow the same list of key/value
pairs, but also requiring 2 predefined fields at the start of the
string, "3gpp" or "3gpp2" plus the profile index, e.g.:
--wds-swi-create-profile="3gpp,4,apn=internet,pdp-type=ipv4"
So --wds-modify-profile would follow the same logic of 2 predefined
fields with the exact same format as --wds-swi-create-profile, e.g.:
--wds-modify-profile="3gpp,4,apn=internet,pdp-type=ipv4"
And the same for --wds-delete-profile:
--wds-modify-profile="3gpp,4"
This would remove also the inconsistency between "3gpp-profile=#" and "3gpp,#"
> * Modems seem to allow empty strings for APN/Name/Username/Password (which
> makes sense if one wants to delete the value entirely), however libqmi does
> not allow this. This patch does not address this. Suggested workaround is to
> delete the profile and recreate it.
>
Is this a limitation of the code generator? If so, maybe we should
have a "allow-empty" : "yes" property for this kind of cases?
Other comments:
I see when preparing the SWI Create Profile Indexed command that
you're setting the PDP context number to be equal to the WDS Profile
Index:
+ qmi_message_wds_swi_create_profile_indexed_input_set_profile_identifier
(input, profile_type, (guint8)profile_index, NULL);
+ qmi_message_wds_swi_create_profile_indexed_input_set_pdp_context_number
(input, (guint8)profile_index, NULL);
Shouldn't we allow specifying a different PDP context number
associated to the WDS profile index?
In, qmicli_read_pdp_type_from_string() I see:
+ else if (!str[0] || g_ascii_strcasecmp (str, "BOTH") == 0 ||
g_ascii_strcasecmp (str, "IPV4V6") == 0)
+ *out = QMI_WDS_PDP_TYPE_IPV4_OR_IPV6;
I don't think we should match the empty string or "both" to IPv4v6.
The user should set IPv4v6.
Cheers!
--
Aleksander
https://aleksander.es
More information about the libqmi-devel
mailing list