PHARscape

SEARCH
  • Home
    • Login....
  • Linux and 3G
    • Software
      • Option Software
        • Hso driver
        • Rezero
        • Nozomi driver
        • Ozerocdoff
      • PHARscape Software
        • Hsolinkcontrol
          • Downloads
        • HSOconnect
          • Downloads
        • comgt
      • Other software
        • Gnome NetworkManager
        • Option driver
        • Usbserial driver
        • USB_modeswitch
        • UMTSmon
        • Wader
    • HOW-TOs
      • HSOconnect Fedora 9
      • HSOconnect Ubuntu 8.04
      • NetworkManager How-To
      • Older HOW-TOs
        • GlobeTrotter (GPRS) HOW-TO
        • GlobeTrotter Fusion (UMTS/WLan) HOW-TO
        • Vodafone 3G (UMTS) HOW-TO
    • APN - Access Point Name
    • Linux Basics
    • DKMS and the HSO driver
  • USB modems
    • iCon 225
    • AT&T Quicksilver
    • iCon 7.2
  • Datacards
    • Vodafone E3730
    • GE441 and GE442
    • Datacards (hso.ko)
    • Nozomi HSDPA 1.8 Datacards
    • Datacards (option.ko)
    • Datacards (serial modems)
    • Archive - old product table
  • Modules
    • GTM378
  • Getting Help
    • Contact me
  • PHARspace
    • Linux and 3G Blog
    • PHARscape Astronomy
      • SPC900 Amp-off Sandwich
  • The Forums -->
`
Home » Linux and 3G » Software » Option Software » Hso driver

The Hso driver kernel module

The hso.ko kernel module is provided by Option and is released to the community under the GPL license. Option is working with the community to have the driver integrated in to the latest up-and-comming kernel releases 2.6.27.

UPDATE: Version 1.2 of the driver has been included in Ubuntu 8.10. Version 1.3 was included in Fedora 10.1. This may be all you need to do! However, if you have stability problems consider manually installing your own copy of the driver as described below.

While the driver is being integrated I have provided a source code package of the latest version in my forum. As of writing the latest version is 1.14 but you should always check the forum to see if there has been an update.

If you compile the driver yourself then each time you update the kernel you must recompile the driver again. But there is a solution to this problem - use DKMS. You can read about this here.

USB devices that use this driver:

  • iCon 7.2

  • iCon 225

  • AT&T Quicksilver

Datacards that use this driver:

  • GE441 and GE442

  • Datacards using hso.ko

  • Vodafone E3730


Modules that use this driver:

  • GTM 378

Visit the hso Support Forum

The drivers are located in the HSO forum, look for the latest version here:

Download the latest version

 

Kernel modules and new devices

I have just installed Ubuntu 8.10 and I find hso.ko 1.2 is preinstalled:

pharlap:~$ find /lib/modules/`uname -r` -name 'hso.ko'

This is great for my icon 225 but my Vodafone E3730 is not supported by that version of the driver. I need to install the latest version.

What does the module do?

The module is a driver ( a program) that provides the communication link and control interface between the Linux kernel and the modem. The kernel and applications such as HSOconnect and Network Manager communicate via the hso driver with the modem.

When the module is installed the Linux kernel reads from it a list of supported manufacturer and product IDs. When a new device is plugged in the kernel will look at its manufacturer and product identity codes - if they match a pair of codes in the module's list then the module is loaded in to memory and linked up with the device. The kernel will then call the module initialisation code.

When the module is being initialised it creates new nodes in the Linux file system /dev directory. If all goes to plan these nodes will be labeled:

/dev/ttyHS0

/dev/ttyHS1

....

/dev/ttyHSn

(the number of nodes created depends on the device and how it has been configured at manufacture.)

For controlling and communicating with the modem it is /dev/ttyHS1 that is used. It works like an asynchronous serial interface as found on dial-up modems. It is over this interface that AT commands are sent to control the device and set up the Internet connection.

In addition there is an  hs0 interface created that is used for the actual Internet data link when it is established.

How to compile and use the module

If you have never compiled a module before then it is possible that you haven't yet installed the support files needed to compile code and make kernel modules. You need the c compiler gcc, make and libc6-dev installed. On Debian based systems you get these by installing the build-essential package:

sudo apt-get install build-essential

You also need the kernel header files for your version of the kernel. You can discover which version of the kernel you are using by typing the command

uname -r.

On my system the command

sudo apt-get install linux-headers-`uname -r`

will install the files I need. On other systems you would use your equivalent package manager to locate and install a similar package (it may even be the full kernel source!).

Because you are making a kernel module you have to install it as the root user (using sudo or su)

1. Download the lastest module source file from the HSO forum

2. Untar the package: tar zxf hso-1.6.tar.gz

3. Change to the directory:

cd hso*

4. Build the module:

make

5. Install the module:

sudo make install

(if your device uses ZeroCD technology then you also need to install ozerocdoff before you can see these ports listed below.)

Now plug in the device, wait a few seconds and type: ls -al /dev/ttyHS*

You should see /dev/ttyHS0, /dev/ttyHS1 and others listed.

Everything is now ready.

 

Device Vendor and Product IDs supported by hso module (v1.14)

To be 100% sure your device will need the hso module type the following command:

lsusb -v and look for the Option device. Within the device entry will be the vendor and product IDs. If they match the IDs listed below then the device needs the hso module.

 

  {default_port_device(0x0af0, 0x6711)},
    {default_port_device(0x0af0, 0x6731)},
    {default_port_device(0x0af0, 0x6751)},
    {default_port_device(0x0af0, 0x6771)},
    {default_port_device(0x0af0, 0x6791)},
    {default_port_device(0x0af0, 0x6811)},
    {default_port_device(0x0af0, 0x6911)},
    {default_port_device(0x0af0, 0x6951)},
    {default_port_device(0x0af0, 0x6971)},
    {default_port_device(0x0af0, 0x7011)},
    {default_port_device(0x0af0, 0x7031)},
    {default_port_device(0x0af0, 0x7051)},
    {default_port_device(0x0af0, 0x7071)},
    {default_port_device(0x0af0, 0x7111)},
    {default_port_device(0x0af0, 0x7211)},
    {default_port_device(0x0af0, 0x7251)},
    {default_port_device(0x0af0, 0x7271)},
    {default_port_device(0x0af0, 0x7311)},
    {default_port_device(0x0af0, 0xc031)},    /* Icon-Edge */
    {icon321_port_device(0x0af0, 0xd013)},    /* Module HSxPA */
    {icon321_port_device(0x0af0, 0xd031)},    /* Icon-321 */
    {icon321_port_device(0x0af0, 0xd033)},    /* Icon-322 */
    {USB_DEVICE(0x0af0, 0x7301)},        /* GE40x */
    {USB_DEVICE(0x0af0, 0x7361)},        /* GE40x */
    {USB_DEVICE(0x0af0, 0x7381)},        /* GE40x */
    {USB_DEVICE(0x0af0, 0x7401)},        /* GI 0401 */
    {USB_DEVICE(0x0af0, 0x7501)},        /* GTM 382 */
    {USB_DEVICE(0x0af0, 0x7601)},        /* GE40x */
    {USB_DEVICE(0x0af0, 0x7701)},
    {USB_DEVICE(0x0af0, 0x7706)},
    {USB_DEVICE(0x0af0, 0x7801)},
    {USB_DEVICE(0x0af0, 0x7901)},
    {USB_DEVICE(0x0af0, 0x7A01)},
    {USB_DEVICE(0x0af0, 0x7A05)},
    {USB_DEVICE(0x0af0, 0x8200)},
    {USB_DEVICE(0x0af0, 0x8201)},
    {USB_DEVICE(0x0af0, 0x8300)},
    {USB_DEVICE(0x0af0, 0x8302)},
    {USB_DEVICE(0x0af0, 0x8304)},
    {USB_DEVICE(0x0af0, 0x8400)},
    {USB_DEVICE(0x0af0, 0xd035)},
    {USB_DEVICE(0x0af0, 0xd055)},
    {USB_DEVICE(0x0af0, 0xd155)},
    {USB_DEVICE(0x0af0, 0xd255)},
    {USB_DEVICE(0x0af0, 0xd057)},
    {USB_DEVICE(0x0af0, 0xd157)},
    {USB_DEVICE(0x0af0, 0xd257)},
    {USB_DEVICE(0x0af0, 0xd357)},
    {USB_DEVICE(0x0af0, 0xd058)},
    {USB_DEVICE(0x0af0, 0xc100)},

If when you plug in your device you find that the option.ko module grabs it and creates /dev/ttyUSB? ports then you need to blacklist the option.ko module. This solution is described in the Icon 7.2 page


PHARscape

News:

Option release HSO version 1.14
Option release HSO version 1.14

HSOconnect 1.2.19 for Orange iCon515 support
HSOconnect updated for Orange iCon 515 support

Latest Articles:

  • SPC900 Amp-off Sandwich 2010.01.22
  • GE441 and GE442 2009.07.23
  • PHARspace 2009.05.13 Blogs and Other Interests

Latest Forum Messages:

PHARscape Linux and 3G forum
  • Re: Icon 225 on ubuntu netbook remix 9.10
  • Re: Icon 225 on ubuntu netbook remix 9.10
  • Re: Icon 225 on ubuntu netbook remix 9.10
  • Icon 225 on ubuntu netbook remix 9.10
  • HSO 1.14

Powered by MODx  Template © 2006 modXhost.com CSS
MySQL: 0.0447 s, 46 request(s), PHP: 0.1043 s, total: 0.1491 s, document retrieved from database.