Skip to contentSkip to conversation

USB: qcaux: Add Motorola modem UARTs

DISCUSSION Johan Hovold 1 participant 1 message Dec 6, 2018 USB

lore
Share & tools
lore
#0 lore raw
Quoted 17 lines · Tony Lindgren

Hi,

Quoted 6 lines · Johan Hovold
Quoted 5 lines · Tony Lindgren

On Motorola Mapphone devices such as Droid 4 there are five USB ports that do not use the same layout as Gobi 1K/2K/etc devices listed in qcserial.c. So we should use qcaux.c or option.c as noted by Dan Williams <[email protected]>.

Quoted 7 lines
Quoted 4 lines

The ff/ff/ff interfaces seem to always be UARTs on Motorola devices. And we should not add interfaces with 0x0a class (CDC Data) as they are part of a multi-interface function like for example interface 0x22b8:0x4281 as noted by Bjørn Mork <[email protected]>.

Can you post the output of usb-devices (or lsusb -v) for these three devices (PIDs)?

Quoted 8 lines

Here's two out of three for you to look at. They're all listed in drivers/usb/serial/mdm6600.c in at least the Motorola Mapphone Android kernels, see for example the LineageOS kernel at [0] if you want to look at the USB serial driver.

I don't have a device with 9600 with 0x2e0a id.

[0] https://github.com/LineageOS/android_kernel_motorola_omap4-common/blob/cm-14.1/drivers/usb/serial/mdm6600.c

Thanks for the pointer.

Quoted 7 lines

8< ---------------------
Bus 001 Device 002: ID 22b8:4281
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00

Quoted 6 lines
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 

bMaxPacketSize0 64
idVendor 0x22b8
idProduct 0x4281

This PID is not included in your patch however.

Quoted 17 lines

bcdDevice 0.00

  iManufacturer           1 Motorola, Incorporated
  iProduct                2 Flash MZ600
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0020
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          3 Motorola Configuration
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
Quoted 8 lines
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 
      bInterfaceSubClass      0 
      bInterfaceProtocol    252 

And wouldn't match on ff/ff/ff in any case.

Quoted 75 lines

iInterface 5 Motorola Flash
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 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 0x0040 1x 64 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)

Bus 003 Device 109: ID 22b8:900e
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00

  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x22b8 
  idProduct          0x900e 
  bcdDevice            0.00
  iManufacturer           1 Motorola, Incorporated
  iProduct                2 Flash MZ600
  iSerial                 0 
  bNumConfigurations      1

Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3 Motorola Configuration
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255
bInterfaceSubClass 255
bInterfaceProtocol 255
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 0x0040 1x 64 bytes
bInterval 32
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT

Quoted 8 lines

bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 32
Device Status: 0x0000
(Bus Powered)

And this doesn't look like a modem with five (?) interfaces, but I guess it's in "flash" mode?

Could you post the output for the two devices you have in "modem" mode?

How do switch modes by the way?

Thanks,
Johan