All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Daniele Palmas <dnlplm@gmail.com>
Cc: Johan Hovold <johan@kernel.org>, linux-usb <linux-usb@vger.kernel.org>
Subject: Re: [PATCH RESEND 1/1] usb: serial: option: add ZLP support for 0x1bc7/0x9010
Date: Fri, 6 Dec 2019 16:43:30 +0100	[thread overview]
Message-ID: <20191206154330.GP10631@localhost> (raw)
In-Reply-To: <CAGRyCJGPzxT8AChC6sq-8v-PAQJFuY-bZqoHmoJiwGCyxrTgZg@mail.gmail.com>

On Thu, Dec 05, 2019 at 05:06:59PM +0100, Daniele Palmas wrote:
> Il giorno gio 5 dic 2019 alle ore 15:57 Johan Hovold
> <johan@kernel.org> ha scritto:
> >
> > On Mon, Nov 18, 2019 at 02:32:51PM +0100, Daniele Palmas wrote:
> > > Telit FN980 flashing device 0x1bc7/0x9010 requires zero packet
> > > to be sent if out data size is equal to the endpoint max size.
> > >
> > > Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
> > > ---
> > >  drivers/usb/serial/option.c   | 8 ++++++++
> > >  drivers/usb/serial/usb-wwan.h | 1 +
> > >  drivers/usb/serial/usb_wwan.c | 9 +++++++++
> > >  3 files changed, 18 insertions(+)
> > >
> > > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > > index e9491d400a24..c13e063cb399 100644
> > > --- a/drivers/usb/serial/option.c
> > > +++ b/drivers/usb/serial/option.c
> > > @@ -567,6 +567,9 @@ static void option_instat_callback(struct urb *urb);
> > >  /* Interface must have two endpoints */
> > >  #define NUMEP2               BIT(16)
> > >
> > > +/* Device needs ZLP */
> > > +#define ZLP          BIT(17)
> > > +
> > >
> > >  static const struct usb_device_id option_ids[] = {
> > >       { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
> > > @@ -1196,6 +1199,8 @@ static const struct usb_device_id option_ids[] = {
> > >         .driver_info = NCTRL(0) | RSVD(1) },
> > >       { USB_DEVICE_INTERFACE_CLASS(TELIT_VENDOR_ID, 0x1901, 0xff),    /* Telit LN940 (MBIM) */
> > >         .driver_info = NCTRL(0) },
> > > +     { USB_DEVICE(TELIT_VENDOR_ID, 0x9010),                          /* Telit SBL FN980 flashing device */
> > > +       .driver_info = NCTRL(0) | ZLP },
> >
> > Hmm. Could you post the lsusb -v output for this device?
> >
> 
> Bus 003 Device 004: ID 1bc7:9010 Telit Wireless Solutions
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.10
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0        64
>   idVendor           0x1bc7 Telit Wireless Solutions
>   idProduct          0x9010
>   bcdDevice            0.00
>   iManufacturer           1 Telit Wireless Solutions
>   iProduct                2 FN980m
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           32
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0xa0
>       (Bus Powered)
>       Remote Wakeup
>     MaxPower                2mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass       255 Vendor Specific Class
>       bInterfaceSubClass    255 Vendor Specific Subclass
>       bInterfaceProtocol     16
>       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     0x0200  1x 512 bytes
>         bInterval               0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x01  EP 1 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0200  1x 512 bytes
>         bInterval               0
> Binary Object Store Descriptor:
>   bLength                 5
>   bDescriptorType        15
>   wTotalLength           42
>   bNumDeviceCaps          3
>   ** UNRECOGNIZED:  14 10 0a 00 01 00 00 00 00 11 00 00 30 40 0a 00 b0 40 0a 00
>   SuperSpeed USB Device Capability:
>     bLength                10
>     bDescriptorType        16
>     bDevCapabilityType      3
>     bmAttributes         0x00
>     wSpeedsSupported   0x000e
>       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          10 micro seconds
>     bU2DevExitLat        2047 micro seconds
>   USB 2.0 Extension Device Capability:
>     bLength                 7
>     bDescriptorType        16
>     bDevCapabilityType      2
>     bmAttributes   0x00000002
>       Link Power Management (LPM) Supported
> Device Status:     0x0000
>   (Bus Powered)
> 
> > I wonder whether using option is the right thing to do here. We're just
> > currently throwing everything modem related in here it seems. :)
> >
> 
> I understand your concern. At first, in fact, I tried to add support
> for this in usb-serial-simple, but the change seemed to me more
> impacting than the one I had to do for adding support in option.
> 
> Let me know if you want me to continue investigating the
> usb-serial-simple way or you have another advice.

Yeah, I was thinking along those lines as well. Let me get me get back
to you on that.

Johan

  reply	other threads:[~2019-12-06 15:43 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-18 13:32 [PATCH RESEND 1/1] usb: serial: option: add ZLP support for 0x1bc7/0x9010 Daniele Palmas
2019-11-28 18:12 ` Daniele Palmas
2019-11-28 18:18   ` Johan Hovold
2019-12-05 14:57 ` Johan Hovold
2019-12-05 16:06   ` Daniele Palmas
2019-12-06 15:43     ` Johan Hovold [this message]
2019-12-06 15:56       ` Daniele Palmas
2019-12-16 12:01         ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191206154330.GP10631@localhost \
    --to=johan@kernel.org \
    --cc=dnlplm@gmail.com \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.