[root@localhost ltmodem-8.31a7]# ./build_module && ./ltinst2 && ./autoload Lucent/Agere_Systems(AS) DSP chip modems (but Not the AMR of soft PCI chipsets) are supported by the the resources of this kit. AS maintainer S. Sarkar develops the code on a Red Hat Linux test bed. The lt_serial.o Serial Interface module comes under GPL and is Open Source. The lt_modem.o code is entirely proprietary, though partially Open Source. Adaptation to ongoing changes in Linux source code is enabled by the Open Source components. Critical AS proprietary information is pre-complied in ltmdmobj.o, whose constituents are functionally not affected by minor Linux source code changes. Volunteer maintainers periodically receive code updates from AS. Through the contributions of Many described in CREDITS, there are enhancements in utility, ease of installation and documentation. Mark Spieth initiated this ltmodem compiler kit series. Chris Hebeisen introduced the Configure implementation, bringing Newbie friendliness. Marv Stodolsky is culpable for the verbose messaging. Within DOCs/, Ltmodem.html has URLs to many particular usage cases. Volunteers assemble the ltmodem-version.deb and ltmodem-version.rpm Installers for the User Community as Linux source code evolves utiliizing the resources of this compiler kit series. If new to compiling, please first run: utils/ksp.sh to set up your kernel-sources properly. The kernel-source package as installed does NOT in general match an installed kernel, but one of several alternative kernels. Thus with a niave usage, all could be completed well technically. BUT the installed drivers might not be compatible with your kernel, of even reside in the needed /lib/modules/Kernel_Version/ tree. To continue, Enter This compilation process is likely Not necessary to work through, if the only need is modem drivers matching the standard kernel of the following Linux distributions: Debian, Red Hat, Mandrake, SuSE and Connectiva Volunteers have already compiled most standard drivers. Those available as of this 8.31a7 release are embedded in utils/scanmodem, and any compatible with your System requirements will be later listed. They are available for download as ltmodem-version.rpm and ltmodem-version.deb Installers from a repository, http://ltmodem.heby.de If your System can use one of these Installers, you will be informed below. The compiling process is a learning experience for Newbies. We strongly recommend that you DO learn it sometime. But getting on the Internet under Linux should have first priority. This kit provides several diagnostics aids and good documentation. Continuing will do no harm. Useful diagnostic information on your system will be written to BLDrecord.txt, with direction to documentation if a failure occurs. At a minimum, Do keep the DOCs/ and utils/ folders and become familiar with the resources therein. To continue: Enter ================================================================= This is the version 8.31a7 of the compiler + installer kit 8.31 corresponds to the version of the core Agere Systems DSP code. a7 designation that follows reflects NO improvement in DSP code. Rather peripheral driver, added diagnostics and installer improvements are reflected. They are progressively implemented as Users report problems or the Linux kernel evolves. The modem drivers will serve with Linux kernels beginning with 2.2.2, the current 2.4.nn series, and the 2.5.nn development kernels. However support was broken in the early 2.4.n-test series. When there is a Red Hat 2.6.nn release, AS will then update the code If your PC is being well served with this 8.31a7, there is NO Benefit in using a more recent version until there is an update in the Agere driver code, say 8.26 to 9.00. But if the driver installation for a new kernel should in some way fail, please do download the most recent ltmodem-VER.tar.gz before sending a query to discuss@linmodems.org, because the problem may already be solved. This build_module script only compiles drivers, with their installation managed by subsequent commands. Thus ./build_module can be rerun for education or amusement, without as yet committing changes to your System. For general instructions: Enter ================================================================= All should work automatically for most Linux installations/distributions, IF a complete kernel-headers/ folder is available: through a symbolic link: /lib/modules/KernelVersion/build --> PATH_to/kernel-headers/ at the classical /usr/src/ position. Otherwise a symbolic link will be necessary: ln -s PATH_to/kernel-headers/ /usr/src/linux Read DOCs/Compile-properly.txt and 1ST-READ if an explanation is needed about kernel-headers. To compile modules for a kernel other version than 2.6.5-1.358, such as version 2.2.17-3test, use syntax: ./build_module 2.2.17-3test where the version.h in the kernel-headers/ folder has 2.2.17-3test If desirable to make a record for trouble shooting purposes, Abort with Ctrl-C. Then the process can be recorded to ltrecord.txt : ./build_module | tee ltrecord.txt To continue: Enter ==================================================================== Diagnostic information is progressively being written to BLDrecord.txt . Often, contents of BLDrecord.txt will aid in solving a problem. The Linux distribution is: redhat, Fedora Core release 2 (Tettnang) End of distribution check. UPDATE=2004 July 7 Providing detail for device at PCI_bus 02:0a.0 with vendor-ID:device-ID ----:---- Class 0780: 11c1:048c Communication controller: Lucent Microelectronics V.92 56K WinModem (rev 02) SubSystem 11c1:044c Lucent Microelectronics: Unknown device 044c Flags: bus master, medium devsel, latency 32, IRQ 11 Memory at de000000 (32-bit, non-prefetchable) I/O ports at c000 [size=8] To continue: Enter ================================================== Checking for any preliminary complications. The kernel supports only single processor motherboards. To continue: Enter ================================================== OK thus far. To begin acquisition of compiling information: Enter Removing old makings and expanding a clean source.tar.gz Setting BLDrecord.txt link within source/ folder. lrwxrwxrwx 1 root root 16 Jul 17 17:10 BLDrecord.txt -> ../BLDrecord.txt Setting ./tmpfile link within source/ folder. lrwxrwxrwx 1 root root 12 Jul 17 17:10 ./tmpfile -> .././tmpfile Following a successful check for matching kernel-headers, the modem drivers will be compiled for the current kernel version: 2.6.5-1.358 To start resource tests: Enter Performing a configure trial and capturing the report to ../conf-report.txt. Parsing the report: No evident problems. creating cache ./config.cache Checking OS Checking machine type Processor i686 is supported. checking for gcc... 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... yes checking whether gcc accepts -g... yes Checking gcc major version 3 Checking for rpm build... rpmbuild checking for a BSD compatible install... /usr/bin/install -c checking for make... yes checking for ld... yes Checking for kernel headers ... in /usr/src/linux: nope ... in /usr/src/kernel-headers-2.6.5-1.358: nope ... in /usr/src/linux-2.6.5: nope ... in /usr/src/linux-2.6.5-1.358: nope ... in /lib/modules/2.6.5-1.358/build: Kernel headers found in /lib/modules/2.6.5-1.358/build using /lib/modules/2.6.5-1.358/build Checking kernel header version kernel headers are version 2.6.5-1.358 RPM will require kernel = 2.6.5-1.358 has irq_spinlock in async_struct 0 checking for fakeroot... no +-----------------------------------------------------------------------------+ | will have to be root. Otherwise this won't affect you. | +-----------------------------------------------------------------------------+ updating cache ./config.cache creating ./config.status creating Makefile creating autoload creating cleanup creating ltmodem.spec The check for compilation tools and general resources was successful. Within DOCs/ there is an annotated conf-report.txt The Makefile and down steam installation scripts have been created. Next checking utilty versions, Version_min Utility or range for kernels name 2.2.16 2.4.18 Actual_version ------------------------------------------------------------------- Gnu C 2.7.2.3 2.95.3-2.9.99 3.3.3 Gnu make 3.77 3.79.1 binutils 2.8.1.0.23 2.9.1.0.25 2.15.90.0.3 ------------------------------------------------------------------- The gcc compiler resources available are: ---------------------------- -rwxr-xr-x 2 root root 84852 Apr 13 23:28 /usr/bin/gcc -rwxr-xr-x 2 root root 93152 Apr 21 10:36 /usr/bin/gcc34 ---------------------------- with your System currently using version 3.3.3 Do NOT mix the major versions of compilers for the kernel and modem drivers or your System will crash! The following releases are using gcc version 3.2.x : Mandrake 9, Redhat 8 and SuSE 8.1 in November 2002. To continue: Enter To begin compilation of lt_modem.o and lt_serial.o, Enter To avoid faulting Systems with an Enviromental setting: make -e make is the compiling command used with build_module. To modify "make" invocation on your System, if desirable, edit the build_module line below: MAKEE Using KCFLAGS for gcc version 3.x gcc -D__KERNEL__ -I/lib/modules/2.6.5-1.358/build/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DLT_VERSION=8.31a7 -DLINUX -DNO_EEPROM -DLT_SERIAL_MODULE=lt_serial -I/lib/modules/2.6.5-1.358/build/include/asm/mach-default -DLTTTYNAME=\"LTM\" -mpreferred-stack-boundary=2 -fno-common -iwithprefix /lib/modules/2.6.5-1.358/build/include -march=pentium3 -DOMIT_EXPORTSYMTAB -mregparm=3 -DASMLINKAGE=asmlinkage -DKBUILD_BASENAME=ltmodem -DKBUILD_MODNAME=lt_modem -c -o ltmodem.a ltmodem.c ltmodem.c: In function `dp_regread': ltmodem.c:478: warning: `flags' might be used uninitialized in this function objcopy -W x_input --redefine-sym memset=ltmodem_memset ltmdmobj.o ./xxx.o ld -r -defsym x_input_orig=x_input -o ./xxx1.o ./xxx.o ld -r -d -o lt_modem.o ltmodem.a ./xxx1.o rm -f ./xxx.o rm -f ./xxx1.o #ld -r -o lt_modem.o ltmodem.a ltmdmobj.o Using KCFLAGS for gcc version 3.x gcc -D__KERNEL__ -I/lib/modules/2.6.5-1.358/build/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DLT_VERSION=8.31a7 -DLINUX -DNO_EEPROM -DLT_SERIAL_MODULE=lt_serial -I/lib/modules/2.6.5-1.358/build/include/asm/mach-default -DLTTTYNAME=\"LTM\" -mpreferred-stack-boundary=2 -fno-common -iwithprefix /lib/modules/2.6.5-1.358/build/include -march=pentium3 -DOMIT_EXPORTSYMTAB -mregparm=3 -DASMLINKAGE=asmlinkage -DKBUILD_BASENAME=serial-lt-2.6 -DKBUILD_MODNAME=lt_serial -c -o serial-lt-2.6.a serial-lt-2.6.c ld -r -d -o lt_serial.o serial-lt-2.6.a gcc -I/lib/modules/2.6.5-1.358/build/include -o modpost modpost.c file2alias.c sumversion.c sumversion.c: In function `parse_source_files': sumversion.c:331: warning: assignment makes pointer from integer without a cast sumversion.c:342: warning: assignment makes pointer from integer without a cast sumversion.c:363: warning: assignment makes pointer from integer without a cast ./modpost -i /lib/modules/2.6.5-1.358/build/Module.symvers ./lt_modem.o ./lt_serial.o *** Warning: "ltmodemDependency" [./lt_serial.ko] has no CRC! gcc -D__KERNEL__ -I/lib/modules/2.6.5-1.358/build/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DLT_VERSION=8.31a7 -DLINUX -DNO_EEPROM -DLT_SERIAL_MODULE=lt_serial -I/lib/modules/2.6.5-1.358/build/include/asm/mach-default -DLTTTYNAME=\"LTM\" -mpreferred-stack-boundary=2 -fno-common -iwithprefix /lib/modules/2.6.5-1.358/build/include -march=pentium3 -DOMIT_EXPORTSYMTAB -mregparm=3 -DASMLINKAGE=asmlinkage -DKBUILD_BASENAME=lt_modem -DKBUILD_MODNAME=lt_modem -c -o lt_modem.mod.o lt_modem.mod.c ld -r -o lt_modem.ko lt_modem.o lt_modem.mod.o gcc -D__KERNEL__ -I/lib/modules/2.6.5-1.358/build/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -DMODULE -DLT_VERSION=8.31a7 -DLINUX -DNO_EEPROM -DLT_SERIAL_MODULE=lt_serial -I/lib/modules/2.6.5-1.358/build/include/asm/mach-default -DLTTTYNAME=\"LTM\" -mpreferred-stack-boundary=2 -fno-common -iwithprefix /lib/modules/2.6.5-1.358/build/include -march=pentium3 -DOMIT_EXPORTSYMTAB -mregparm=3 -DASMLINKAGE=asmlinkage -DKBUILD_BASENAME=lt_serial -DKBUILD_MODNAME=lt_serial -c -o lt_serial.mod.o lt_serial.mod.c ld -r -o lt_serial.ko lt_serial.o lt_serial.mod.o rm lt_modem.mod.o lt_serial.mod.o lt_modem.mod.c lt_serial.mod.c Checking for driver products: -rw-r--r-- 1 root root 560395 Jul 17 17:10 lt_modem.ko -rw-r--r-- 1 root root 21256 Jul 17 17:10 lt_serial.ko ================================================= Enter, to begin modules dependencies test. Using /sbin/depmod Running: /sbin/depmod -e lt_modem.ko The test succeeded. Running: /sbin/depmod -e lt_modem.ko lt_serial.ko The test succeeded. There are occassionally failures in the more global test: depmod -a executed after the drivers are installed, reflecting a lack of exact Flavor matching of the kernel-headers and kernel-2.6.5-1.358 Thus far this problem has only been encountered for Red Hat Linux =========================================================================== Enter, to finish ./build_module Copying newly compiled drivers to folder ../drivers-2.6.5-1.358 as a backup, as the source/ folder will be deleted during next run of: build_module rm: cannot remove `../drivers-2.6.5-1.358/ltmdmobj.o': No such file or directory total 576 -rw-r--r-- 1 root root 560395 Jul 17 17:10 lt_modem.ko -rw-r--r-- 1 root root 21256 Jul 17 17:10 lt_serial.ko Making symbolic links: lt_modem.ko lt_serial.o autoload ltinst2 ltuninst2 A diagnostic record has been saved to BLDrecord.txt and BLDrecord.txt.2 To install the modem drivers in the Search Path for modules, run: ./ltinst2 This command does require Root permission. For advanced User alternatives to this installation route, involving assembly of RPM or Debian installers, read DOCs/Options.txt Using /sbin/depmod Proceeding with the modem drivers installation: /usr/bin/install -c -m644 --owner=0 --group=0 -b -D lt_modem.ko /lib/modules/2.6.5-1.358/ltmodem/lt_modem.ko /usr/bin/install -c -m644 --owner=0 --group=0 -b -D lt_serial.ko /lib/modules/2.6.5-1.358/ltmodem/lt_serial.ko The modem drivers are now installed in the standard modules path: /lib/modules/2.6.5-1.358/ltmodem/lt_modem.ko /lib/modules/2.6.5-1.358/ltmodem/lt_serial.ko with ownership by root. Informing the System, including a check of dependencies with: /sbin/depmod -a The modem drivers passed the dependency test. The drivers can be removed from the modules search PATH with: ./ltuninst2 The next installation command is: ./autoload Under ./autoload the modem device node is created. and autoloading of the modem drivers through amendments to /etc/modules.conf So unless you are a Linux expert, it is strongly recommended to next run: ./autoload OR ./autoload | tee -a ltrecord.txt to continue recording. Diagnostic information and Guidance is being written to BLDrecord.txt The modem symbolic link is: /dev/modem -> /dev/ttyLT0 The current modem port is: /dev/ttyLT0 Modem device node is: /dev/ttyLT0 with access by members of the /etc/group uucp Current membership is uucp:x:14:uucp The modem symbolic link is: /dev/modem --> /dev/ttyLT0 /etc/modprobe.conf contains lines for autoloading the ltmodem driver. grep: /etc/modules.conf: No such file or directory grep: /etc/modules.conf: No such file or directory Browse /root/ltmodem-8.31a7 for guidance and tools. If not familar with the ltmodem drivers, run the interactive CHECKOUT utility by executing: ./checkout Otherwise, get Online and Enjoy Relate problems to discuss@linmodems.org Gratitude too, to discuss@linmodems.org [root@localhost ltmodem-8.31a7]#