All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
@ 2018-09-08 11:50 Kristian Evensen
  2018-09-08 14:12 ` Bjørn Mork
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Kristian Evensen @ 2018-09-08 11:50 UTC (permalink / raw)
  To: netdev, bjorn; +Cc: Kristian Evensen

Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
interfaces, without the device changing VID/PID or configuration number.
When the configuration is updated and interfaces are added/removed, the
interface numbers change. This means that the current code for matching
EP06 does not work.

This patch removes the current EP06 interface number match, and replaces
it with a match on class, subclass and protocol. Unfortunately, matching
on those three alone is not enough, as the diag interface exports the
same values as QMI. The other serial interfaces + adb export different
values and do not match.

The diag interface only has two endpoints, while the QMI interface has
three. I have therefore added a check for number of interfaces, and we
ignore the interface if the number of endpoints equals two.

Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
---
 drivers/net/usb/qmi_wwan.c | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 31684f338..e4bb6083f 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -967,6 +967,13 @@ static const struct usb_device_id products[] = {
 		USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x581d, USB_CLASS_VENDOR_SPEC, 1, 7),
 		.driver_info = (unsigned long)&qmi_wwan_info,
 	},
+	{	/* Quectel EP06/EG06/EM06 */
+		USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x0306,
+					      USB_CLASS_VENDOR_SPEC,
+					      USB_SUBCLASS_VENDOR_SPEC,
+					      0xff),
+		.driver_info	    = (unsigned long)&qmi_wwan_info_quirk_dtr,
+	},
 
 	/* 3. Combined interface devices matching on interface number */
 	{QMI_FIXED_INTF(0x0408, 0xea42, 4)},	/* Yota / Megafon M100-1 */
@@ -1254,7 +1261,6 @@ static const struct usb_device_id products[] = {
 	{QMI_QUIRK_SET_DTR(0x2c7c, 0x0121, 4)},	/* Quectel EC21 Mini PCIe */
 	{QMI_QUIRK_SET_DTR(0x2c7c, 0x0191, 4)},	/* Quectel EG91 */
 	{QMI_FIXED_INTF(0x2c7c, 0x0296, 4)},	/* Quectel BG96 */
-	{QMI_QUIRK_SET_DTR(0x2c7c, 0x0306, 4)},	/* Quectel EP06 Mini PCIe */
 
 	/* 4. Gobi 1000 devices */
 	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
@@ -1330,6 +1336,19 @@ static bool quectel_ec20_detected(struct usb_interface *intf)
 	return false;
 }
 
+static bool quectel_ep06_diag_detected(struct usb_interface *intf)
+{
+	struct usb_device *dev = interface_to_usbdev(intf);
+	struct usb_interface_descriptor intf_desc = intf->cur_altsetting->desc;
+
+	if (le16_to_cpu(dev->descriptor.idVendor) == 0x2c7c &&
+	    le16_to_cpu(dev->descriptor.idProduct) == 0x0306 &&
+	    intf_desc.bNumEndpoints == 2)
+		return true;
+
+	return false;
+}
+
 static int qmi_wwan_probe(struct usb_interface *intf,
 			  const struct usb_device_id *prod)
 {
@@ -1364,6 +1383,15 @@ static int qmi_wwan_probe(struct usb_interface *intf,
 		return -ENODEV;
 	}
 
+	/* Quectel EP06/EM06/EG06 supports dynamic interface configuration, so
+	 * we need to match on class/subclass/protocol. These values are
+	 * identical for the diagnostic- and QMI-interface, but bNumEndpoints is
+	 * different. Ignore the current interface if the number of endpoints
+	 * the number for the diag interface (two).
+	 */
+	if (quectel_ep06_diag_detected(intf))
+		return -ENODEV;
+
 	return usbnet_probe(intf, id);
 }
 
-- 
2.14.1

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-09-08 11:50 [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06 Kristian Evensen
@ 2018-09-08 14:12 ` Bjørn Mork
  2018-09-09 14:37   ` Kristian Evensen
  2018-09-10 14:42   ` Dan Williams
  2018-09-10 17:49 ` David Miller
  2018-11-01 17:40 ` Kristian Evensen
  2 siblings, 2 replies; 9+ messages in thread
From: Bjørn Mork @ 2018-09-08 14:12 UTC (permalink / raw)
  To: Kristian Evensen; +Cc: netdev

Kristian Evensen <kristian.evensen@gmail.com> writes:

> Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> interfaces, without the device changing VID/PID or configuration number.
> When the configuration is updated and interfaces are added/removed, the
> interface numbers change. This means that the current code for matching
> EP06 does not work.

That's annoying, but hardly surprising. They obviously try to make life
as hard as possible for the drivers.  I wonder what the Windows drivers
do here, if there are any?  Or are these modules only used in embedded
Linux devices?

> This patch removes the current EP06 interface number match, and replaces
> it with a match on class, subclass and protocol. Unfortunately, matching
> on those three alone is not enough, as the diag interface exports the
> same values as QMI. The other serial interfaces + adb export different
> values and do not match.
>
> The diag interface only has two endpoints, while the QMI interface has
> three. I have therefore added a check for number of interfaces, and we
> ignore the interface if the number of endpoints equals two.

Could this break if more/other functions are enabled?  Are you sure
there can't be any other type of serial function with 3 endpoints and
ff/ff/ff?  Well, I guess no one knows for sure... And this is more than
good enough until it breaks. Thanks for solving the puzzle.  Looks good
to me.

Acked-by: Bjørn Mork <bjorn@mork.no>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-09-08 14:12 ` Bjørn Mork
@ 2018-09-09 14:37   ` Kristian Evensen
  2018-09-10 14:42   ` Dan Williams
  1 sibling, 0 replies; 9+ messages in thread
From: Kristian Evensen @ 2018-09-09 14:37 UTC (permalink / raw)
  To: Bjørn Mork; +Cc: Network Development

Hei Bjørn,

Thanks for the feedback!

On Sat, Sep 8, 2018 at 4:12 PM Bjørn Mork <bjorn@mork.no> wrote:
> That's annoying, but hardly surprising. They obviously try to make life
> as hard as possible for the drivers.  I wonder what the Windows drivers
> do here, if there are any?  Or are these modules only used in embedded
> Linux devices?

There are Windows-drivers, but I don't have access to them (or a
machine to test on if I could get them). I would not be surprised if
the modules turn up in Windows-machines, they seems to be quite
popular. EP06/EG06/EM06 all refer to the same module, they just have
different connectors. P is mini-PCIe, G is embedded and M is M.2.
Perhaps the assumption is that Windows-users wont mess around with
these settings? :)

> Could this break if more/other functions are enabled?  Are you sure
> there can't be any other type of serial function with 3 endpoints and
> ff/ff/ff?

I forgot to include the listing of all interfaces in my commit, so I
have inserted it at the bottom of this reply. With the current
firmware and interfaces, only QMI has three endpoints and ff/ff/ff. I
guess we just have do as you suggest, wait and refine the approach if
or when something breaks.

Output of lsusb -v for EG06 with all interfaces enabled (I have
checked that EP06 produces the same output):

Bus 002 Device 008: ID 2c7c:0306 Quectel Wireless Solutions Co., Ltd.
EG06/EP06/EM06 LTE-A modem
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0         9
  idVendor           0x2c7c Quectel Wireless Solutions Co., Ltd.
  idProduct          0x0306 EG06/EP06/EM06 LTE-A modem
  bcdDevice            3.10
  iManufacturer           1 Quectel
  iProduct                2 LTE-A Module
  iSerial                 3 c1494706
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          328
    bNumInterfaces          6
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              126mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              0
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x89  EP 9 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               9
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass     66
      bInterfaceProtocol      1
      iInterface              4 ADB Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x06  EP 6 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x8a  EP 10 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               0
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength           22
  bNumDeviceCaps          2
  USB 2.0 Extension Device Capability:
    bLength                 7
    bDescriptorType        16
    bDevCapabilityType      2
    bmAttributes   0x00000002
      Link Power Management (LPM) Supported
  SuperSpeed USB Device Capability:
    bLength                10
    bDescriptorType        16
    bDevCapabilityType      3
    bmAttributes         0x00
    wSpeedsSupported   0x000f
      Device can operate at Low Speed (1Mbps)
      Device can operate at Full Speed (12Mbps)
      Device can operate at High Speed (480Mbps)
      Device can operate at SuperSpeed (5Gbps)
    bFunctionalitySupport   1
      Lowest fully-functional device speed is Full Speed (12Mbps)
    bU1DevExitLat           1 micro seconds
    bU2DevExitLat         500 micro seconds
Device Status:     0x0000
  (Bus Powered)

Order of interfaces is diag, nmea, at, ppp, qmi, adb.

BR,
Kristian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-09-08 14:12 ` Bjørn Mork
  2018-09-09 14:37   ` Kristian Evensen
@ 2018-09-10 14:42   ` Dan Williams
  1 sibling, 0 replies; 9+ messages in thread
From: Dan Williams @ 2018-09-10 14:42 UTC (permalink / raw)
  To: Bjørn Mork, Kristian Evensen; +Cc: netdev

On Sat, 2018-09-08 at 16:12 +0200, Bjørn Mork wrote:
> Kristian Evensen <kristian.evensen@gmail.com> writes:
> 
> > Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> > interfaces, without the device changing VID/PID or configuration
> > number.
> > When the configuration is updated and interfaces are added/removed,
> > the
> > interface numbers change. This means that the current code for
> > matching
> > EP06 does not work.
> 
> That's annoying, but hardly surprising. They obviously try to make
> life
> as hard as possible for the drivers.  I wonder what the Windows
> drivers
> do here, if there are any?  Or are these modules only used in
> embedded
> Linux devices?
> 
> > This patch removes the current EP06 interface number match, and
> > replaces
> > it with a match on class, subclass and protocol. Unfortunately,
> > matching
> > on those three alone is not enough, as the diag interface exports
> > the
> > same values as QMI. The other serial interfaces + adb export
> > different
> > values and do not match.
> > 
> > The diag interface only has two endpoints, while the QMI interface
> > has
> > three. I have therefore added a check for number of interfaces, and
> > we
> > ignore the interface if the number of endpoints equals two.
> 
> Could this break if more/other functions are enabled?  Are you sure
> there can't be any other type of serial function with 3 endpoints and
> ff/ff/ff?  Well, I guess no one knows for sure... And this is more
> than
> good enough until it breaks. Thanks for solving the puzzle.  Looks
> good
> to me.

I'm sure they could add another serial interface with ff/ff/ff and 3
endpoints, but I don't know what else we can do to make this device
work correctly.  I double-checked the permutations & logic and it makes
sense to me.

Acked-by: Dan Williams <dcbw@redhat.com>

Dan

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-09-08 11:50 [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06 Kristian Evensen
  2018-09-08 14:12 ` Bjørn Mork
@ 2018-09-10 17:49 ` David Miller
  2018-11-01 17:40 ` Kristian Evensen
  2 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2018-09-10 17:49 UTC (permalink / raw)
  To: kristian.evensen; +Cc: netdev, bjorn

From: Kristian Evensen <kristian.evensen@gmail.com>
Date: Sat,  8 Sep 2018 13:50:48 +0200

> Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> interfaces, without the device changing VID/PID or configuration number.
> When the configuration is updated and interfaces are added/removed, the
> interface numbers change. This means that the current code for matching
> EP06 does not work.
> 
> This patch removes the current EP06 interface number match, and replaces
> it with a match on class, subclass and protocol. Unfortunately, matching
> on those three alone is not enough, as the diag interface exports the
> same values as QMI. The other serial interfaces + adb export different
> values and do not match.
> 
> The diag interface only has two endpoints, while the QMI interface has
> three. I have therefore added a check for number of interfaces, and we
> ignore the interface if the number of endpoints equals two.
> 
> Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>

Applied, thanks.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-09-08 11:50 [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06 Kristian Evensen
  2018-09-08 14:12 ` Bjørn Mork
  2018-09-10 17:49 ` David Miller
@ 2018-11-01 17:40 ` Kristian Evensen
  2018-11-01 19:30   ` Kristian Evensen
  2 siblings, 1 reply; 9+ messages in thread
From: Kristian Evensen @ 2018-11-01 17:40 UTC (permalink / raw)
  To: Network Development, Bjørn Mork

Hi,

On Sat, Sep 8, 2018 at 1:50 PM Kristian Evensen
<kristian.evensen@gmail.com> wrote:
> Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> interfaces, without the device changing VID/PID or configuration number.
> When the configuration is updated and interfaces are added/removed, the
> interface numbers change. This means that the current code for matching
> EP06 does not work.

Would it be possible to have this patch added to stable? I checked
both the 4.14-tree and the stable queue, but could not find the
patch/upstream commit.

Thanks,
Kristian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-11-01 17:40 ` Kristian Evensen
@ 2018-11-01 19:30   ` Kristian Evensen
  2018-11-01 19:37     ` Kristian Evensen
  0 siblings, 1 reply; 9+ messages in thread
From: Kristian Evensen @ 2018-11-01 19:30 UTC (permalink / raw)
  To: Network Development, Bjørn Mork

On Thu, Nov 1, 2018 at 6:40 PM Kristian Evensen
<kristian.evensen@gmail.com> wrote:
>
> Hi,
>
> On Sat, Sep 8, 2018 at 1:50 PM Kristian Evensen
> <kristian.evensen@gmail.com> wrote:
> > Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> > interfaces, without the device changing VID/PID or configuration number.
> > When the configuration is updated and interfaces are added/removed, the
> > interface numbers change. This means that the current code for matching
> > EP06 does not work.
>
> Would it be possible to have this patch added to stable? I checked
> both the 4.14-tree and the stable queue, but could not find the
> patch/upstream commit.

Please ignore this request. I discovered patch does not apply to 4.14,
so I will do a manual backport and send to stable.

BR,
Kristian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-11-01 19:30   ` Kristian Evensen
@ 2018-11-01 19:37     ` Kristian Evensen
  2018-11-02  3:34       ` David Miller
  0 siblings, 1 reply; 9+ messages in thread
From: Kristian Evensen @ 2018-11-01 19:37 UTC (permalink / raw)
  To: Network Development, Bjørn Mork

On Thu, Nov 1, 2018 at 8:30 PM Kristian Evensen
<kristian.evensen@gmail.com> wrote:
>
> On Thu, Nov 1, 2018 at 6:40 PM Kristian Evensen
> <kristian.evensen@gmail.com> wrote:
> >
> > Hi,
> >
> > On Sat, Sep 8, 2018 at 1:50 PM Kristian Evensen
> > <kristian.evensen@gmail.com> wrote:
> > > Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
> > > interfaces, without the device changing VID/PID or configuration number.
> > > When the configuration is updated and interfaces are added/removed, the
> > > interface numbers change. This means that the current code for matching
> > > EP06 does not work.
> >
> > Would it be possible to have this patch added to stable? I checked
> > both the 4.14-tree and the stable queue, but could not find the
> > patch/upstream commit.
>
> Please ignore this request. I discovered patch does not apply to 4.14,
> so I will do a manual backport and send to stable.

Blah, it is clearly not my day today. I discovered that my 4.14 build
directory was dirty and that the patch applies fined on top of
4.14.78. Sorry about the extra noise and please do not ignore my
request for stable :)

BR,
Kristian

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06
  2018-11-01 19:37     ` Kristian Evensen
@ 2018-11-02  3:34       ` David Miller
  0 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2018-11-02  3:34 UTC (permalink / raw)
  To: kristian.evensen; +Cc: netdev, bjorn

From: Kristian Evensen <kristian.evensen@gmail.com>
Date: Thu, 1 Nov 2018 20:37:55 +0100

> On Thu, Nov 1, 2018 at 8:30 PM Kristian Evensen
> <kristian.evensen@gmail.com> wrote:
>>
>> On Thu, Nov 1, 2018 at 6:40 PM Kristian Evensen
>> <kristian.evensen@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > On Sat, Sep 8, 2018 at 1:50 PM Kristian Evensen
>> > <kristian.evensen@gmail.com> wrote:
>> > > Quectel EP06 (and EM06/EG06) supports dynamic configuration of USB
>> > > interfaces, without the device changing VID/PID or configuration number.
>> > > When the configuration is updated and interfaces are added/removed, the
>> > > interface numbers change. This means that the current code for matching
>> > > EP06 does not work.
>> >
>> > Would it be possible to have this patch added to stable? I checked
>> > both the 4.14-tree and the stable queue, but could not find the
>> > patch/upstream commit.
>>
>> Please ignore this request. I discovered patch does not apply to 4.14,
>> so I will do a manual backport and send to stable.
> 
> Blah, it is clearly not my day today. I discovered that my 4.14 build
> directory was dirty and that the patch applies fined on top of
> 4.14.78. Sorry about the extra noise and please do not ignore my
> request for stable :)

I am only doing v4.19 and v4.18 -stable submissions at this point.

Please contact the -stable release maintainer directly for requests
pertaining to older releases.

Thank you.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-11-02 12:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-08 11:50 [PATCH net] qmi_wwan: Support dynamic config on Quectel EP06 Kristian Evensen
2018-09-08 14:12 ` Bjørn Mork
2018-09-09 14:37   ` Kristian Evensen
2018-09-10 14:42   ` Dan Williams
2018-09-10 17:49 ` David Miller
2018-11-01 17:40 ` Kristian Evensen
2018-11-01 19:30   ` Kristian Evensen
2018-11-01 19:37     ` Kristian Evensen
2018-11-02  3:34       ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.