Next Previous Contents

3. The kernel and specific hardware

This section will give you information about everything that needs to be done in the kernel. My reference kernel will be 2.6.16.16 unless stated otherwise. In kernel configuration, the examples will show the modules compiled into the kernel, but building them as modules should work just as well.
The result of this section will be a serial port which you can use to access your GPRS hardware.

3.1 IP and PPP support

While it's possible to give a complete overview of how to get networking and ppp going, it's better to link you to the networking and ppp howto's.
Some general support which is required for IP and PPP:

Networking  --->
 Networking options  --->
  <*> Unix domain sockets
  [*] TCP/IP networking
Device Drivers  --->
 Network device support  --->
  [*] Network device support
  <*> PPP (point-to-point protocol) support
  <*>   PPP support for async serial ports
  <*>   PPP support for sync tty ports
  <*>   PPP Deflate compression
  <*>   PPP BSD-Compress compression

3.2 Hardware your stuff connects to

Mobile communications devices come in many different types, some connect to a serial port, some via usb, some via pcmcia/cardbus. In this document I'll assume that the hardware you are using to connect your device is already working. So in case of a USB phone i assume the USB controller in your PC is already working, etc.

3.3 Phones connecting to the Serial port

Phones that connect to the serial port usually behave like normal analog modems. You can check this with a terminal program, like minicom or seyon, and you can type AT and press enter, and the phone should return OK. An example of such a phone is the Nokia 6310i, also the Siemens MC35 modems work this way.

3.4 Phones connecting to the USB port

3G phones typically connect to your laptop via USB because the good-old serial port is not fast enough. The pl2303 is a very generic module, and might also support your phone. Connect the phone and use dmesg and lsusb to find out what happens.
For example Nokia phones connecting with a CA-42 USB cable require:

Device Drivers  --->
 USB support  --->
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB Prolific 2303 Single Port Serial Driver

Some more information can be found on the Linux USB website.

3.5 Phones connecting via IrDA

To get your IrDA hardware going, the Infrared HOWTO may be helpful.

3.6 Phones connecting via Bluetooth

I wrote some basic information in the Bluetooth section of this howto, but it's in no way a complete bluetooth guide.

To get your Bluetooth hardware going, the Gentoo Linux Bluetooth Guide may be useful.

3.7 Sierra Wireless cards

Sierra Wireless made a few GPRS cards (2.5G as far as i know), which are supported by the serial_cs driver. According to the comments in the driver the following cards are supported:

Required drivers in the kernel:
Device Drivers  --->
 Character devices  --->
  Serial drivers  --->
   <*> 8250/16550 and compatible serial support
   <*>   8250/16550 PCMCIA device support

Besides this you will need some firmware for the card, this can be found on the Sierra Wireless website. Since i only have access to an AC750 card, i downloaded a file called AirCard_7xx_Linux.tar.gz and untarred it with tar -xvzf <filename>.

This gave me a file called SW_7xx_SER.dat. Copy this file to to /lib/firmware/SW_7xx_SER.cis. This made the card work. When i insert the card it immediately shows up as ttyS1. I forgot to record the dmesg data, i'll add that later.

Despite the working driver i had some issues left when using the card. The throughput was very low and all data transfer stopped some time later. Any hints on solving this issue are welcome.

3.8 Nokia D211

This is nokia's GSM/GPRS/WLAN device. Nokia supplies drivers for it, but these are so bad i couldn't get this device working properly.

However, i found a report on tuxmobil.org which tells you how to use the GPRS capabilities of the card. I don't own the device anymore, so i cannot test it.

3.9 Novatel Wireless Merlin U530 card

This PCMCIA card gives you UMTS access, and is supported by the serial_cs module. To see which serial port gets assigned insert the card and run the dmesg command and look at the last few lines.
Required drivers in the kernel are:

Device Drivers  --->
 Character devices  --->
  Serial drivers  --->
   <*> 8250/16550 and compatible serial support
   <*>   8250/16550 PCMCIA device support
This is what dmesg tells me when i insert the card.
pccard: PCMCIA card inserted into slot 0
cs: memory probe 0xb0200000-0xb02fffff: excluding 0xb0200000-0xb020ffff
pcmcia: registering new device pcmcia0.0
pcmcia: registering new device pcmcia0.1
0.0: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
ttyS1 is the port assigned to the card.

3.10 Option Fusion UMTS Quad-GPRS card

This cardbus card has GPRS and UMTS capabilities. It is supported by the option driver.
Required drvers in the kernel:

Device Drivers  --->
 USB support  --->
   <*> Support for Host-side USB
   <*>   OHCI HCD support
   USB Serial Converter support  --->
    <*> USB Serial Converter support
    <*>   USB Option PCMCIA serial driver
This is what dmesg tells me when i insert the card:
pccard: CardBus card inserted into slot 0
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
ohci_hcd 0000:07:00.0: OHCI Host Controller
ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:07:00.0: irq 10, io mem 0x54000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.1[B] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.1 to 64
ohci_hcd 0000:07:00.1: OHCI Host Controller
ohci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 7
ohci_hcd 0000:07:00.1: irq 10, io mem 0x54001000
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 1 port detected
usb 7-1: new full speed USB device using ohci_hcd and address 2
usb 7-1: configuration #1 chosen from 1 choice
option 7-1:1.0: Option 3G data card converter detected
usb 7-1: Option 3G data card converter now attached to ttyUSB0
option 7-1:1.1: Option 3G data card converter detected
usb 7-1: Option 3G data card converter now attached to ttyUSB1
option 7-1:1.2: Option 3G data card converter detected
usb 7-1: Option 3G data card converter now attached to ttyUSB2
option 7-1:1.3: Option 3G data card converter detected
usb 7-1: Option 3G data card converter now attached to ttyUSB3
As you can see it gets four serial ports assigned. In my successful attempts i used the first assigned port to make the GPRS connection.

3.11 Option GlobeSurfer Icon

This is a PCI-Express card which is capable of HSDPA. To be able to use it you'll need usb_modeswitch version 0.9.4 or newer. It's available from this site. You'll also need kernel version 2.6.20 or newer.
Kernel drivers required for this card are:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   UHCI HCD (most Intel and VIA) support
  <*>   USB Mass Storage support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB driver for GSM and CDMA modems

When i first insert the card this is what dmesg tells me:

usb 4-1: new full speed USB device using uhci_hcd and address 16
usb 4-1: configuration #1 chosen from 1 choice
scsi67 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 16
usb-storage: waiting for device to settle before scanning
scsi 67:0:0:0: CD-ROM            GT       HSDPA Modem      3.00 PQ: 0 ANSI: 2
sr0: scsi-1 drive
sr 67:0:0:0: Attached scsi CD-ROM sr0
sr 67:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
At this point you need the usb_modeswitch program to switch the card to it's modem function. Edit the configuration file so it's suitable for this device (it refers to this device as: Option GlobeSurfer Icon (aka "Vodafone EasyBox")) and make sure to comment everything else out with semicolons. Now run the usb_modeswitch utility, this was the output it gave me:
 * usb_modeswitch: tool for controlling "flip flop" mode USB devices
 * Version 0.9.4 (C) Josua Dietze 2008
 * Works with libusb 0.1.12 and probably other versions

Looking for target devices
 No target device found
Looking for default devices
 Found default devices (1)
Prepare switching, accessing latest device
Looking for active default driver to detach it
 OK, driver found ("usb-storage")
 OK, Driver "usb-storage" successfully detached
Setting up communication with device
Trying to send the message
 OK, message successfully sent.
-> See /proc/bus/usb/devices (or call lsusb) for changes. Bye
After that, dmesg has more information:
usb 4-1: USB disconnect, address 16
usb 4-1: new full speed USB device using uhci_hcd and address 17
usb 4-1: configuration #1 chosen from 1 choice
option 4-1:1.0: GSM modem (1-port) converter detected
usb 4-1: GSM modem (1-port) converter now attached to ttyUSB0
option 4-1:1.1: GSM modem (1-port) converter detected
usb 4-1: GSM modem (1-port) converter now attached to ttyUSB1
option 4-1:1.2: GSM modem (1-port) converter detected
usb 4-1: GSM modem (1-port) converter now attached to ttyUSB2
You can now use the first assigned serial port for your GPRS connection.

3.12 High Speed Option Wireless cards (GT Express, GT Max, GT HSUPA)

These cards are generally capable of doing HSDPA and/or HSUPA on different levels. Probably the serial-port emulation does not work anymore. These cards still have a serial port, but only for controlling the card. The real data is handled via a network interface.

The required in-kernel drivers:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   OHCI HCD support

This will enable the build-in USB controller. If you don't need the generic in-kernel USB Option PCMCIA serial driver, don't compile it. If you need it for an other device, compile it as a module and enable module unloading. Also the usb-storage driver can cause trouble with some cards (see this FAQ entry, so if you don't need it, leave it out. If you do need it compile it as a module. In any case enable module loading because the driver we need will be a module.

The next thing you'll need is the real driver called hso. It's still in development, and can be found on this forum at Pharscape . I used version 0.7 in combination with kernel 2.6.23.16 and this was stable. Download the driver and unzip it. It will create a directory called hso which contains everything you need.

First you'll need to compile the module and you'll need the kernel sources for that too. Type make and it will be build for you. When that's done change to the root user and run make install. Depending on you kernel configuration this may fail. It assumes the directory /lib/modules/<kernel version>/drivers/pci/hotplug exists, which in my case was not true. Create the directory if needed and run make install again, it should work now. When that's done run depmod and the installation is ready.

Now it's time to test the driver. Run the lsmod command and make sure the usb-storage module and the option module are not loaded. If they are loaded, unload them with the rmmod command. Now insert the hso module with modprobe hso. Check the lsmod command again to see if it succeeded. Now insert the card, and your dmesg output should look like this:

pccard: CardBus card inserted into slot 0
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
ohci_hcd 0000:07:00.0: OHCI Host Controller
ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:07:00.0: irq 10, io mem 0x58000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
++++++++++++++ being probed ++++++++++++++++=
usb 6-1: USB disconnect, address 2
[1935:hso_disconnect]: odev, or odev->usb, or odev->net null
usb 6-1: new full speed USB device using ohci_hcd and address 3
usb 6-1: configuration #1 chosen from 1 choice
++++++++++++++ being probed ++++++++++++++++=
hso: hso0: Option N.V. Globetrotter HSUPA Modem   Serial Number
hso: hso0: xx:xx:xx:xx:xx:xx
hso: Multiplexed Control channel present
hso: Multiplexed Application channel present
hso: QXDM port present
When this worked you should have a /dev/ttyHS0 device and a network device called hso0. Check this with the ifconfig -a command:
hso0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx
          BROADCAST NOARP MULTICAST  MTU:1486  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Because of this new method, the regular AT commands found in this HOWTO do not work. Along with the hso driver you also received a shell script called connect.sh. Edit it to contain your information in the APN, USR, PAS and PIN variables. After then use ./connect.sh to initialize your card, ./connect.sh up make a connection and ./connect.sh down to disconnect again.

3.13 Huawei Mobile E620 card

This cardbus card gives you access to HSDPA and UMTS. It is supported by the pl2303 kernel module but also requires the ohci_hcd and usbserial modules. The card actually gets 3 serial ports assigned, use dmesg to find out which. This will only work for kernels 2.6.19 and newer.

The support for this card moved from the pl2303 driver to the option driver with kernel version 2.6.24.1.

Kernels 2.6.19 upto 2.6.24

Required drivers for kernels 2.6.19 upto 2.6.24 are:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   OHCI HCD support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB Prolific 2303 Single Port Serial Driver
As you can see from the drivers, the card is actually an USB controller with an USB to Serial converter attached to it.
This is what dmesg tells me when i insert the card:
pccard: CardBus card inserted into slot 0
ohci_hcd: 2005 April 22 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
ohci_hcd 0000:07:00.0: OHCI Host Controller
ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:07:00.0: irq 10, io mem 0x54000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.1[B] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.1 to 64
ohci_hcd 0000:07:00.1: OHCI Host Controller
ohci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 7
ohci_hcd 0000:07:00.1: irq 10, io mem 0x54001000
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 1 port detected
usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for pl2303
pl2303 6-1:1.0: pl2303 converter detected
usb 6-1: pl2303 converter now attached to ttyUSB0
pl2303 6-1:1.1: pl2303 converter detected
usb 6-1: pl2303 converter now attached to ttyUSB1
pl2303 6-1:1.2: pl2303 converter detected
usb 6-1: pl2303 converter now attached to ttyUSB2
usbcore: registered new driver pl2303
drivers/usb/serial/pl2303.c: Prolific PL2303 USB to serial adaptor driver
As you can see the card actually gets three serial ports assigned, in my successful attempts i used the first serial port assigned to make the connection.

Kernels 2.6.24.1 and newer

These are the drivers required by kernels 2.6.24.1 and newer:

Device Drivers  --->
 USB support  --->
   <*> Support for Host-side USB
   <*>   OHCI HCD support
   USB Serial Converter support  --->
    <*> USB Serial Converter support
    <*>   USB driver for GSM and CDMA modems
This is what dmesg tells me when i insert the card:
pccard: CardBus card inserted into slot 0
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
ohci_hcd 0000:07:00.0: OHCI Host Controller
ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:07:00.0: irq 10, io mem 0x58000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 1 port detected
PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.1[B] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.1 to 64
ohci_hcd 0000:07:00.1: OHCI Host Controller
ohci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 7
ohci_hcd 0000:07:00.1: irq 10, io mem 0x58001000
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 1 port detected
usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
option 6-1:1.0: GSM modem (1-port) converter detected
usb 6-1: GSM modem (1-port) converter now attached to ttyUSB0
option 6-1:1.1: GSM modem (1-port) converter detected
usb 6-1: GSM modem (1-port) converter now attached to ttyUSB1
option 6-1:1.2: GSM modem (1-port) converter detected
usb 6-1: GSM modem (1-port) converter now attached to ttyUSB2
As you can see the card actually gets three serial ports assigned, in my successful attempts i used the first serial port assigned to make the connection.

3.14 ZTE MF112/MF628 USB "Stick"

This USB "stick" device provides access to UMTS and HSDPA speeds.

Kernel support started at version 2.6.27, but had a problem with the ZeroCD mechanism up to version 2.6.28.10. From version 2.6.29 and on the support is okay. If you wish to use any older version email me, i am able to help you to get the device going.

The required kernel drivers are:

Device Drivers  --->
 SCSI device support  --->
  <*> SCSI CDROM support
 USB support  --->
  <*> Support for Host-side USB
  <*>   UHCI HCD (most Intel and VIA) support
  <*>   USB Mass Storage support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB driver for GSM and CDMA modems
Important to know is that it takes some time before the device is usable. When i plug it in to my computer, this is what dmesg tells me:
usb 3-1: new full speed USB device using uhci_hcd and address 2
usb 3-1: new full speed USB device using uhci_hcd and address 3
usb 3-1: configuration #1 chosen from 1 choice
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
scsi 2:0:0:0: CD-ROM            ZTE Corp USB Storage      2.31 PQ: 0 ANSI: 2
sr0: scsi-1 drive
sr 2:0:0:0: Attached scsi CD-ROM sr0
sr 2:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
As you can see it first registers as a CD-ROM device. Now just wait, or eject the CD-ROM using eject /dev/sr0. Wait until the blue led turns off, red, green and blue again Now check dmesg again:
usb 3-1: USB disconnect, address 3
usb 3-1: new full speed USB device using uhci_hcd and address 4
usb 3-1: new full speed USB device using uhci_hcd and address 5
usb 3-1: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
drivers/usb/serial/usb-serial.c: USB Serial support registered for GSM modem (1-port)
option 3-1:1.1: GSM modem (1-port) converter detected
usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
option 3-1:1.2: GSM modem (1-port) converter detected
usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
option 3-1:1.3: GSM modem (1-port) converter detected
usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2
usbcore: registered new interface driver option
drivers/usb/serial/option.c: USB Driver for GSM modems: v0.7.1
scsi 3:0:0:0: Direct-Access     ZTE      MMC Storage      2.31 PQ: 0 ANSI: 2
sd 3:0:0:0: [sdb] Attached SCSI removable disk
sd 3:0:0:0: Attached scsi generic sg1 type 0
scsi 3:0:0:1: Direct-Access     ZTE      MMC Storage      2.31 PQ: 0 ANSI: 2
sd 3:0:0:1: [sdc] Attached SCSI removable disk
sd 3:0:0:1: Attached scsi generic sg2 type 0
usb-storage: device scan complete
You can see it now disconnects the CD-ROM device, and attaches three serial ports. In my case the device also has a MicroSD slot which shows up as the MMC device.
In my successful attempts I used the first serial device to make a connection.
In case of connection problems, try to add the command AT+ZOPRT which is specific to ZTE devices.

3.15 Huawei E270

This is a small device connected to your computer by a USB cable. In lsusb is actually reports to be a Huawei E220, which is also the driver which works for this device. The device is capable of doing HSDPA with 7.2 Mbit/s and HSUPA with 2 Mbit/s. It will work with kernels 2.6.20 and newer.
Required drivers in the kernel:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   UHCI HCD (most Intel and VIA) support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB driver for GSM and CDMA modems
And this is what dmesg tells me when i insert this device:
b 3-1: new full speed USB device using uhci_hcd and address 10
usb 3-1: configuration #1 chosen from 1 choice
scsi12 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 10
usb-storage: waiting for device to settle before scanning
usb 3-1: USB disconnect, address 10
usb 3-1: new full speed USB device using uhci_hcd and address 11
usb 3-1: configuration #1 chosen from 1 choice
usb-storage: probe of 3-1:1.0 failed with error -5
option 3-1:1.0: GSM modem (1-port) converter detected
usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0
usb-storage: probe of 3-1:1.1 failed with error -5
option 3-1:1.1: GSM modem (1-port) converter detected
usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1
scsi15 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 11
usb-storage: waiting for device to settle before scanning
scsi 15:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
sr0: scsi-1 drive
sr 15:0:0:0: Attached scsi CD-ROM sr0
sr 15:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
If you also enabled USB Mass Storage support you'll see the CD-ROM device, this contains the commercial drivers for the device but we don't need them. The first serial port can be used to create a GPRS connection.

3.16 Huawei E870

While the device is different, it's closely related to the Huawei E270. However, this device is a PCI-Express card which comes with a PCI-Express to PC-Card converter. It's capable of doing HSDPA at 7,2 Mbit/s and HSUPA at 2 Mbit/s. It will work with kernels 2.6.20 and newer.

Using it as a PCI-Express card

These are the required drivers:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   UHCI HCD (most Intel and VIA) support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB driver for GSM and CDMA modems
This is what dmesg tells me:
usb 4-1: new full speed USB device using uhci_hcd and address 10
usb 4-1: configuration #1 chosen from 1 choice
scsi40 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 10
usb-storage: waiting for device to settle before scanning
usb 4-1: USB disconnect, address 10
usb 4-1: new full speed USB device using uhci_hcd and address 11
usb 4-1: configuration #1 chosen from 1 choice
usb-storage: probe of 4-1:1.0 failed with error -5
option 4-1:1.0: GSM modem (1-port) converter detected
usb 4-1: GSM modem (1-port) converter now attached to ttyUSB0
usb-storage: probe of 4-1:1.1 failed with error -5
option 4-1:1.1: GSM modem (1-port) converter detected
usb 4-1: GSM modem (1-port) converter now attached to ttyUSB1
scsi43 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 11
usb-storage: waiting for device to settle before scanning
scsi 43:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
sr0: scsi-1 drive
sr 43:0:0:0: Attached scsi CD-ROM sr0
sr 43:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
The CD-ROM device will only show up if you enabled the USB Mass Storage driver, but this will not be used. The first serial port can be used to create a GPRS connection.

Using it with the PCI-Express to PC-Card converter

These are the required drivers:

Device Drivers  --->
 USB support  --->
  <*> Support for Host-side USB
  <*>   OHCI HCD support
  <*>   UHCI HCD (most Intel and VIA) support
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB driver for GSM and CDMA modems
This is what dmesg shows when i insert the Converter and device:
pccard: CardBus card inserted into slot 0
PCI: Enabling device 0000:07:00.0 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.0[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
PCI: Setting latency timer of device 0000:07:00.0 to 64
ohci_hcd 0000:07:00.0: OHCI Host Controller
ohci_hcd 0000:07:00.0: new USB bus registered, assigned bus number 6
ohci_hcd 0000:07:00.0: irq 10, io mem 0x58000000
usb usb6: configuration #1 chosen from 1 choice
hub 6-0:1.0: USB hub found
hub 6-0:1.0: 3 ports detected
PCI: Enabling device 0000:07:00.1 (0000 -> 0002)
ACPI: PCI Interrupt 0000:07:00.1[A] -> Link [LNKA] -> GSI 10 (level, low) -> IRQ 10
ehci_hcd 0000:07:00.1: EHCI Host Controller
ehci_hcd 0000:07:00.1: new USB bus registered, assigned bus number 7
ehci_hcd 0000:07:00.1: irq 10, io mem 0x58001000
ehci_hcd 0000:07:00.1: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb7: configuration #1 chosen from 1 choice
hub 7-0:1.0: USB hub found
hub 7-0:1.0: 3 ports detected
usb 6-1: new full speed USB device using ohci_hcd and address 2
usb 6-1: configuration #1 chosen from 1 choice
scsi44 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usb 6-1: USB disconnect, address 2
usb 6-1: new full speed USB device using ohci_hcd and address 3
usb 6-1: configuration #1 chosen from 1 choice
usb-storage: probe of 6-1:1.0 failed with error -5
option 6-1:1.0: GSM modem (1-port) converter detected
usb 6-1: GSM modem (1-port) converter now attached to ttyUSB0
usb-storage: probe of 6-1:1.1 failed with error -5
option 6-1:1.1: GSM modem (1-port) converter detected
usb 6-1: GSM modem (1-port) converter now attached to ttyUSB1
scsi47 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
scsi 47:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
sr0: scsi-1 drive
sr 47:0:0:0: Attached scsi CD-ROM sr0
sr 47:0:0:0: Attached scsi generic sg1 type 5
usb-storage: device scan complete
The CD-ROM device will only show up if you enabled the USB Mass Storage driver, but this will not be used. The first serial port can be used to create a GPRS connection.

3.17 Sierra Wireless MC8780 module

This device was build in to my laptop with 3G capabilties, it also seems to support HSDPA. It can be switched on/off with a switch on the laptop.

Support for this device was a bit buggy in the beginning, but i have used it successfully with kernels 2.6.25.14 and newer. To be able to use it you need the following drivers:

Device Drivers  --->
 USB support  --->
  USB Serial Converter support  --->
   <*> USB Serial Converter support
   <*>   USB Sierra Wireless Driver
This is was dmesg shows when i turn it on:
usb 4-1: new full speed USB device using uhci_hcd and address 2
usb 4-1: configuration #1 chosen from 1 choice
sierra 4-1:1.0: Sierra USB modem converter detected
usb 4-1: Sierra USB modem converter now attached to ttyUSB0
usb 4-1: Sierra USB modem converter now attached to ttyUSB1
usb 4-1: Sierra USB modem converter now attached to ttyUSB2
I successfully used the device via the first assigned serial port.

3.18 Sony Ericsson k610i/k610im

This is a mobile phone that connects to your computer via an USB port. When connect the phone to a computer you can choose between Phone Mode or File Transfer Mode. In File Transfer Mode the phone seems to "reboot" and become a dumb card reader device, and looses all it's phone capabilities. It is supported by the usb-storage module.

If you choose Phone Mode it keeps it's phone capabilities and can be used to access GPRS services with your computer. To be able to use it you need the following drivers:

Device Drivers  --->
 USB support  --->
   <*>   USB Modem (CDC ACM) support
This is what dmesg tells me when i connect the device:
usb 3-1: new full speed USB device using uhci_hcd and address 2
usb 3-1: configuration #3 chosen from 1 choice
cdc_acm 3-1:3.1: ttyACM0: USB ACM device
cdc_acm 3-1:3.3: ttyACM1: USB ACM device
It gets two devices assigned. In my successful attempts i used the first device to connect.

3.19 Neo Freerunner

The Neo Freerunner is a phone designed to be as open as possible, hardware wise and software wise. Much of the information here is usable, but there is excellent information available via the openmoko wiki.

3.20 Hardware not listed here

For hardware which is not listed here tuxmobil may have the information you need.

In general Option Wireless cards are well supported, more information can be found on the Pharscape website.


Next Previous Contents