<HTML ><HEAD ><TITLE >Compiling and installing the drivers</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="PCTel HSP MicroModem Configuration mini-HOWTO" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Choosing a suitable driver" HREF="rightdrivers.html"><LINK REL="NEXT" TITLE="Testing the drivers" HREF="testing.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PCTel HSP MicroModem Configuration mini-HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="rightdrivers.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="testing.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="INSTALLATION" ></A >5. Compiling and installing the drivers</H1 ><P >The first requisite for installation is that you have a kernel source in <TT CLASS="FILENAME" >/usr/src/linux/</TT > (see section <A HREF="ot.html#KERNELSRC" >7.7</A >) and it must be configured, that is, you should have done a <B CLASS="COMMAND" >bash$ make configure</B > and <B CLASS="COMMAND" >bash$ make dep</B > on it.</P ><P >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 <TT CLASS="FILENAME" >/usr/src/linux/</TT >, then the drivers would not work.</P ><P >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.</P ><P >And of course, you need to have gcc installed, check it by issuing the command <B CLASS="COMMAND" >bash$ gcc -v </B >. If you do not get any errors, then everything is all right </P ><DIV CLASS="NOTE" ><P ></P ><TABLE CLASS="NOTE" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="../images/note.gif" HSPACE="5" ALT="Note"></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >If you have gcc version 3 or above , and have problems during compiling, please refer to <A HREF="trouble.html#GCC3" >this section</A > in the FAQ.</P ></TD ></TR ></TABLE ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN237" ></A >5.1. Installing the 2.2x drivers.</H2 ><P >Login as root.</P ><P >Make sure that you have a 2.2.x kernel with the command <B CLASS="COMMAND" >bash$ uname -r</B ></P ><P >Check whether the downloaded files are in your current directory with the </P ><P ><B CLASS="COMMAND" >bash$ ls</B ></P ><P >command. Then unpack the downloaded files with the command </P ><P ><B CLASS="COMMAND" >bash$ tar -xzvf pctel-2.2.tar.gz</B ></P ><P >Once you have unpacked, you will be left with a <TT CLASS="FILENAME" >~/pctel</TT > directory.</P ><P >Move into that directory with the command</P ><P ><B CLASS="COMMAND" >bash$ cd pctel/</B ></P ><P >There is an (<TT CLASS="FILENAME" >install.sh</TT >) installation script that makes the job easier from now on.</P ><P >Make this script executable with the command </P ><P ><B CLASS="COMMAND" >bash$ chmod +x install.sh</B ></P ><P >Then, just run the script</P ><P ><B CLASS="COMMAND" >bash$ ./install.sh</B ></P ><P >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.</P ><P >Once the process is complete without any error messages (if you get any errors, proceed to the <A HREF="trouble.html" >Troubleshooting</A > section), you will find that a new directory called <TT CLASS="FILENAME" >lib/</TT > has been created under directory <TT CLASS="FILENAME" >~/pctel/</TT >. This <TT CLASS="FILENAME" >~/pctel/lib/</TT > directory contains the drivers/modules that can be loaded into the kernel.</P ><P >If you move into the <TT CLASS="FILENAME" >~/pctel/lib/</TT > directory with </P ><P ><B CLASS="COMMAND" >bash$ cd ~/pctel/lib/</B ></P ><P >and do a <B CLASS="COMMAND" >bash$ ls</B >, you will find two files there, one called <SPAN CLASS="APPLICATION" >pctel.o</SPAN > and the other <SPAN CLASS="APPLICATION" >ptserial.o</SPAN ></P ><P >These are the two modules that are to be loaded to make the modem work.</P ><P >To load the modules, you will have to issue the commands </P ><P ><B CLASS="COMMAND" >bash$ insmod pctel.o</B ></P ><P ><B CLASS="COMMAND" >bash$ insmod ptserial.o</B ></P ><P >from the <TT CLASS="FILENAME" >~/pctel/lib/</TT > directory.</P ><P >(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</P ><P ><B CLASS="COMMAND" >bash$ cd</B > `your pctel directory`/lib/</P ><P ><B CLASS="COMMAND" >bash$ insmod pctel.o</B ></P ><P ><B CLASS="COMMAND" >bash$ insmod ptserial.o </B >)</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN290" ></A >5.2. Installing the pctel-0.9.6 driver</H2 ><P >Make sure that you have kernel 2.4.0 or greater by the command</P ><P ><B CLASS="COMMAND" >bash$ uname -r</B ></P ><P >Unpack the downloaded files with the commands</P ><P ><B CLASS="COMMAND" >bash$ tar -xzvf pctel-0.9.6.tar.gz</B ></P ><P >Now you will have a pctel-0.9.6 directory</P ><P >cd into that with the command</P ><P ><B CLASS="COMMAND" >bash$ cd pctel-0.9.6/</B ></P ><P >Now comes the complicated part.</P ><P >To proceed further you will have to know what chip set your modem has.See section <A HREF="appendix.html#IDENTIFY" > 9.4 </A >for more information on this.</P ><P >Once you have got the name of the chip set, just type one of the following commands (depending on the chip set)</P ><P >If you have a PCT 789 chip set,</P ><P ><B CLASS="COMMAND" >bash$ ./configure --with-hal=pct789</B ></P ><P >If you have a CM8738 chip set,</P ><P ><B CLASS="COMMAND" >bash$ ./configure -with-hal=cm8738</B ></P ><P >If you have a chip set integrated with an i8** chip set based box,</P ><P > <B CLASS="COMMAND" >bash$ ./configure --with-hal=i8xx </B ></P ><P >If you have a chip set integrated with an VIA 686a chip set based motherboard ,</P ><P ><B CLASS="COMMAND" >bash$ ./configure --with-hal=via686a </B ></P ><P >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</P ><P ><B CLASS="COMMAND" >bash$ make</B ></P ><P >Then if you do not get any error messages , install the drivers with the command</P ><P ><B CLASS="COMMAND" >bash$ make install</B ></P ><P >(You will have to be logged in as root for performing the last step)</P ><P >Then just load the drivers with the commands</P ><P ><B CLASS="COMMAND" >bash$ insmod pctel</B ></P ><P ><B CLASS="COMMAND" >bash$ insmod ptserial</B ></P ><P >NOTE: These commands can be issued from any directory as the <SPAN CLASS="APPLICATION" >insmod</SPAN > program will automatically find the drivers <SPAN CLASS="APPLICATION" >pctel.o</SPAN > and <SPAN CLASS="APPLICATION" >ptserial.o</SPAN > in <TT CLASS="FILENAME" >/lib/modules/`your kernel version`/misc/ </TT >)</P ><P ><DIV CLASS="NOTE" ><P ></P ><TABLE CLASS="NOTE" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="../images/note.gif" HSPACE="5" ALT="Note"></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >NOTE: If you get a message that says <TT CLASS="COMPUTEROUTPUT" > configure: error: You must have linux kernel >= 2.4.0 installed</TT >, then please refer to section <A HREF="trouble.html#PATCH-CONFIGURE" > 8.1.1 </A > for ways to solve this.</P ></TD ></TR ></TABLE ></DIV ></P ><P >However, if you have an <A HREF="ot.html#AMR" >AMR</A > modem, then you will have to use the 0.9.6 drivers.</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN342" ></A >5.3. Installing the pctel-0.8.6 driver</H2 ><DIV CLASS="CAUTION" ><P ></P ><TABLE CLASS="CAUTION" WIDTH="100%" BORDER="0" ><TR ><TD WIDTH="25" ALIGN="CENTER" VALIGN="TOP" ><IMG SRC="../images/caution.gif" HSPACE="5" ALT="Caution"></TD ><TD ALIGN="LEFT" VALIGN="TOP" ><P >Use this driver only if you experience problems with the pctel-0.9.6 drivers</P ></TD ></TR ></TABLE ></DIV ><P >Make sure that you have kernel 2.4.0 or greater by the command</P ><P ><B CLASS="COMMAND" >bash$ uname -r</B ></P ><P >Unpack the downloaded files with the commands</P ><P ><B CLASS="COMMAND" >bash$ tar -xzvf 0.8.6.tar</B ></P ><P >Now you will have a pctel-0.8.6 directory</P ><P >cd into that with the command</P ><P ><B CLASS="COMMAND" >bash$ cd pctel-0.8.6/</B ></P ><P >Now comes the complicated part.</P ><P >To proceed further you will have to know what chip set your modem has.See section <A HREF="appendix.html#IDENTIFY" > 9.4 </A >for more information on this.</P ><P >Once you have got the name of the chip set, just type one of the following commands (depending on the chip set)</P ><P >If you have a PCT 789 chip set,</P ><P ><B CLASS="COMMAND" >bash$ ./configure --with-hal=pct789</B ></P ><P >If you have a CM8738 chip set,</P ><P ><B CLASS="COMMAND" >bash$ ./configure -with-hal=cm8738</B ></P ><P >If you have a chip set integrated with an Intel 810 chip set based motherboard from Intel,</P ><P > <B CLASS="COMMAND" >bash$ ./configure --with-hal=i810intel </B ></P ><P >If you have a chip set integrated with an Intel 810 chip set based motherboard from SIS,</P ><P > <B CLASS="COMMAND" >bash$ ./configure --with-hal=i810sis </B ></P ><P >If you have a chip set integrated with an VIA 686a chip set based motherboard ,</P ><P ><B CLASS="COMMAND" >bash$ ./configure --with-hal=via686a </B ></P ><P >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</P ><P ><B CLASS="COMMAND" >bash$ make</B ></P ><P >Then if you do not get any error messages, install the drivers with the command</P ><P ><B CLASS="COMMAND" >bash$ make install</B ></P ><P >(You will have to be logged in as root for performing the last step)</P ><P >Then just load the drivers with the commands</P ><P ><B CLASS="COMMAND" >bash$ insmod pctel</B ></P ><P ><B CLASS="COMMAND" >bash$ insmod ptserial</B ></P ><P >(these too, like in the case of the pctel-0.9.6 drivers, can be issued from any directory as the <SPAN CLASS="APPLICATION" >insmod</SPAN > program will automatically find the drivers <SPAN CLASS="APPLICATION" >pctel.o</SPAN > and <SPAN CLASS="APPLICATION" >ptserial.o</SPAN > in <TT CLASS="FILENAME" >/lib/modules/`your kernel version`/misc/ </TT >)</P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="rightdrivers.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="testing.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Choosing a suitable driver</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Testing the drivers</TD ></TR ></TABLE ></DIV ></BODY ></HTML >