5. Compiling and installing the drivers
The first requisite for installation is that you have a kernel source in /usr/src/linux/ (see section 7.7) and it must be configured, that is, you should have done a bash$ make configure and bash$ make dep on it.
While doing these make sure that you have the source for your running kernel...for example, if you are running kernel 2.4.8 and if you have the source for kernel 2.4.9 in /usr/src/linux/, then the drivers would not work.
Moreover, you must configure the kernel with isapnp and pnp support and see to the fact that you don't have a smp/uniprocessor mismatch ( that is, running uniprocessor kernel but having a kernel source with smp support in /usr/src/linux). Also, you will need a kernel which supports loadable modules.
And of course, you need to have gcc installed, check it by issuing the command bash$ gcc -v . If you do not get any errors, then everything is all right
If you have gcc version 3 or above , and have problems during compiling, please refer to this section in the FAQ. |
5.1. Installing the 2.2x drivers.
Login as root.
Make sure that you have a 2.2.x kernel with the command bash$ uname -r
Check whether the downloaded files are in your current directory with the
bash$ ls
command. Then unpack the downloaded files with the command
bash$ tar -xzvf pctel-2.2.tar.gz
Once you have unpacked, you will be left with a ~/pctel directory.
Move into that directory with the command
bash$ cd pctel/
There is an (install.sh) installation script that makes the job easier from now on.
Make this script executable with the command
bash$ chmod +x install.sh
Then, just run the script
bash$ ./install.sh
You will see a number of messages fly by as the appropriate device files/nodes are made in the /dev/ directory, the driver files are unpacked and then compiled and loaded into the memory.
Once the process is complete without any error messages (if you get any errors, proceed to the Troubleshooting section), you will find that a new directory called lib/ has been created under directory ~/pctel/. This ~/pctel/lib/ directory contains the drivers/modules that can be loaded into the kernel.
If you move into the ~/pctel/lib/ directory with
bash$ cd ~/pctel/lib/
and do a bash$ ls, you will find two files there, one called pctel.o and the other ptserial.o
These are the two modules that are to be loaded to make the modem work.
To load the modules, you will have to issue the commands
bash$ insmod pctel.o
bash$ insmod ptserial.o
from the ~/pctel/lib/ directory.
(The install.sh script automatically does this, so you don't need to do the insmod part after running the script, but once you reboot, you will have to load the modules by
bash$ cd `your pctel directory`/lib/
bash$ insmod pctel.o
bash$ insmod ptserial.o )
5.2. Installing the pctel-0.9.6 driver
Make sure that you have kernel 2.4.0 or greater by the command
bash$ uname -r
Unpack the downloaded files with the commands
bash$ tar -xzvf pctel-0.9.6.tar.gz
Now you will have a pctel-0.9.6 directory
cd into that with the command
bash$ cd pctel-0.9.6/
Now comes the complicated part.
To proceed further you will have to know what chip set your modem has.See section 9.4 for more information on this.
Once you have got the name of the chip set, just type one of the following commands (depending on the chip set)
If you have a PCT 789 chip set,
bash$ ./configure --with-hal=pct789
If you have a CM8738 chip set,
bash$ ./configure -with-hal=cm8738
If you have a chip set integrated with an i8** chip set based box,
bash$ ./configure --with-hal=i8xx
If you have a chip set integrated with an VIA 686a chip set based motherboard ,
bash$ ./configure --with-hal=via686a
The configure script will run and a number of messages will fly past. Check for any error messages that may fly past. When you have the prompt again, (and if you have not got any errors), compile the drivers with the command
bash$ make
Then if you do not get any error messages , install the drivers with the command
bash$ make install
(You will have to be logged in as root for performing the last step)
Then just load the drivers with the commands
bash$ insmod pctel
bash$ insmod ptserial
NOTE: These commands can be issued from any directory as the insmod program will automatically find the drivers pctel.o and ptserial.o in /lib/modules/`your kernel version`/misc/ )
NOTE: If you get a message that says configure: error: You must have linux kernel >= 2.4.0 installed, then please refer to section 8.1.1 for ways to solve this. |
However, if you have an AMR modem, then you will have to use the 0.9.6 drivers.
5.3. Installing the pctel-0.8.6 driver
Use this driver only if you experience problems with the pctel-0.9.6 drivers |
Make sure that you have kernel 2.4.0 or greater by the command
bash$ uname -r
Unpack the downloaded files with the commands
bash$ tar -xzvf 0.8.6.tar
Now you will have a pctel-0.8.6 directory
cd into that with the command
bash$ cd pctel-0.8.6/
Now comes the complicated part.
To proceed further you will have to know what chip set your modem has.See section 9.4 for more information on this.
Once you have got the name of the chip set, just type one of the following commands (depending on the chip set)
If you have a PCT 789 chip set,
bash$ ./configure --with-hal=pct789
If you have a CM8738 chip set,
bash$ ./configure -with-hal=cm8738
If you have a chip set integrated with an Intel 810 chip set based motherboard from Intel,
bash$ ./configure --with-hal=i810intel
If you have a chip set integrated with an Intel 810 chip set based motherboard from SIS,
bash$ ./configure --with-hal=i810sis
If you have a chip set integrated with an VIA 686a chip set based motherboard ,
bash$ ./configure --with-hal=via686a
The configure script will run and a number of messages will fly past. Check for any error messages that may fly past. When you have the prompt again, (and if you have not got any errors), compile the drivers with the command
bash$ make
Then if you do not get any error messages, install the drivers with the command
bash$ make install
(You will have to be logged in as root for performing the last step)
Then just load the drivers with the commands
bash$ insmod pctel
bash$ insmod ptserial
(these too, like in the case of the pctel-0.9.6 drivers, can be issued from any directory as the insmod program will automatically find the drivers pctel.o and ptserial.o in /lib/modules/`your kernel version`/misc/ )