Re: [PATCH] Add Marvell ML352 to drivers/usb/serial/option.c

Michael Wyraz
2025-09-12T07:01:29Z

Hello Johan,

sorry, I totally missed this mail. "usb-devices" is not available on
that device. Hope this does it too:

lsusb  -d 1286:4e3c  -v

Bus 001 Device 002: ID 1286:4e3c ASR Mobile Composite Device Bus
Device Descriptor:
bLength                18
bDescriptorType         1
bcdUSB               2.00
bDeviceClass          239
bDeviceSubClass         2
bDeviceProtocol         1
bMaxPacketSize0        64
idVendor           0x1286
idProduct          0x4e3c
bcdDevice            1.00
iManufacturer           1 ASR
iProduct                2 Mobile Composite Device Bus
iSerial                 3 200806006809080000
bNumConfigurations      1
Configuration Descriptor:
bLength                 9
bDescriptorType         2
wTotalLength       0x00c4
bNumInterfaces          5
bConfigurationValue     1
iConfiguration          0
bmAttributes         0xc0
Self Powered
MaxPower              500mA
Interface Association:
bLength                 8
bDescriptorType        11
bFirstInterface         0
bInterfaceCount         2
bFunctionClass        224
bFunctionSubClass       1
bFunctionProtocol       3
iFunction               5 Mobile RNDIS Network Adapter
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        0
bAlternateSetting       0
bNumEndpoints           1
bInterfaceClass       224
bInterfaceSubClass      1
bInterfaceProtocol      3
iInterface              5 Mobile RNDIS Network Adapter
** UNRECOGNIZED:  05 24 00 10 01
** UNRECOGNIZED:  05 24 01 00 01
** UNRECOGNIZED:  04 24 02 00
** UNRECOGNIZED:  05 24 06 00 01
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x85  EP 5 IN
bmAttributes            3
Transfer Type            Interrupt
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0040  1x 64 bytes
bInterval              16
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        1
bAlternateSetting       0
bNumEndpoints           2
bInterfaceClass        10
bInterfaceSubClass      0
bInterfaceProtocol      0
iInterface              5 Mobile RNDIS Network Adapter
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x87  EP 7 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     0x06  EP 6 OUT
bmAttributes            2
Transfer Type            Bulk
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0200  1x 512 bytes
bInterval               0
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        2
bAlternateSetting       0
bNumEndpoints           2
bInterfaceClass       255
bInterfaceSubClass      0
bInterfaceProtocol      0
iInterface              8 Mobile Diag Interface
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x84  EP 4 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     0x03  EP 3 OUT
bmAttributes            2
Transfer Type            Bulk
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0200  1x 512 bytes
bInterval               0
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        3
bAlternateSetting       0
bNumEndpoints           3
bInterfaceClass       255
bInterfaceSubClass      0
bInterfaceProtocol      0
iInterface             11 Mobile AT Interface
** 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     0x8c  EP 12 IN
bmAttributes            3
Transfer Type            Interrupt
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0040  1x 64 bytes
bInterval              16
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x8e  EP 14 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     0x0d  EP 13 OUT
bmAttributes            2
Transfer Type            Bulk
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0200  1x 512 bytes
bInterval               0
Interface Descriptor:
bLength                 9
bDescriptorType         4
bInterfaceNumber        4
bAlternateSetting       0
bNumEndpoints           3
bInterfaceClass       255
bInterfaceSubClass      0
bInterfaceProtocol      0
iInterface             11 Mobile AT Interface
** 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     0x8a  EP 10 IN
bmAttributes            3
Transfer Type            Interrupt
Synch Type               None
Usage Type               Data
wMaxPacketSize     0x0040  1x 64 bytes
bInterval              16
Endpoint Descriptor:
bLength                 7
bDescriptorType         5
bEndpointAddress     0x82  EP 2 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
Device Qualifier (for other device speed):
bLength                10
bDescriptorType         6
bcdUSB               2.00
bDeviceClass            0
bDeviceSubClass         0
bDeviceProtocol         0
bMaxPacketSize0        16
bNumConfigurations      1
Device Status:     0x0001
Self Powered

Am 18.06.25 um 16:27 schrieb Johan Hovold:
> On Wed, Jun 18, 2025 at 10:06:15AM +0200, Michael Wyraz wrote:
>> Add the device id of the Marvell ML352 to option.c so that the
>> device is recognized as usb-serial device.
>>
>> Signed-off-by: Michael Wyraz <michael@wyraz.de>
> Thanks for the patch. Looks good, but we may not want to bind to every
> interface of the device.
>
> Can you please post the output of 'usb-devices' for this device? I
> assume it has more than one interface, do what each interface is used
> for?
>
> If you end up resending, please use the common prefix in Subject, for
> example:
>
> USB: serial: option: add support for Marvell ML352
>
> (e.g. as can been seen by running 'git log --oneline' on the files
> you're changing).
>
> Johan