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.
Having either a 2.2.14, 2.2.16 or 2.2.17 kernel.
It has been reported that the driver for 2.2.17 kernels also works with 2.2.18 kernels.
To get the modem to work you'll need to get the Vendor ID and Device ID. The easiest way to do this is to use the command "less /proc/pci" and scroll until you find the PCI card which has a vendor ID of either 14F1 (Conexant) or 127A (Rockwell) and note the Device ID.
You'll need to make an %HSFModem% line.
Copy down the following line somewhere,
%HSFModem% = ModemX, PCI\VEN_XXXX&DEV_YYYY&SUBSYS_YYYYXXXX
Replacing the XXXX's with your Vendor ID and the YYYY's with your Device ID, so if your Vendor ID is 127A and Device ID is 2015 your line would be,
%HSFModem% = ModemX, PCI\VEN_127A&DEV_2015&SUBSYS_2015127A
You'll need to use this line later on to allow the driver to detect your modem, the next steps you need to take vary slightly depending on what kernel you have so you'll need to refer to the appropriate section depending on whether your kernel version is 2.2.14, 2.2.16 or 2.2.17
Installing a HSF driver on a 2.2.14 kernel
Download the file HSF_V1.01.02_K2.2.14-5.0.tar, it can be obtained from Olitec's site or the
mirror.
Copy it to your home directory
In a console window change to your home directory
[user@localhost]$ cd ~
Decompress the file
[user@localhost]$ tar xzvf HSF_V1.01.02_K2.2.14-5.0.tar
Enter into the drivers directory
[user@localhost]$ cd pci_56k_v2
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.
Switch to root
[user@localhost]$ su
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.
Installing a HSF driver on a 2.2.16 kernel
Download the file PCI_56K_V2_K2.2.16.tar.gz, it can be obtained from Olitec's site or the
Mirror.
Copy it to your home directory
In a console window change to your home directory
[user@localhost]$ cd ~
Decompress the file
[user@localhost]$ tar xzvf PCI_56K_V2_K2.2.16.tar.gz
Enter into the drivers directory
[user@localhost]$ cd pci_56k_v2_k2.2.16
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.
Switch to root
[user@localhost]$ su
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.
Installing a HSF driver on a 2.2.17 or 2.2.18 kernel
Download the file PCI_56K_V2_K2.2.17.tar.gz , it can be obtained from Olitec's site or the
Mirror.
Copy it to your home directory
In a console window change to your home directory
[user@localhost]$ cd ~
Decompress the file
[user@localhost]$ tar xzvf PCI_56K_V2_K2.2.17.tar.gz
Enter into the drivers directory
[user@localhost]$ cd pci_56k_v2_k2.2.17
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.
Switch to root
[user@localhost]$ su
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.