For ThinkPad T20/T21 modem support the ltmodem.o module is needed. The module is missing from the "Laptop" install process and cannot be found on CD Bin1, Bin2, or PT. Downloading and building the current 5.78e release failes during the compile. These steps were taken: 0) Fresh install, Laptop path. 1) Install kernel-sources and kernel-docs 2) ln -s /usr/src/linux-2.4 /usr/src/linux 3) cd /tmp; tar -xzvf ltmodem-5.78e.tar.gz 4) cd ltmodem-5.78e; less 1ST-READ (RTFM!) 5) ./build_module cp -f linuxif.h linuxif-2.4.h cp -f ltmodem.c ltmodem-2.4.c patch -N -b -p0 < ltmodem-2.4.patch patching file linuxif-2.4.h patching file ltmodem-2.4.c cp -f serial.c.240 serial-lt-2.4.c patch -N -b -p0 < serial-2.4.patch patching file serial-lt-2.4.c gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -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.78e -c -o serial-lt-2.4.a serial-lt-2.4.c gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2 -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.78e -c -o ltmodem-2.4.a ltmodem-2.4.c In file included from ltmodem-2.4.c:21: /usr/src/linux/include/linux/sched.h:6: nondigits in number and not hexadecimal /usr/src/linux/include/linux/sched.h:6: nondigits in number and not hexadecimal /usr/src/linux/include/linux/sched.h:6: parse error before `7b16c344' /usr/src/linux/include/linux/sched.h:6: warning: function declaration isn't a prototype In file included from /usr/src/linux/include/linux/wait.h:13, from /usr/src/linux/include/linux/fs.h:12, from /usr/src/linux/include/linux/capability.h:17, from /usr/src/linux/include/linux/binfmts.h:5, from /usr/src/linux/include/linux/sched.h:9, from ltmodem-2.4.c:21: /usr/src/linux/include/linux/kernel.h:51: nondigits in number and not hexadecimal /usr/src/linux/include/linux/kernel.h:51: nondigits in number and not hexadecimal .... ltmodem-2.4.c: In function `lt_pcibios_read_config_word': ltmodem-2.4.c:34: `aa9effd7' undeclared (first use in this function) ltmodem-2.4.c:34: called object is not a function ltmodem-2.4.c: In function `lt_pcibios_read_config_byte': ltmodem-2.4.c:39: `d80115e1' undeclared (first use in this function) ltmodem-2.4.c:39: called object is not a function ltmodem-2.4.c: In function `lt_pcibios_read_config_dword': ltmodem-2.4.c:44: nondigits in number and not hexadecimal ltmodem-2.4.c:44: called object is not a function ltmodem-2.4.c: In function `lt_pci_present': ltmodem-2.4.c:74: nondigits in number and not hexadecimal ltmodem-2.4.c:74: nondigits in number and not hexadecimal ltmodem-2.4.c:74: called object is not a function ltmodem-2.4.c:75: warning: control reaches end of non-void function ltmodem-2.4.c: In function `lt_pci_find_device': ltmodem-2.4.c:94: `bfbfc466' undeclared (first use in this function) ltmodem-2.4.c:94: called object is not a function ltmodem-2.4.c:112: called object is not a function ltmodem-2.4.c:123: called object is not a function ltmodem-2.4.c: In function `lt_add_timer': ltmodem-2.4.c:166: nondigits in number and not hexadecimal ltmodem-2.4.c:166: nondigits in number and not hexadecimal ltmodem-2.4.c:166: nondigits in number and not hexadecimal ltmodem-2.4.c:169: `a19eacf8' undeclared (first use in this function) ltmodem-2.4.c:169: called object is not a function ltmodem-2.4.c: In function `VMODEM_Get_System_Time': ltmodem-2.4.c:175: called object is not a function make: *** [ltmodem-2.4.a] Error 1
You realize it is violation of the GPL to use this driver ? We do not support this.
Agreed RE GPL issues and why this drive is not included by default in the Red Hat distributions. Still, regardless of License the driver should be able to compile under 7.1 RC1. The compile fails on Wolverine and Florence, and Red Hat 7.0 GA. Compile works on Red Hat 6.2 + errata with 2.2.18 kernel. Possilbe problem with gcc when compiling this driver?
Oh, compile errors for Florence and RH7.0 are on systems at the office. If you need to see the compile errors I can get them for you on Monday.
More testing. ltmodem 5.78e compiles fine on RH7.0 + errata and 2.2.18 kernel. Ignore previous report of RH7.0 compile failures. Doing more testing it appears the problem is with the RH 2.4.1 kernel. Please confirm and if so move this to kernel category.
Has anyone been able to make this compile on a Red Hat 7.1 system yet? The more testing I do the more the problem appears to point to something strange with Red Hat 7.1 kernel or gcc stuff.
Sounds like the driver needs to be ported to the 2.4.x kernels. This is not a bug in the kernel.
It looks like the ThinkPad T20/T21 should NOT be in the "supported by Linux" hardware list, as there is no legal driver for the built-in modem. This IS a bug if we list the ThinkPad T20/T21 as supported. Assigning to anaconda to be taken of this list.
Actually, that's not how our supported hardware list works. There are so many winmodems out there that nearly every laptop would be listed as unsupported if we had that policy.