ZTE_MF622

Modem 3G ZTE MF622

Problem

The problem about this modem have been discuted on Bug 305968

Solution

Ubuntu 9.04

Hal-info correction

In many cases this problem can be solved only changing hal-info :

gksudo gedit /usr/share/hal/fdi/information/10freedesktop/10-modem.fdi

Search for 0x19d2 and move device 0x0001 from usb.interface.number 0 to 2, see above:

      <match key="@info.parent:usb.vendor_id" int="0x19d2">
        <!-- Qualcomm: Telstra/NextG CDMA , ZTE CDMA Tech -->
        <match key="@info.parent:usb.product_id" int="0xfffe">
          <match key="@info.parent:usb.interface.number" int="0">
            <append key="modem.command_sets" type="strlist">IS-707-A</append>
          </match>
        </match>
        <!-- ZTE MF626 HSDPA USB dongle -->
        <match key="@info.parent:usb.product_id" int="0x2000">
          <match key="@info.parent:usb.interface.number" int="0">
            <append key="modem.command_sets" type="strlist">GSM-07.07</append>
            <append key="modem.command_sets" type="strlist">GSM-07.05</append>
          </match>
        </match>
        <!-- ZTE MF628 HSDPA USB dongle -->
        <match key="@info.parent:usb.product_id" int="0x0015">
          <match key="@info.parent:usb.interface.number" int="3">
            <append key="modem.command_sets" type="strlist">GSM-07.07</append>
            <append key="modem.command_sets" type="strlist">GSM-07.05</append>
          </match>
        </match>
        <!-- ONDA MF632 HSDPA USB dongle -->
        <match key="@info.parent:usb.product_id" int_outof="0x0001;0x0002">
          <match key="@info.parent:usb.interface.number" int="2">
            <append key="modem.command_sets" type="strlist">GSM-07.07</append>
            <append key="modem.command_sets" type="strlist">GSM-07.05</append>
          </match>
        </match>
      </match>

Clear fdi-cache:

sudo rm /var/cache/hald/fdi-cache

Now Shutdown your system, plug the USB Modem and boot the system.

Note: this only will work if you boot with modem already connected to your computer, if you plug the modem in a running system the device is not recognized

Kernel Compilation

IF you have problem with Plug/Unplug the modem on a running system and you want solve this you will need recompile your kernel.

Before you continue please read this KernelCompile.

To start, you will need to install a few packages.

sudo apt-get build-dep linux
sudo apt-get install linux-source fakeroot build-essential makedumpfile

Extract your linux source:

cd /usr/src
sudo tar xjvf /usr/src/linux-source-<version-number-here>.tar.bz2
cd linux-source-<version-number-here>

Now edit unusual_devs and comment/remove device 0x19d2:2000 from list:

gksudo gedit drivers/usb/storage/unusual_devs.h

/* Reported by Mauro Andreolini <andreoli@weblab.ing.unimo.it>
 * This entry is needed to bypass the ZeroCD mechanism
 * and to properly load as a modem device.
 */
/*UNUSUAL_DEV(  0x19d2, 0x2000, 0x0000, 0x0000,
                "Onda ET502HS",
                "USB MMC Storage",
                US_SC_DEVICE, US_PR_DEVICE, NULL,
                US_FL_IGNORE_DEVICE),
*/

After that you must recompile your kernel and make respective deb's:

sudo fakeroot make-kpkg --initrd kernel-image kernel-headers

or, if you have a multicore CPU you can use CONCURRENCY_LEVEL variable with 1 + Number of CPU cores:

sudo CONCURRENCY_LEVEL=3 fakeroot make-kpkg --initrd kernel-image kernel-headers

This will create 2 deb's files under /usr/src

Now you can install your new kernel files

cd /usr/src
sudo dpkg -i linux-image-*.deb
sudo dpkg -i linux-headers-*.deb

Now reboot your system and load your new kernel, to test unplug/plug your modem.

Sometimes your device can be mounted as USB Storage, to go back to modem mode just eject device 19d2:2000 (this can be done using Nautilus) and wait until USB change to device 19d2:0001. You can check if device has changed using :

lsusb | grep 19d2

This must return device 19d2:0001

Bus 004 Device 007: ID 19d2:0001

Now, try to connect. Maybe you need try to connect many times ( aprox. 4 ) until get connection sucessfull.

Ubuntu 9.10

Changing udev rules

Those experiencing similar problem in Karmic may try this simple step :

Rename /lib/udev/rules.d/61-mobile-action.rules to /lib/udev/rules.d/51-mobile-action.rules

Then unplug the modem, and plug it again.

This time it should be detected after a while by Karmic.

References

Bug 305968

KernelCompile


Author: Cleber Santz


CategoryNetworking

NetworkManager/Hardware/3G/ZTE_MF622 (last edited 2010-01-05 05:17:02 by 114)