My friend got this cdma ZTE usb modem this week and tested on KLIXs but he never manage to get this modem running, so here is the steps to make it work using usb_modeswitch :
First of all, we have to learn something by investigating the lsusb output at the time this modem was inserted into usb slot :
{code type=css}[root@jfklixs-domain SOURCES]# lsusb
Bus 001 Device 003: ID 0402:5602 ALi Corp. Video Camera Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 005: ID 19d2:fff5 ONDA Communication S.p.A.
Bus 002 Device 002: ID 046d:c047 Logitech, Inc. Laser Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[root@jfklixs-domain SOURCES]#{/code}
Now see what dmesg give us for more information :
{code type=css}scsi 2:0:0:0: CD-ROM ZTE USB Storage FFF1 2.31 PQ: 0 ANSI: 2
scsi 2:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
Driver ‘sr’ needs updating – please use bus_type methods
sr0: scsi-1 drive
sr 2:0:0:0: Attached scsi CD-ROM sr0
sr0: CDROM (ioctl) error, command: Get configuration 46 00 00 00 00 00 00 00 20 00
sr: Sense Key : No Sense [current]
sr: Add. Sense: No additional sense information
[root@jfklixs-domain software]#{/code}
It’s not hard to know by investigating the dmesg output that this device has a flip flop device state that the usb device now acting as standard usb storage cdrom rather than a modem, so we must switch them unto a modem device by using usb_modeswitch.
Install usb_modeswitch package from synaptic, and add this at the end of /etc/usb_modeswitch.conf before running usb_modeswitch :
{code type=css}########################################################
# /etc/usb_modeswitch.conf
#
# Smart ZTE AC2726 (EVDO)
#
DefaultVendor= 0x19d2
DefaultProduct= 0xfff5
TargetVendor= 0x19d2
TargetProduct= 0xfff1
MessageContent=”5553424312345678c00000008000069f030000000000000000000000000000″{/code}
Save it and now run the usb_modeswitch :
{code type=css}[root@jfklixs-domain SOURCES]# usb_modeswitch
Looking for target devices …
No devices in target mode or class found
Looking for default devices …
Found default devices (1)
Accessing device 005 on bus 002 …
Using endpoints 0x0a (out) and 0x89 (in)
Inquiring device details; driver will be detached …
Looking for active driver …
OK, driver found (“usb-storage”)
OK, driver “usb-storage” detached
Received inquiry data (detailed identification)
————————-
Vendor String: ZTE
Model String: USB Storage FFF1
Revision String: 2.31
————————-
Device description data (identification)
————————-
Manufacturer: ZTE, Incorporated
Product: USB Storage
Serial No.: 000000000002
————————-
Setting up communication with interface 0 …
Trying to send the message to endpoint 0x0a …
OK, message successfully sent
Device is gone, skipping any further commands
-> Run lsusb to note any changes. Bye.
[root@jfklixs-domain SOURCES]#{/code}
The usb_modeswitch should flip up the usb storage device turns into usb modem, and this should be noted using lsusb which now show fff1 product code :
{code type=css}[root@jfklixs-domain SOURCES]# lsusb
Bus 001 Device 003: ID 0402:5602 ALi Corp. Video Camera Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 006: ID 19d2:fff1 ONDA Communication S.p.A.
Bus 002 Device 002: ID 046d:c047 Logitech, Inc. Laser Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[root@jfklixs-domain SOURCES]#{/code}
Now modprobe and pickup the modem usbserial driver so it create the modem device node as ttyUSB0
{code type=css}[root@jfklixs-domain SOURCES]# modprobe usbserial vendor=0x19d2 product=0xfff1
[root@jfklixs-domain SOURCES]#{/code}
Check the corresponding created modem device node using dmesg again :
{code type=css}usbcore: registered new interface driver usbserial
usbserial: USB Serial support registered for generic
usbserial_generic 2-2:1.0: generic converter detected
usb 2-2: generic converter now attached to ttyUSB0
usbserial_generic 2-2:1.1: generic converter detected
usb 2-2: generic converter now attached to ttyUSB1
usbserial_generic 2-2:1.2: generic converter detected
usb 2-2: generic converter now attached to ttyUSB2
usbserial_generic 2-2:1.3: generic converter detected
usb 2-2: generic converter now attached to ttyUSB3
usbserial_generic 2-2:1.4: generic converter detected
usb 2-2: generic converter now attached to ttyUSB4
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
[root@jfklixs-domain software]#{/code}
Done, Now you could possibly create the modem connection setup and account setup using KPPP.
I create some small desktop script just to ease my friend so he has not to always type that command all over again each time he plugged the zte modem.
Oh btw, use this Init String command to avoid modem disconnecting problem if that bothers you :
{code type=css}ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0{/code}
somehow the modem connection using smart provider was perform well on my friend laptop, but not on mine, so I have to use that command init string to stay connected.