Re: PROBLEM: HUAWEI E3531 HSPA+ USB Stick "please report the device ID to the Linux USB developers"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Peter Schüller <contact@xxxxxxxxxxxxxxxxxx> writes:

> [corrected email of Kai-Heng Feng]
>
> Am Mo., 18. März 2019 um 15:39 Uhr schrieb Dan Williams <dcbw@xxxxxxxxxx>:
>> [removing netdev list...]
>>
>> With the modem plugged in, could you grab the output of:
>>
>> lsusb -v -d 12d1:14dc
>
> The output is on STDERR
>
> Couldn't open device, some information will be missing
>
> and on STDOUT
>
> Bus 001 Device 009: ID 12d1:14dc Huawei Technologies Co., Ltd.
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               2.00
>   bDeviceClass            2 Communications
>   bDeviceSubClass         0
>   bDeviceProtocol         0
>   bMaxPacketSize0        64
>   idVendor           0x12d1 Huawei Technologies Co., Ltd.
>   idProduct          0x14dc
>   bcdDevice            1.02
>   iManufacturer           1
>   iProduct                2
>   iSerial                 0
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength           94
>     bNumInterfaces          3
>     bConfigurationValue     1
>     iConfiguration          0
>     bmAttributes         0x80
>       (Bus Powered)
>     MaxPower              500mA
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       0
>       bNumEndpoints           1
>       bInterfaceClass         2 Communications
>       bInterfaceSubClass      6 Ethernet Networking
>       bInterfaceProtocol      0
>       iInterface              5
>       CDC Header:
>         bcdCDC               1.10
>       CDC Union:
>         bMasterInterface        0
>         bSlaveInterface         1
>       CDC Ethernet:
>         iMacAddress                      7 (??)
>         bmEthernetStatistics    0x00000000
>         wMaxSegmentSize               1514
>         wNumberMCFilters            0x0000
>         bNumberPowerFilters              0
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x83  EP 3 IN
>         bmAttributes            3
>           Transfer Type            Interrupt
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0010  1x 16 bytes
>         bInterval               9
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        1
>       bAlternateSetting       0
>       bNumEndpoints           2
>       bInterfaceClass        10 CDC Data
>       bInterfaceSubClass      6
>       bInterfaceProtocol      0
>       iInterface              6
>       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     0x02  EP 2 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         8 Mass Storage
>       bInterfaceSubClass      6 SCSI
>       bInterfaceProtocol     80 Bulk-Only
>       iInterface              0
>       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               1

OK, so there are only two class functions in that mode: Ethernet and
Storage.  There should be no need to add anything anywhere.  The proper
class drivers, cdc_ether and usb-storage, will load and probe these
functions based on the class/subclass/protocol values.

And your log show that this works as expected:

Mar 17 14:06:32 gigabyte kernel: cdc_ether 1-4.1:1.0 eth0: register 'cdc_ether' at usb-0000:00:14.0-4.1, CDC Ethernet Device, 00:1e:10:1f:00:00
Mar 17 14:06:32 gigabyte kernel: usb-storage 1-4.1:1.2: USB Mass Storage device detected
Mar 17 14:06:32 gigabyte kernel: scsi host1: usb-storage 1-4.1:1.2


So I don't understand why usb_modeswitch wants to add this device to the
option driver.  That's just wrong.  There are no serial functions in
this mode.  And if there were, they'd most likely be automatically
detected by the Huawei specific logic in option..

There is nothing more the drivers/kernel can do here.


Bjørn




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux