Activation Codes and Methods, Hardware Details, Sniffing
Post Reply
dipr
Posts: 14
Joined: 19 Feb 2016, 17:40

E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,device?

Post by dipr » 19 Feb 2016, 18:08

Hi guys,
I got the E3131 switched like this:

Code: Select all

usb_modeswitch -v 12d1 -p 15ca -V 12d1 -P 1506 -M 55534243123456780000000000000011062000000100000000000000000000

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.2.0 (C) Josua Dietze 2014
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor=  0x12d1
DefaultProduct= 0x15ca
TargetVendor=   0x12d1
TargetProduct=  0x1506
MessageContent="55534243123456780000000000000011062000000100000000000000000000"
NeedResponse=0

Look for target devices ...
  found USB ID 0a5c:bd1d
  found USB ID 1a40:0101
  found USB ID 1d6b:0002
  found USB ID 1d6b:0002
  found USB ID 12d1:15ca
   vendor ID matched
 No devices in target mode or class found
Look for default devices ...
  found USB ID 0a5c:bd1d
  found USB ID 1a40:0101
  found USB ID 1d6b:0002
  found USB ID 1d6b:0002
  found USB ID 12d1:15ca
   vendor ID matched
   product ID matched
 Found devices in default mode (1)
Access device 003 on bus 002
Current configuration number is 1
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)

USB description data (for identification)
-------------------------
Manufacturer: HUAWEI
     Product: HUAWEI Mobile
  Serial No.: FFFFFFFFFFFFFFFF
-------------------------
Looking for active driver ...
 OK, driver detached
Set up interface 0
Use endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Reset response endpoint 0x81
Reset message endpoint 0x01
-> Run lsusb to note any changes. Bye!
so from

Code: Select all

lsusb:
Bus 001 Device 002: ID 0a5c:bd1d
Bus 002 Device 002: ID 1a40:0101
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 002 Device 003: ID 12d1:15ca   <== that's me

dmesg:
[  286.589661] usb 2-1.4: new high-speed USB device number 3 using ci_hdrc
[  286.747888] scsi0 : usb-storage 2-1.4:1.0
[  287.754114] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2    <== driver intall CD?
i switched to

Code: Select all

lsusb:
Bus 001 Device 002: ID 0a5c:bd1d
Bus 002 Device 002: ID 1a40:0101
Bus 001 Device 001: ID 1d6b:0002
Bus 002 Device 001: ID 1d6b:0002
Bus 002 Device 004: ID 12d1:1506   <== yeeha?

[  389.007583] usb 2-1.4: USB disconnect, device number 3
[  389.761962] usb 2-1.4: new high-speed USB device number 4 using ci_hdrc
[  390.214850] scsi1 : usb-storage 2-1.4:1.4
[  390.239568] scsi2 : usb-storage 2-1.4:1.5
[  391.223699] scsi 1:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2  <== still driver install CD
[  391.240019] scsi 2:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2  <== SD card. whers' the UMTS modem?
[  391.246720] sd 2:0:0:0: [sda] Attached SCSI removable disk
but I find neither a /dev/ttyUSB* device nor does ifconfig -a show something new.
What should I see if the switch to modem had worked?
Can I switch the switched device further, like :
install_CD -> install_CD + SD card -> SD Card + UMTS dongle ?

What linux kernel module / capability has to be present to recognize a popping up UMTS stick?

thx in advance for input
Peter

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,dev

Post by LOM » 20 Feb 2016, 10:32

You can not switch the device further, 12d1:1506 is a usb id for a device after it has switched.

One of the drivers you'll have to load is named option, it is a serial port driver. The device does also have a direct ethernet interface which will be driven by one of:
qmi_wwan
cdc_ncm
cdc_ether

I need to see the output from lsusb -v -d 12d1:1506 in order to tell you which kind of direct ethernet driver your device needs.

dipr
Posts: 14
Joined: 19 Feb 2016, 17:40

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,dev

Post by dipr » 20 Feb 2016, 13:05

LOM wrote:You can not switch the device further, 12d1:1506 is a usb id for a device after it has switched.

One of the drivers you'll have to load is named option, it is a serial port driver. The device does also have a direct ethernet interface which will be driven by one of:
qmi_wwan
cdc_ncm
cdc_ether

I need to see the output from lsusb -v -d 12d1:1506 in order to tell you which kind of direct ethernet driver your device needs.
Thx a lot for clarifying. :D :D Problem is that I'm talking about an embedded device on ARMv7.
However, the good guys did publish the GPLed linux source, as they are obliged to.
And their config.linux says the following with regard to usb and networking:

Code: Select all

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_CDC_EEM is not set
CONFIG_USB_NET_CDC_NCM=y
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SMSC75XX is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
CONFIG_USB_NET_NET1080=y
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
CONFIG_USB_NET_CDC_SUBSET=y
# CONFIG_USB_ALI_M5632 is not set
# CONFIG_USB_AN2720 is not set
# CONFIG_USB_BELKIN is not set
# CONFIG_USB_ARMLINUX is not set
# CONFIG_USB_EPSON2888 is not set
# CONFIG_USB_KC2190 is not set
# CONFIG_USB_NET_ZAURUS is not set
# CONFIG_USB_NET_CX82310_ETH is not set
# CONFIG_USB_NET_KALMIA is not set
# CONFIG_USB_NET_QMI_WWAN is not set
# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_USB_SIERRA_NET is not set
# CONFIG_USB_VL600 is not set
CONFIG_WLAN=y
# CONFIG_USB_ZD1201 is not set
# CONFIG_WIFI_CONTROL_FUNC is not set
# CONFIG_BCMDHD is not set
CONFIG_HOSTAP=m
# CONFIG_HOSTAP_FIRMWARE is not set
CONFIG_WILINK_PLATFORM_DATA=y
So no NET_QMI_WWAN, but NET_CDC_NCM and NET_CDCETHER are part of the kernel (no modules).

Second issue is lsusb -v on the embedded device doesn't output more than plain lsusb.

I'll try to see what the Raspi2 says to lsusb -v (after switching the decive, of course. Should be much more versatile).

Meanwhile, this is what USBTreeView under Windows7 64 has to say.
maybe you can deduct the respective linux driver needed from all this info:

Code: Select all

    =========================== USB Port2 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 7-2

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Composite Device
Device Path              : \\?\usb#vid_12d1&pid_1506#5&2b3e2e23&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
Device ID                : USB\VID_12D1&PID_1506\5&2B3E2E23&0&2
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0031 (GUID_DEVCLASS_USB)
Driver                   : C:\Windows\system32\DRIVERS\usbccgp.sys (Version: 6.1.7601.17514  Date: 2010-11-21)
Driver Inf               : C:\Windows\inf\oem20.inf
Legacy BusType           : PNPBus
Class                    : USB
Service                  : usbccgp
Enumerator               : USB
Location Info            : Port_#0002.Hub_#0004
Container ID             : {759b3092-d734-11e5-9c0d-344b50b7ef08}
Manufacturer Info        : (Standard system devices)
Capabilities             : 0x84 (Removable, SurpriseRemovalOK)
Upper Filters            : ew_usbenumfilter
Address                  : 2
Problem Code             : 0
Power State              : D0 (supported: D0, D2, D3, wake from D0, wake from D2)
 Child Device 1          : HUAWEI Mobile Connect - 3G Modem
  Device ID              : USB\VID_12D1&SUBCLASS_03&PROT_01\6&1D367F9C&0&0000
  Class                  : Modem
  COM-Port               : COM8 (\Device\AcmSerial_0)
 Child Device 2          : HUAWEI Mobile Connect - 3G PC UI Interface
  Device ID              : USB\VID_12D1&SUBCLASS_03&PROT_02\6&1D367F9C&0&0003
  Class                  : Ports
  COM-Port               : COM6 (\Device\AcmSerial_2)
 Child Device 3          : HUAWEI Mobile Connect - 3G Application Interface
  Device ID              : USB\VID_12D1&SUBCLASS_03&PROT_03\6&1D367F9C&0&0002
  Class                  : Ports
  COM-Port               : COM7 (\Device\AcmSerial_1)
 Child Device 4          : HUAWEI Mobile Connect - Network Card
  Device ID              : USB\VID_12D1&SUBCLASS_03&PROT_16\6&1D367F9C&0&0001
  Class                  : Net
 Child Device 5          : USB-Massenspeichergerät
  Device ID              : USB\VID_12D1&SUBCLASS_06&PROT_50\6&1D367F9C&0&0004
  Class                  : USB
   Child Device 1        : CD-ROM-Laufwerk (CdRom1)
    Device ID            : USBSTOR\CDROM&VEN_HUAWEI&PROD_MASS_STORAGE&REV_2.31\7&2147290B&0
    Class                : CDROM
     Volume              : \\?\Volume{759b3095-d734-11e5-9c0d-344b50b7ef08}\
     Kernel Name         : \Device\CdRom1
     Mountpoint          : M:\
 Child Device 6          : USB-Massenspeichergerät
  Device ID              : USB\VID_12D1&SUBCLASS_06&PROT_50\6&1D367F9C&0&0005
  Class                  : USB
   Child Device 1        : Laufwerk (Disk2)
    Device ID            : USBSTOR\DISK&VEN_HUAWEI&PROD_TF_CARD_STORAGE&REV_2.31\7&E8D7866&0
    Class                : DiskDrive
     Volume              : \\?\Volume{759b3097-d734-11e5-9c0d-344b50b7ef08}\
     Kernel Name         : \Device\HarddiskVolume5
     Mountpoint          : N:\

        ---------------- Connection Information ---------------
Connection Index         : 0x02 (2)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01
Device Address           : 0x01 (1)
Is Hub                   : 0x00 (no)
Number Of Open Pipes     : 0x0E (14)
Device Bus Speed         : 0x02 (High-Speed)
Pipe0ScheduleOffset      : 0x00 (0)
Pipe1ScheduleOffset      : 0x00 (0)
Pipe2ScheduleOffset      : 0x00 (0)
Pipe3ScheduleOffset      : 0x00 (0)
Pipe4ScheduleOffset      : 0x00 (0)
Pipe5ScheduleOffset      : 0x00 (0)
Pipe6ScheduleOffset      : 0x00 (0)
Pipe7ScheduleOffset      : 0x00 (0)
Pipe8ScheduleOffset      : 0x00 (0)
Pipe9ScheduleOffset      : 0x00 (0)
Pipe10ScheduleOffset      : 0x00 (0)
Pipe11ScheduleOffset      : 0x00 (0)
Pipe12ScheduleOffset      : 0x00 (0)
Pipe13ScheduleOffset      : 0x00 (0)

        ------------------ Device Descriptor ------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x200 (USB Version 2.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x40 (64 bytes)
idVendor                 : 0x12D1
idProduct                : 0x1506
bcdDevice                : 0x102
iManufacturer            : 0x01 (String Descriptor 1)
 Language 0x0409         : "HUAWEI"
iProduct                 : 0x02 (String Descriptor 2)
 Language 0x0409         : "HUAWEI Mobile"
iSerialNumber            : 0x00 (No String Descriptor)
bNumConfigurations       : 0x01

        ------------------ String Descriptors -----------------
             ------ String Descriptor 0 ------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language ID[0]           : 0x0409 (English - United States)
             ------ String Descriptor 1 ------
bLength                  : 0x0E (14 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "HUAWEI"
             ------ String Descriptor 2 ------
bLength                  : 0x1C (28 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "HUAWEI Mobile"
             ------ String Descriptor 3 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "FFFFFFFFFFFFFFFF"
             ------ String Descriptor 4 ------
bLength                  : 0x1A (26 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Mass Storage"
             ------ String Descriptor 5 ------
bLength                  : 0x42 (66 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "CDC Abstract Control Model (ACM)"
             ------ String Descriptor 6 ------
bLength                  : 0x1A (26 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "CDC ACM Data"
             ------ String Descriptor 7 ------
bLength                  : 0x16 (22 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "CDC Serial"
             ------ String Descriptor 8 ------
bLength                  : 0x40 (64 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "CDC Network Control Model (NCM)"
             ------ String Descriptor 9 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "CDC Network Data"
             ------ String Descriptor 10 ------
bLength                  : 0x1A (26 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "82A94A09842E"
             --- MSFT String Descriptor 0xEE --
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x03 (String Descriptor)
qwSignature Lang 0x0409  : "MSFT100"
bMS_VendorCode           : 0xDE
bPad                     : 0x00

      ---------------- Configuration Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x00ED (237 bytes)
bNumInterfaces           : 0x06
bConfigurationValue      : 0x01
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
 D7: Reserved, set 1     : 0x01
 D6: Self Powered        : 0x00 (no)
 D5: Remote Wakeup       : 0x00 (no)
 D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0xFA (500 mA)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00
bAlternateSetting        : 0x00
bNumEndpoints            : 0x03 (3 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x03
bInterfaceProtocol       : 0x01
iInterface               : 0x00 (No String Descriptor)

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 05 24 00 10 01 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x04 (4 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 04 24 02 02 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 05 24 01 00 00 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 05 24 06 00 00 

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x83 (Direction=IN EndpointID=3)
bmAttributes             : 0x03 (TransferType=Interrupt)
wMaxPacketSize           : 0x0040
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet)
 Bits 10..0              : 0x40 (64 bytes per packet)
bInterval                : 0x05 (5 ms)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x01
bAlternateSetting        : 0x00
bNumEndpoints            : 0x01 (1 Endpoint)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x03
bInterfaceProtocol       : 0x16
iInterface               : 0x08 (String Descriptor 8)
 Language 0x0409         : "CDC Network Control Model (NCM)"

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 05 24 00 10 01 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 06 24 1A 00 01 1F 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x0C (12 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 0C 24 1B 00 01 00 04 10 14 DC 05 20 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x0D (13 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 0D 24 0F 0A 0F 00 00 00 EA 05 03 00 01 

        ----------------- Unknown Descriptor ------------------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x24
Data (HexDump)           : 05 24 06 01 01 

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x85 (Direction=IN EndpointID=5)
bmAttributes             : 0x03 (TransferType=Interrupt)
wMaxPacketSize           : 0x0010
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet)
 Bits 10..0              : 0x10 (16 bytes per packet)
bInterval                : 0x09 (9 ms)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x01
bAlternateSetting        : 0x01
bNumEndpoints            : 0x03 (3 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x03
bInterfaceProtocol       : 0x16
iInterface               : 0x09 (String Descriptor 9)
 Language 0x0409         : "CDC Network Data"

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x85 (Direction=IN EndpointID=5)
bmAttributes             : 0x03 (TransferType=Interrupt)
wMaxPacketSize           : 0x0010
 Bits 15..13             : 0x00 (reserved, must be zero)
 Bits 12..11             : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet)
 Bits 10..0              : 0x10 (16 bytes per packet)
bInterval                : 0x09 (9 ms)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x84 (Direction=IN EndpointID=4)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x03 (Direction=OUT EndpointID=3)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x02
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x03
bInterfaceProtocol       : 0x03
iInterface               : 0x00 (No String Descriptor)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x86 (Direction=IN EndpointID=6)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x04 (Direction=OUT EndpointID=4)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x03
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0xFF (Vendor Specific)
bInterfaceSubClass       : 0x03
bInterfaceProtocol       : 0x02
iInterface               : 0x00 (No String Descriptor)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x87 (Direction=IN EndpointID=7)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x05 (Direction=OUT EndpointID=5)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x04
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x06 (SCSI transparent command set)
bInterfaceProtocol       : 0x50 (Bulk­Only Transport)
iInterface               : 0x04 (String Descriptor 4)
 Language 0x0409         : "Mass Storage"

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x88 (Direction=IN EndpointID=8)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x06 (Direction=OUT EndpointID=6)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x01 (at most 1 NAK each 1 microframes)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x05
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02 (2 Endpoints)
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x06 (SCSI transparent command set)
bInterfaceProtocol       : 0x50 (Bulk­Only Transport)
iInterface               : 0x00 (No String Descriptor)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x89 (Direction=IN EndpointID=9)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x07 (Direction=OUT EndpointID=7)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0200 (max 512 bytes)
bInterval                : 0x01 (at most 1 NAK each 1 microframes)
extra question1: which kernel config option controls wherter the "option" usb module will be created?

extra question2: assuming cross-compile infractruture and embedded linux kernel source tree installed somewhere,
Is it possible to change a kernel config_option form N to M, build the module(s) and load these freshly build modules into the unmodified embedded linux kernel, (in his config these configoptions were set to N)?
Sort of post-create the modules only and feed them to the unchanged kernel.

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,dev

Post by LOM » 20 Feb 2016, 14:10

The 6 interfaces of your device are:

MI_00 HUAWEI Mobile Connect - 3G Modem
MI_01 HUAWEI Mobile Connect - 3G Network Card
MI_02 HUAWEI Mobile Connect - 3G Application Interface
MI_03 HUAWEI Mobile Connect - 3G PC UI Interface
MI_04 USB Mass Storage Device
MI_05 USB Mass Storage Device

The option driver will create 3 ttyUSB devices for interfaces 0, 2, and 3, the storage driver will take care of interface 4 and 5.

Interface 1, the network card, needs huawei_cdc_ncm, cdc_ncm, usbnet, and cdc-wdm.
You will need a recent kernel, 4.4 or 4.5 for it.

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,dev

Post by LOM » 20 Feb 2016, 14:17

dipr wrote: extra question1: which kernel config option controls wherter the "option" usb module will be created?

extra question2: assuming cross-compile infractruture and embedded linux kernel source tree installed somewhere,
Is it possible to change a kernel config_option form N to M, build the module(s) and load these freshly build modules into the unmodified embedded linux kernel, (in his config these configoptions were set to N)?
Sort of post-create the modules only and feed them to the unchanged kernel.
1. CONFIG_USB_SERIAL_OPTION (depends of usbserial and usb_wwan so you must build those as well).

2. Yes you can build kernel modules separately but they must be built from exactly the same source as the kernel was built from.

dipr
Posts: 14
Joined: 19 Feb 2016, 17:40

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,dev

Post by dipr » 20 Feb 2016, 18:01

LOM wrote:
dipr wrote: extra question1: which kernel config option controls wherter the "option" usb module will be created?

extra question2: assuming cross-compile infractruture and embedded linux kernel source tree installed somewhere,
Is it possible to change a kernel config_option form N to M, build the module(s) and load these freshly build modules into the unmodified embedded linux kernel, (in his config these configoptions were set to N)?
Sort of post-create the modules only and feed them to the unchanged kernel.
1. CONFIG_USB_SERIAL_OPTION (depends of usbserial and usb_wwan so you must build those as well).

2. Yes you can build kernel modules separately but they must be built from exactly the same source as the kernel was built from.
Thx a lot for that wealth of insight. If I take the linux.config file as a blueprint of what capabilities my kernel version has and the options set to "N" as the modules I could build it appears that I'm screwed: :cry:

I can't find neither kernel option usb_serial_option, usb_wwan, nor huawei_cdc_ncm.
So neither the usbttys nor the network card interface will ever show up, kernel too old. :?

Do you see any way to get that 3G dongle to work under kernel 3.4.11? :oops:

edit:
I found option.c in the linux source tree, togheter with usb_wwan and usb_serial! :mrgreen:
Although its only 3.4.11!? So I'll try and setup that cross compile environment and add Vendor Id and Product Id into option.c.
Maybe that'll work..?

Peter

Noah101
Posts: 1
Joined: 15 Sep 2023, 06:46

Re: E3131(T-Mobile) switched from 12d1:15ca -> 12d1:1506,device?

Post by Noah101 » 15 Sep 2023, 06:49

Have you tried adding supplier Id and product Id to option.c. yet???? Was it successful?
Immaculate Grid
Noah

Post Reply