Re: [PATCH net-next] qmi_wwan: Add rawip module param

From: Bjørn Mork
Date: Tue Sep 12 2023 - 03:37:13 EST


Stefan x Nilsson <stefan.x.nilsson@xxxxxxxx> writes:

> Certain QMI modems will start communicating in rawip mode after
> bootup, and will not work properly if communication starts off in
> ethernet mode. So add a module parameter, rawip_as_default, that
> can be used to load the qmi driver in rawip mode.
>
> The advantage compared to changing rawip at a later point using
> sysfs is that the os will not detect the device and start talking
> to it while the driver is still in incorrect mode.
>
> Signed-off-by: Stefan x Nilsson <stefan.x.nilsson@xxxxxxxx>
> ---
> drivers/net/usb/qmi_wwan.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index 344af3c5c836..968c60ececf8 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -46,6 +46,10 @@
> * commands on a serial interface
> */
>
> +/* Module parameters */
> +static bool rawip_as_default;
> +module_param(rawip_as_default, bool, 0644);
> +
> /* driver specific data */
> struct qmi_wwan_state {
> struct usb_driver *subdriver;
> @@ -843,6 +847,13 @@ static int qmi_wwan_bind(struct usbnet *dev, struct usb_interface *intf)
> }
> dev->net->netdev_ops = &qmi_wwan_netdev_ops;
> dev->net->sysfs_groups[0] = &qmi_wwan_sysfs_attr_group;
> +
> + /* Set the driver into rawip mode if requested by module param */
> + if (rawip_as_default) {
> + info->flags |= QMI_WWAN_FLAG_RAWIP;
> + qmi_wwan_netdev_setup(dev->net);
> + }
> +
> err:
> return status;
> }
>

NAK

There is no reason to start communicating with the device before
changing the framing, using the existing sysfs interface.

This seems to be a workaround for some userspace bug. I don't think we
yet another userspace knob for that. And certainly not one that applies
to every device.



Bjørn