5. HSF

5.1. History

A HSF driver first appeared out of the blue in mid-2000 when Olitec released unto the world a binary only driver for their Olitec PCI modem for 2.2.14 kernel, it wasn't long before someone realized that the Olitec modem was based on the Rockwell/Conexant HSF Chipset. Inquiries to Olitec revealed that the driver should work with any HSF chipset as there was nothing in the driver that was specific to the Olitec modems. Many people tried to get the driver to work with non-Olitec modem unfortunately without success, however a few months later and after many hours of work by many people trying a variety of tricks to get the driver to work, several people managed to stumble across the solution. It was a simple one line change to file which solved the problem and the world was left with a working HSF driver, at the time it only worked on 2.2.14 Kernels and Olitec had refused to release the source code to let others try to get it to work with other kernels.

A few months later Olitec released the driver for 2.2.16 and 2.2.17 kernels, this kept the HSF winmodem community satisfied until we came to the day when the 2.4 kernel was released. None of the previous drivers appeared to work with the 2.4 kernel and this caused problems for all those who wanted to upgrade and also for the large number of new users who were using 2.4.* kernel based distributions such as Mandrake 8 and RedHat 7.1. Not a word had been heard out of Olitec since the 2.4 kernel was released, but Conexant had announced that they intended to develop a Linux driver. After many months of waiting for a 2.4.* driver Marc Boucher decided to something about it and wrote a wrapper which allowed an old version of the driver to be used with 2.4.* kernels.

That's where we are now, Marc's wrapper is still in experimental development stage but it works and many people are using it to connect to the internet under Linux.

From the history you'll understand why the next section has to be split into two sections one for 2.2.14 - 2.2.18 kernels and one for 2.4.* kernels. If you don't know what kernel version you have you can find out by using the 'uname -r' command at the console window before proceeding to the appropriate section of this HOWTO.

5.2. Kernel 2.2.14 - 18

5.2.3. If you have a 2.2.14 kernel

Installing a HSF driver on a 2.2.14 kernel

  1. Download the file HSF_V1.01.02_K2.2.14-5.0.tar, it can be obtained from Olitec's site or the mirror.

  2. Copy it to your home directory

  3. In a console window change to your home directory

    [user@localhost]$ cd ~

  4. Decompress the file

    [user@localhost]$ tar xzvf HSF_V1.01.02_K2.2.14-5.0.tar

  5. Enter into the drivers directory

    [user@localhost]$ cd pci_56k_v2

  6. Load up the lin_hsf.inf file in your favorite text editor, under the section [generic] you'll see a few of lines like "%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A" under theses lines add your own %HSFModem% line which you made earlier.

  7. Switch to root

    [user@localhost]$ su

  8. Run the ins_all script to install the driver

    [user@localhost]$ ./ins_all

You will now be able to access the internet by telling your dial-up software that your modem is located at /dev/modem.

The ins_all will only temporarily load the modem driver and the modem driver will be removed when you reboot. So if you re boot you will need to run the ./ins_all program to reload the driver, if you reboot on a regular basis you may want to set the . /ins_all command to automatically run every time your computer loads up.

5.2.4. If you have a 2.2.16 kernel

Installing a HSF driver on a 2.2.16 kernel

  1. Download the file PCI_56K_V2_K2.2.16.tar.gz, it can be obtained from Olitec's site or the Mirror.

  2. Copy it to your home directory

  3. In a console window change to your home directory

    [user@localhost]$ cd ~

  4. Decompress the file

    [user@localhost]$ tar xzvf PCI_56K_V2_K2.2.16.tar.gz

  5. Enter into the drivers directory

    [user@localhost]$ cd pci_56k_v2_k2.2.16

  6. Load up the lin_hsf.inf file in your favorite text editor, under the section [generic] you'll see a few of lines like "%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A" under theses lines add your own %HSFModem% line which you made earlier.

  7. Switch to root

    [user@localhost]$ su

  8. Run the ins_all script to install the driver

    [user@localhost]$ ./ins_all

You will now be able to access the internet by telling your dial-up software that your modem is located at /dev/modem.

The ins_all will only temporarily load the modem driver and the modem driver will be removed when you reboot. So if you reboot you will need to run the ./ins_all program to reload the driver, if you reboot on a regular basis you may want to set the ./ins_all command to automatically run every time your computer loads up.

5.2.5. If you have a 2.2.17 or 2.2.18 kernel

Installing a HSF driver on a 2.2.17 or 2.2.18 kernel

  1. Download the file PCI_56K_V2_K2.2.17.tar.gz , it can be obtained from Olitec's site or the Mirror.

  2. Copy it to your home directory

  3. In a console window change to your home directory

    [user@localhost]$ cd ~

  4. Decompress the file

    [user@localhost]$ tar xzvf PCI_56K_V2_K2.2.17.tar.gz

  5. Enter into the drivers directory

    [user@localhost]$ cd pci_56k_v2_k2.2.17

  6. Load up the lin_hsf.inf file in your favorite text editor, under the section [generic] you'll see a few of lines like "%HSFModem% = ModemX, PCI\VEN_127A&DEV_1025&SUBSYS_1025127A" under theses lines add your own %HSFModem% line which you made earlier.

  7. Switch to root

    [user@localhost]$ su

  8. Run the ins_all script to install the driver

    [user@localhost]$ ./ins_all

You will now be able to access the internet by telling your dial-up software that your modem is located at /dev/modem.

The ins_all will only temporarily load the modem driver and the modem driver will be removed when you reboot. So if you reboot you will need to run the ./ins_all program to reload the driver, if you reboot on a regular basis you may want to set the ./ins_all command to automatically run every time your computer loads up.

5.3. Kernel 2.4.*

5.4. Troubleshooting FAQ

5.4.1. When running ./ins_all I get a kernel mismatch error ?
5.4.2. When I try to run ./ins_all I get the error "bash: ./ins_all No such file or directory."
5.4.3. When installing the driver when it tries to load myserial.o I get a segmentation fault ?
5.4.4. When trying to dial my ISP I get "No Carrier" error ?
5.4.5. When running ./ins_alI get the error "No matching INF file is found for SoftK56 PCI device" ?
5.4.6. On my Laptop the driver seemed to install fine but I can't access my modem on /dev/modem ?