Usage guidelines for the ltmodem 'build_rpm' script. ****************************************************************************** NB this file presupposes that you have read the 1ST-READ file and checked that your system meets the requirements described in it. 'build_rpm' makes use of 'build_module', so the necessary requirements for that script also apply here. The top of 'build_module' contains some information you may find useful. ****************************************************************************** Usage: build_rpm [-t <target>] [<forcedversion>] In the majority of cases, this script should be run directly using the command './build_rpm' as root. Usually there is no need to give the script additional parameters. This will then give you an rpm file that you can install using your preferred rpm installation method. Possible suggestions, given when the script exits, are: rpm -i ltmodem.your_version.rpm or rpm -Uvh ltmodem.your_version.rpm rpm -Uvh should be used if you have already installed an ltmodem.rpm on your computer, and you are attempting an upgrade to a more recent version. If this is the first time you have installed an ltmodem.rpm, either will work fine. Once the rpm is installed you should find documentation for the driver in /usr/share/doc/ltmodem.your_version. If you ever need to uninstall the ltmodem.rpm, this can be done with the command: rpm -e ltmodem.your_version If you'd prefer to use a GUI rpm package manager such as kpackage or gnorpm, that's also fine - the ltmodem.rpm behaves just like any other rpm on your system. Please see the bottom of this file for an explanation of any error messages you get while attempting to use build_rpm. Parameters that can be given to build_rpm. The usage of './build_rpm' by itself should be enough to build a suitable rpm that matches your currently running kernel, on your current computer. There are a number of switches that can be employed to alter this behaviour and produce an rpm for a different kernel or different architecture. -t <target> alters the platform the rpm will be built for. You can use this option to build an rpm for a different CPU to the one in the computer you're using to build the rpm. eg ./build_rpm -t i486 should build an rpm for a 486 machine. More information can be found in 'man rpm', the argument you give ./build_rpm -t is passed to the --target option that's discussed in the BUILD OPTIONS section of the rpm man page. <forcedversion> can be used to build an rpm for a kernel other than the one you're currently running. To do this you first need to have the kernel-headers for the kernel you want to build the rpm for installed, and have a sym link from /usr/src/linux to the directory the headers are in. It's also necessary to ensure that there are no other kernel headers that might be picked up during the automated search for header files in /usr/src. Altering the names of other directories containing header files within /usr/src will do this - eg capitalising the first letter of the directory names. See the top of build_module for more information about this. Then invoke rpm_build using the version of the kernel you want to build the rpm for, eg ./build_rpm 2.2.19 should build an rpm containing a version of the ltmodem module that will work under a 2.2.19 kernel. Possible problems. 1. You get an "ERROR: No kernel headers found." In this case, the problem is usually that you have not correctly installed the required kernel headers or kernel source files. If you are running the default kernel that came with your Linux distribution, try 'rpm -qa | grep kernel', and check to see that you have a kernel-headers-your_version and a kernel-source-your_version in the listing that's shown. If you don't see these, then you'll have to install them. Look on the installation CD of your Linux distribution, or else at it's ftp sites for the files that match your currently running kernel - 'uname -r' should tell you which version to look for. If you have installed a kernel that you downloaded as a tar.gz or tar.bz2 file, make sure that you have taken the correct steps to create the necessary headers - 'make config', 'make dep' etc. Also check that you have a sym link /usr/src/linux that points to the location of the source you've installed. 2. You get an error "Requires rpm to build an rpm" You don't have RPM installed on your system. This is a pretty unlikely situation if you're using an RPM based distro, and if you're not then this script can't help you much. It's also possible that you have got RPM installed but for some reason it isn't executable. Find the location of the RPM program on your system (usually /bin/rpm) and check the permissions using 'ls -l /bin/rpm' which should give you something like: -rwxr-xr-x 1 root root 1411016 Apr 6 07:55 /bin/rpm* If not, change the permissions using 'chmod 755 /bin/rpm' as root, and don't be so weird as to have this happen again. 3. You get an error "Requires rpm-build package to build an rpm" You haven't got rpm-build installed on your system. Look on the installation CD of your Linux distribution, or else on it's ftp sites for the rpm-build package and install it. If you're searching on ftp sites, make sure you get the version of rpm-build that works with your current version of your Linux distribution. 4. Your Lucent modem explodes in a ball of fire. Cool! Take some pictures, stick them on the Web, and send the URL to Slashdot. Instant fame. Example of a sucessful ./build_rpm ---------------------------------------------------------------------------- # ./build_rpm Build an rpm for ltmodem This is ltmodem-5.99a4 compiler and installer. Drivers to be compiled are: lt_modem.o and lt_serial.o Checking for necessary consituents, exclusive of ISA modems: PCI modem, then needed utilities, finally compiling resources. If all is well, supporting script will be written from the source/*.in files. loading cache ./config.cache Checking OS Checking machine type Scanning PCI bus for modem ... using /usr/bin/lspci Modem found: 11c1:0448 checking for gcc... (cached) gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for a BSD compatible install... (cached) /usr/bin/install -c checking for make... (cached) yes checking for ld... (cached) yes Checking for kernel headers ... in /usr/src/linux: Kernel headers found in /usr/src/linux ... in /usr/src/kernel-headers-2.4.4: nope ... in /usr/src/linux-2.4.4: Kernel headers found in /usr/src/linux-2.4.4 using /usr/src/linux-2.4.4 Checking kernel header version kernel headers are version 2.4.4 System has rpm. Checking for standard installed kernel packages RPM will require kernel = 2.4.4 creating ./config.status creating Makefile creating autoload creating cleanup creating debian/control creating ltmodem.spec Trying compilation of lt_modem.o and lt_serial.o gcc -D__KERNEL__ -I/usr/src/linux-2.4.4/include -Wall -Wstrict-prototypes -O3 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -DMODULE -DLT_VERSION=5.99a4 -DLINUX -DNO_EEPROM -DLT_SERIAL_MODULE=lt_serial -c -o serial-lt-2.4.a serial-lt-2.4.c ld -r -o lt_serial.o serial-lt-2.4.a Make action completed, looking for drivers: -rw------- 1 root root 416871 May 14 14:25 lt_modem.o -rw------- 1 root root 28950 May 14 14:53 lt_serial.o Checking for modular isa-pnp.o Running test: depmod -e lt_modem.o lt_serial.o Test Ended If an output above includes: *** Unresolved symbols Please copy the whole output to the List discuss@linmodems.org rm -rf rpmball mkdir rpmball cp -f lt_modem.o lt_serial.o rpmball cp -af 1ST-READ CHANGELOG UPDATES-BUGS DOCs utils rpmball cp -f ltmodem.spec rpmball tar czf rpmball.tar.gz rpmball rpm -tb --clean rpmball.tar.gz Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.77491 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.77491 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.77491 Cleaning files...done Compressing files...done Stripping files...done Relativisation of symlinks...done Clean perl...done Building libraries symlinks...done Processing files: ltmodem-kv_2.4.4-5.99a4-1 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.6934 Finding Provides: (using /usr/lib/rpm/find-provides)... Finding Requires: (using /usr/lib/rpm/find-requires)... PreReq: /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: kernel = 2.4.4 Wrote: /usr/src/RPM/RPMS/i686/ltmodem-kv_2.4.4-5.99a4-1.i686.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.87891 Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.87891 rm -rf rpmball rpmball.tar.gz Install the generated rpm with the command rpm -i ltmodem-kv_2.4.4-5.99a4-1.i686.rpm or rpm -Uvh ltmodem-kv_2.4.4-5.99a4-1.i686.rpm -------------------------------------------------------------------------- At this point you may install the ltmodem.rpm # rpm -Uvh ltmodem-kv_2.4.4-5.99a4-1.i686.rpm ltmodem-kv_2.4.4 ################################################## Made device file /dev/ttyLT0 group ownership set to uucp Made symbolic link /dev/modem --> /dev/ttyLT0 Using /etc/modules.conf: You can now do some tests: # modprobe lt_serial # lsmod Module Size Used by lt_serial 20976 0 (unused) lt_modem 315872 0 [lt_serial] If you've got modular ISA-PNP support you should also see isa-pnp 28240 0 [lt_serial] in the list of loaded modules. The modules are unloaded with # rmmod lt_serial lt_modem isa-pnp Have a look at your /etc/modules.conf to check the lines that the install of the ltmodem.rpm has added: # lt_drivers: autoloading and insertion parameter usage alias char-major-62 lt_serial # options lt_modem vendor_id=0x115d device_id=0x0420 # options lt_serial Forced=3,0x130 # section for lt_drivers ends The "alias char-major-62 lt_serial" is there to enable demand loading of the drivers. The other options are only necessary in a small number of cases, you should read DOC/Insert_parm.html for more details. At this point you should be ready to use the modem to connect to the Internet. Tell your dial up program to use /dev/ttyLT0 or /dev/modem as the modem port, and you should be able to connect.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.