# Problem connecting PCMCIA GSM Modem ZTE MF330

## DiamondDog

hello all, I have new laptop x61s lenovo and i recieved wireless GSM modem( ONDA/ZTE MF330 ) i am running gentoo linux using kernel 2.6.24-gentoo-r3, i am trying to figure out how to connect it so it will dial to my cellular ISP, but before that i am trying to find the right kernel driver, i googled it and found few posts talking about it but nothing concrete, i dont know if my kernel is allready support it or should i patch it, in other words i need some guru advice to guide me trough the installation, here is some info:

lsusb

```

      Bus 008 Device 001: ID 0000:0000

      Bus 007 Device 001: ID 0000:0000

      Bus 006 Device 001: ID 0000:0000

      Bus 005 Device 001: ID 0000:0000

      Bus 002 Device 001: ID 0000:0000

      Bus 004 Device 001: ID 0000:0000

      Bus 003 Device 001: ID 0000:0000

      Bus 001 Device 005: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader

      Bus 001 Device 001: ID 0000:0000

```

lspci

```

      00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)

      00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)

      00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)

      00:19.0 Ethernet controller: Intel Corporation 82566MM Gigabit Network Connection (rev 03)

      00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Contoller #4 (rev 03)

      00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)

      00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)

      00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

      00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)

      00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)

      00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)

      00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)

      00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)

      00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)

      00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)

      00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)

      00:1f.2 SATA controller: Intel Corporation Mobile SATA AHCI Controller (rev 03)

      00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)

      03:00.0 Network controller: Intel Corporation Unknown device 4230 (rev 61)

      05:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)

      05:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)

      05:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)

      06:00.0 USB Controller: Philips Semiconductors USB 1.1 Host Controller (rev 11)

      06:00.2 USB Controller: Philips Semiconductors USB 2.0 Host Controller (rev 11)

```

lsmod ( i tried to load sierra module nothing happend )

```

      Module                  Size  Used by

      ehci_hcd               27404  0

      sierra                 11204  0

      usbserial              26152  1 sierra

      usbhid                 16996  0

      ohci_hcd               18756  0

      pcmcia                 28632  0

      iwl4965                91816  0

      firmware_class          6848  2 pcmcia,iwl4965

      thinkpad_acpi          41312  0

      yenta_socket           21132  2

      firewire_ohci          14464  0

      sdhci                  13828  0

      mac80211              100940  1 iwl4965

      rsrc_nonstatic          8704  1 yenta_socket

      firewire_core          32192  1 firewire_ohci

      video                  15888  0

      e1000                 105344  0

      pcmcia_core            29592  3 pcmcia,yenta_socket,rsrc_nonstatic

      mmc_core               40260  1 sdhci

      output                  2688  1 video

      crc_itu_t               1792  1 firewire_core

      sg                     19084  0

      backlight               3716  2 thinkpad_acpi,video

      cfg80211                9928  1 mac80211

      uhci_hcd               19468  0

      pcspkr                  2304  0

```

dmesg when i plug the pcmcia card

```

      pccard: CardBus card inserted into slot 0

      PCI: Enabling device 0000:06:00.0 (0000 -> 0002)

      ACPI: PCI Interrupt 0000:06:00.0[A] -> GSI 16 (level, low) -> IRQ 18

      PCI: Setting latency timer of device 0000:06:00.0 to 64

      ohci_hcd 0000:06:00.0: OHCI Host Controller

      ohci_hcd 0000:06:00.0: new USB bus registered, assigned bus number 7

      ohci_hcd 0000:06:00.0: irq 18, io mem 0x80000000

      usb usb7: configuration #1 chosen from 1 choice

      hub 7-0:1.0: USB hub found

      hub 7-0:1.0: 2 ports detected

      PCI: Enabling device 0000:06:00.2 (0000 -> 0002)

      ACPI: PCI Interrupt 0000:06:00.2[A] -> GSI 16 (level, low) -> IRQ 18

      PCI: Setting latency timer of device 0000:06:00.2 to 64

      ehci_hcd 0000:06:00.2: EHCI Host Controller

      ehci_hcd 0000:06:00.2: new USB bus registered, assigned bus number 8

      ehci_hcd 0000:06:00.2: irq 18, io mem 0x80001000

      ehci_hcd 0000:06:00.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004

      usb usb8: configuration #1 chosen from 1 choice

      hub 8-0:1.0: USB hub found

      hub 8-0:1.0: 2 ports detected

```

Some links I found regarding the issue:

https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/129433

http://permalink.gmane.org/gmane.linux.usb.general/1697

http://readlist.com/lists/vger.kernel.org/linux-kernel/90/452312.html

http://www.mail-archive.com/linux-usb@vger.kernel.org/msg01701.html

http://readlist.com/lists/vger.kernel.org/linux-kernel/90/452312.html

http://www.opensubscriber.com/message/linux-kernel@vger.kernel.org/8585450.html

I know this is only the first step to install the driver, the second step will be to make the connection so if you have any relevant info or advice i will be happy to get it.

Thanks Diamond.

----------

## loisl

DiamondDog,

I have Googled a little bit and found the following URL: http://linux.derkeiler.com/Mailing-Lists/Kernel/2008-02/msg05341.html

I understand this as a hint, that Your device will be supported as a serial USB adaptor. In kernel 2.6.24 as a Sierra device, than from 2.6.25 on as Option driver.

Simply compile the below USB serial drivers as a module, reboot and look what happens. Your Device will appear as /dev/ttyUSBsomething or similar.

```
Device Drivers  --->

[*] USB support  --->

     USB Serial Converter support  --->

     <M>   USB AirPrime CDMA Wireless Driver

     <M>   USB Sierra Wireless Driver

     <M>   USB driver for GSM and CDMA modems
```

The AirPrime Driver may be obsolete, I found a hint in the Sierra help message

Hope this helps a bit.

Cheers,

Loisl

----------

## DiamondDog

I have those compiled as modules.

The problem now is that i don't have ttyUSB devices i have those dev instead:

```

usbdev1.1_ep00

usbdev1.1_ep81

usbdev1.2_ep00

usbdev1.2_ep02

usbdev1.2_ep04

usbdev1.2_ep05

usbdev1.2_ep81

usbdev1.2_ep82

usbdev1.2_ep84

usbdev1.2_ep85
```

lsusb -v

```

Bus 001 Device 002: ID 19d2:0001

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.10

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0        64

  idVendor           0x19d2

  idProduct          0x0001

  bcdDevice            0.00

  iManufacturer           1 Qualcomm, Incorporated

  iProduct                2 ZTE CDMA Technologies MSM

  iSerial                 0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           85

    bNumInterfaces          3

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xa0

      (Bus Powered)

      Remote Wakeup

    MaxPower              500mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           3

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass    255 Vendor Specific Subclass

      bInterfaceProtocol    255 Vendor Specific Protocol

      iInterface              3 Data Interface

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0010  1x 16 bytes

        bInterval             128

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x82  EP 2 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 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     0x0040  1x 64 bytes

        bInterval               0

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        1

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass    255 Vendor Specific Subclass

      bInterfaceProtocol    255 Vendor Specific Protocol

      iInterface              3 Data Interface

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x84  EP 4 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x04  EP 4 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        2

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass    255 Vendor Specific Subclass

      bInterfaceProtocol    255 Vendor Specific Protocol

      iInterface              3 Data Interface

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x85  EP 5 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x05  EP 5 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0040  1x 64 bytes

        bInterval               0

```

cat /proc/devices

```

Character devices:

  1 mem

  4 /dev/vc/0

  4 tty

  5 /dev/tty

  5 /dev/console

  5 /dev/ptmx

  7 vcs

 10 misc

 13 input

 14 sound

 21 sg

 29 fb

116 alsa

128 ptm

136 pts

180 usb

188 ttyUSB

189 usb_device

226 drm

251 pcmcia

252 firewire

253 usb_endpoint

254 bsg

Block devices:

  7 loop

  8 sd

 11 sr

 65 sd

 66 sd

 67 sd

 68 sd

 69 sd

 70 sd

 71 sd

128 sd

129 sd

130 sd

131 sd

132 sd

133 sd

134 sd

135 sd

```

----------

## DiamondDog

thanks to that post: http://hillj.co.uk/2008/01/31/how-to-get-online-with-three-mobile-uk-and-linux-ubuntu/

```
modprobe usbserial vendor=0x19d2 product=0x0001
```

gave me finally ttyUSB0, ttyUSB1, ttyUSB2.

I will keep reporting...

----------

