Activation Codes and Methods, Hardware Details, Sniffing
Post Reply
zteDev
Posts: 7
Joined: 02 Nov 2015, 09:46

ZTE MF730 19d2:1048 not defined yet

Post by zteDev » 02 Nov 2015, 10:00

This is a new modem from Vodacom South Africa. It is not is the database yet.

I tried getting it to switch but it doesn't. It has never switched out of storage mode, so I don't know what the target mode will be - I took a shot in the dark that it will be 1049 or 1050 but this failed. I assumed that the MessageContent will be the same as similar ZTE modems but this could also be wrong. This is what I tried:

cat /etc/usb_modeswitch.conf

Code: Select all

DefaultVendor= 0x19d2
DefaultProduct= 0x1048
# ZTE devices
TargetVendor= 0x19d2
TargetProductList="0001,0002,0015,0016,0017,0019,0031,0033,0037,0052,0055,...."
StandardEject=1
MessageContent="55534243123456702000000080000c85010101180101010101000000000000"
I get this error:

Look for target devices ...
No devices in target mode or class found
Look for default devices ...
product ID matched
Found devices in default mode (1)
Access device 006 on bus 001
Current configuration number is 1
Use interface number 0
Error: message endpoint not given or found. Abort

Question: What is the message endpoint supposed to be and how can I find it?

It looks likes it finds the modem in storage mode ok, but fails when it tries to switch because I have incorrect settings. Please help?

update:
--------
I found the endpoints in the lsusb -v and added them to an inline command:

Code: Select all

usb_modeswitch -v 0x19d2 -p 0x1048 -M 55534243123456702000000080000c85010101180101010101000000000000 -m 0x01 -r 0x81
but then it gives me this error:

Code: Select all

Look for default devices ...
   product ID matched
 Found devices in default mode (1)
Access device 006 on bus 001
Current configuration number is 1
Use interface number 0
Use endpoints 0x01 (out) and 0x81 (in)
Error: can't use storage command in MessageContent with interface 0;
       interface class is 2, expected 8. Abort


output of lsusb -v:

Code: Select all

Bus 001 Device 006: ID 19d2:1048 ZTE WCDMA Technologies MSM 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x19d2 ZTE WCDMA Technologies MSM
  idProduct          0x1048 
  bcdDevice           50.00
  iManufacturer           1 Vodafone(ZTE)
  iProduct                2 ZTE Mobile Broadband Station
  iSerial                 3 MF730MZTED000000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          111
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass       6 Ethernet Networking
      bFunctionProtocol       0 
      iFunction               6 CDC
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface              4 CDC Ethernet Control Model (ECM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Ethernet:
        iMacAddress                      7 020CE70B0102
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 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           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              5 CDC Ethernet Data
      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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              8 Mass Storage
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 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               1
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: ZTE MF730 19d2:1048 not defined yet

Post by Josh » 02 Nov 2015, 12:21

It's obvious that 19d2:1048 is the ID of the modem mode - either your device was already switched, or it does not switch at all (less likely).

Please enable the logging feature of usb_modeswitch (edit /etc/usb_modeswitch.conf) and see if you get a log when inserting the stick - without your alterations.

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: ZTE MF730 19d2:1048 not defined yet

Post by Josh » 02 Nov 2015, 12:30

You can also watch the output of command-line tool "dmesg" after inserting the stick. This should show the original (install mode) USB ID.

zteDev
Posts: 7
Joined: 02 Nov 2015, 09:46

Re: ZTE MF730 19d2:1048 not defined yet

Post by zteDev » 02 Nov 2015, 12:39

mmmm ok here is the output from dmesg:

Code: Select all

[12841.145590] usb 1-1.4: USB disconnect, device number 6
[12841.145871] cdc_ether 1-1.4:1.0 usb0: unregister 'cdc_ether' usb-bcm2708_usb-1.4, CDC Ethernet Device
[12861.570381] usb 1-1.4: new high-speed USB device number 7 using dwc_otg
[12861.663132] usb 1-1.4: unable to read config index 2 descriptor/start: -32
[12861.663304] usb 1-1.4: chopping to 2 config(s)
[12861.665623] usb 1-1.4: New USB device found, idVendor=19d2, idProduct=1046
[12861.665642] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=4
[12861.665659] usb 1-1.4: Product: ZTE Mobile Broadband Station
[12861.665674] usb 1-1.4: Manufacturer: Vodafone(ZTE)
[12861.668256] usb 1-1.4: can't set config #1, error -71
[12861.669172] usb 1-1.4: USB disconnect, device number 7
[12861.998407] usb 1-1.4: new high-speed USB device number 8 using dwc_otg
[12862.087609] usb 1-1.4: New USB device found, idVendor=19d2, idProduct=1048
[12862.087633] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[12862.087650] usb 1-1.4: Product: ZTE Mobile Broadband Station
[12862.087665] usb 1-1.4: Manufacturer: Vodafone(ZTE)
[12862.087680] usb 1-1.4: SerialNumber: MF730MZTED000000
[12862.096219] cdc_ether 1-1.4:1.0 usb0: register 'cdc_ether' at usb-bcm2708_usb-1.4, CDC Ethernet Device, 02:0c:e7:0b:01:02
[12862.098381] usb-storage 1-1.4:1.2: USB Mass Storage device detected
[12862.099149] scsi host1: usb-storage 1-1.4:1.2
[12862.162685] init: Failed to spawn ufw pre-start process: unable to execute: No such file or directory
[12862.182784] init: Failed to spawn ufw post-stop process: unable to execute: No such file or directory
[12863.099370] scsi 1:0:0:0: CD-ROM            Vodafone CD-ROM           2.31 PQ: 0 ANSI: 2
[12863.100522] scsi 1:0:0:1: Direct-Access     Vodafone Storage          2.31 PQ: 0 ANSI: 2
[12863.104335] sr 1:0:0:0: [sr0] scsi-1 drive
[12863.105478] sr 1:0:0:0: Attached scsi CD-ROM sr0
[12863.135130] sd 1:0:0:1: [sda] Attached SCSI removable disk
---which is strange... It looks like the startup product id is 1046, and then it switches into 1048 by itself, which is mass storage CD-ROM mode...
And for some reason the logging mode doesn't generate the /var/log/usb_modeswitch... file.

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

Re: ZTE MF730 19d2:1048 not defined yet

Post by LOM » 02 Nov 2015, 13:37

zteDev wrote:
---which is strange... It looks like the startup product id is 1046, and then it switches into 1048 by itself, which is mass storage CD-ROM mode...
Initial id is 19d2:1046 and it autoswitches into 19d2:1048 where it has a direct ethernet pair of interfaces and a storage interface for the virtual cd-rom and the built-in TF-card reader.
There is an additional mode in this device, Windows8 can switch it into 19d2:1047 where it has Microsoft RNDIS interfaces.

zteDev wrote: And for some reason the logging mode doesn't generate the /var/log/usb_modeswitch... file.
That is expected, the usb id is not known by usb_modeswitch which therefore won't get invoked.

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: ZTE MF730 19d2:1048 not defined yet

Post by Josh » 02 Nov 2015, 14:07

The dmesg log is pretty messy though.

Usually, the ZTE autoswitch happens after 3 seconds. Your's seems to do it immediately.
The "dwc_otg" driver mentioned in the log smells strongly like "Raspberry"; it's notoriously unreliable so there may be several issues involved at once.

zteDev
Posts: 7
Joined: 02 Nov 2015, 09:46

Re: ZTE MF730 19d2:1048 not defined yet

Post by zteDev » 02 Nov 2015, 16:23

Yes, this is a raspberry, running ubuntu 14.04 and not raspbian. It was working perfectly (using usb_modeswitch) with my older Huawei modem while developing, but unfortunately I can't take the older modem into production - I need this ZTE to work.

Thanks for explaining the three modes of the ZTE after the switch to 1048. I assume I won't need the 1047 mode.

I will try to find more info on the direct ethernet interfaces.

Thanks

zteDev
Posts: 7
Joined: 02 Nov 2015, 09:46

Re: ZTE MF730 19d2:1048 not defined yet

Post by zteDev » 03 Nov 2015, 08:07

Update:

The modem switches on an ethernet port named usb0 without usb_modeswitch and without sending the AT commands (wvdial)

To get it working, I just had to add these lines to /etc/network/interfaces:

Code: Select all

auto usb0
        iface usb0 inet dhcp

zteDev
Posts: 7
Joined: 02 Nov 2015, 09:46

ZTE 19d2:1405

Post by zteDev » 17 Nov 2015, 14:00

I got another ZTE modem that works the same today: 19d2:1405

When it boots up, it auto-switches without needing usb_modeswitch, and it creates the eth1 port where the previous modem created the USB0 port:

from dmesg:

Code: Select all

cdc_ether 1-1.4:1.0 eth1: register 'cdc_ether' at usb-bcm2708_usb-1.4, CDC Ethernet Device, 00:a0:c6:00:00:00

And to get it working: insert this into /etc/network/interfaces :

Code: Select all

allow-hotplug eth1
auto eth1
	iface eth1 inet dhcp
Done!

Post Reply