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