First check with scanModem
scanModem utility
To run scanModem, download it and run
$ gunzip scanModem.gz
$ chmod +x scanModem
become su -
$ su -
password
# cd to where scanModem is at
# ./scanModem
it will generate some files with the information that you need to determine the files/drivers that you need.
If the files generate something like
For candidate modem in PCI bus: 00:08.0
Class 0703: 163c:3052 Modem: Smart Link Ltd. SmartLink SmartPCI562 56K Modem
Primary PCI_id 163c:3052
Support type needed or chipset: slamr
then you will need to download
slmodem-2.9.11-20070505 or latest
and
ungrab-winmodem-20070505.tar.gz or latest one
Upon installing a new(er) kernel, everytime a new compilation of slmodemd is needed. Here's an example of what is needed when one updates to a newer kernel. One needs to get the kernel-devel package also.
[olivares@localhost Documents]$ uname -a
Linux localhost.localdomain 2.6.20-1.2948.fc6 #1 SMP Fri Apr 27 19:48:40 EDT 2007 i686 athlon i386 GNU/Linux
[olivares@localhost Documents]$ su -
Password:
[root@localhost ~]# yum install kernel-2.6.20-1.2962.fc6 kernel-devel-2.6.20-1.2962.fc6 kernel-headers-2.6.20-1.2962.fc6 -y
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core 100% |=========================| 1.1 kB 00:00
updates 100% |=========================| 1.2 kB 00:00
extras 100% |=========================| 1.1 kB 00:00
Reading repository metadata in from local files
primary.xml.gz 100% |=========================| 824 kB 02:33
core : ################################################## 2242/2242
primary.xml.gz 100% |=========================| 513 kB 02:25
updates : ################################################## 1234/1234
primary.xml.gz 100% |=========================| 1.6 MB 05:19
extras : ################################################## 5158/5158
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for kernel-devel to pack into transaction set.
kernel-devel-2.6.20-1.296 100% |=========================| 737 kB 01:20
---> Package kernel-devel.i686 0:2.6.20-1.2962.fc6 set to be installed
---> Downloading header for kernel to pack into transaction set.
kernel-2.6.20-1.2962.fc6. 100% |=========================| 227 kB 00:47
---> Package kernel.i686 0:2.6.20-1.2962.fc6 set to be installed
---> Downloading header for kernel-headers to pack into transaction set.
kernel-headers-2.6.20-1.2 100% |=========================| 105 kB 00:34
---> Package kernel-headers.i386 0:2.6.20-1.2962.fc6 set to be updated
--> Running transaction check
--> Populating transaction set with selected packages. Please wait.
---> Package kernel-devel.i686 0:2.6.20-1.2925.fc6 set to be erased
---> Package kernel.i686 0:2.6.20-1.2925.fc6 set to be erased
--> Running transaction check
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
kernel i686 2.6.20-1.2962.fc6 updates 16 M
kernel-devel i686 2.6.20-1.2962.fc6 updates 4.8 M
Updating:
kernel-headers i386 2.6.20-1.2962.fc6 updates 664 k
Removing:
kernel i686 2.6.20-1.2925.fc6 installed 45 M
kernel-devel i686 2.6.20-1.2925.fc6 installed 14 M
Transaction Summary
=============================================================================
Install 2 Package(s)
Update 1 Package(s)
Remove 2 Package(s)
Total download size: 21 M
Downloading Packages:
(1/3): kernel-devel-2.6.2 100% |=========================| 56 kB 00:57
http://srl.cs.jhu.edu/YUM/fedora/core/updates/6/i386/kernel-devel-2.6.20-1.2962.fc6.i686.rpm: [Errno 4] Socket Error: timed out
Trying other mirror.
(1/3): kernel-devel-2.6.2 100% |=========================| 4.8 MB 13:32
(2/3): kernel-2.6.20-1.29 100% |=========================| 11 MB 35:52
http://mirror.cc.vt.edu/pub/fedora/linux/core/updates/6/i386/kernel-2.6.20-1.2962.fc6.i686.rpm: [Errno 4] Socket Error: timed out
Trying other mirror.
(2/3): kernel-2.6.20-1.29 100% |=========================| 16 MB 16:08
(3/3): kernel-headers-2.6 100% |=========================| 664 kB 02:02
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : kernel-headers ######################### [1/6]
Removing : kernel ######################### [2/6]
Installing: kernel-devel ######################### [3/6]
Installing: kernel ######################### [4/6]
Cleanup : kernel-devel ######################### [5/6]
Cleanup : kernel-headers ######################### [6/6]
Removed: kernel.i686 0:2.6.20-1.2925.fc6 kernel-devel.i686 0:2.6.20-1.2925.fc6
Installed: kernel.i686 0:2.6.20-1.2962.fc6 kernel-devel.i686 0:2.6.20-1.2962.fc6
Updated: kernel-headers.i386 0:2.6.20-1.2962.fc6
Complete!
[root@localhost ~]# chkconfig slmodemd off
I do this to avoid for initscripts to look for empty modules that have not been created.
[olivares@localhost ~]$ cd Downloads/slmodem-2.9.11-20070505
[olivares@localhost slmodem-2.9.11-20070505]$ make clean
make -C modem clean && make -C drivers clean && echo "done."
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
rm -f slmodemd modem_test modem_main.o modem_cmdline.o modem_test.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o sysdep_common.o
rm -f *~ *.orig *.rej
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
rm -f kernel-ver slamr.o slusb.o slamr.ko slusb.ko *st7554.o amrmo_init.o sysdep_amr.o *.mod.* .*.cmd *~
rm -f -r .tmp_versions
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
done.
[olivares@localhost slmodem-2.9.11-20070505]$
[olivares@localhost slmodem-2.9.11-20070505]$ uname -a
Linux localhost.localdomain 2.6.20-1.2962.fc6 #1 SMP Tue Jun 19 19:27:14 EDT 2007 i686 athlon i386 GNU/Linux
[olivares@localhost slmodem-2.9.11-20070505]$ ls /lib/modules/2.6.20-1.2962.fc6/build/
arch include lib scripts
block init Makefile security
crypto ipc mm sound
drivers kabi_whitelist Module.symvers symsets-2.6.20-1.2962.fc6.tar.gz
fs kernel net usr
[olivares@localhost slmodem-2.9.11-20070505]$
[olivares@localhost slmodem-2.9.11-20070505]$ make KERNEL_DIR=/lib/modules/2.6.20-1.2962.fc6/build/
make -C modem all
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_main.o -c modem_main.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_cmdline.o -c modem_cmdline.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_datafile.o -c modem_datafile.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_at.o -c modem_at.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_timer.o -c modem_timer.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_pack.o -c modem_pack.c
modem_pack.c: In function �modem_async_get_bits�:
modem_pack.c:100: warning: pointer targets in passing argument 2 of �m->get_chars� differ in signedness
modem_pack.c: In function �modem_async_put_bits�:
modem_pack.c:148: warning: pointer targets in passing argument 2 of �m->put_chars� differ in signedness
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_ec.o -c modem_ec.c
modem_ec.c: In function �tx_info�:
modem_ec.c:723: warning: pointer targets in passing argument 2 of �l->modem->get_chars� differ in signedness
modem_ec.c: In function �push_rest_data�:
modem_ec.c:811: warning: pointer targets in passing argument 2 of �l->modem->put_chars� differ in signedness
modem_ec.c: In function �rx_info�:
modem_ec.c:860: warning: pointer targets in passing argument 2 of �l->modem->put_chars� differ in signedness
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_comp.o -c modem_comp.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_param.o -c modem_param.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_debug.o -c modem_debug.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o homolog_data.o -c homolog_data.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_sinus.o -c dp_sinus.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o dp_dummy.o -c dp_dummy.c
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o sysdep_common.o -c sysdep_common.c
gcc -o slmodemd modem_main.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem_test.o -c modem_test.c
gcc -o modem_test modem_test.o modem_cmdline.o modem.o modem_datafile.o modem_at.o modem_timer.o modem_pack.o modem_ec.o modem_comp.o modem_param.o modem_debug.o homolog_data.o dp_sinus.o dp_dummy.o dsplibs.o sysdep_common.o
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make -C drivers KERNEL_DIR=/lib/modules/2.6.20-1.2962.fc6/build/
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
cc -I/lib/modules/2.6.20-1.2962.fc6/build//include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.6.20-1.2962.fc6
make[2]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make modules -C /lib/modules/2.6.20-1.2962.fc6/build/ SUBDIRS=/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers
make[3]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
CC [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/amrmo_init.o
CC [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/sysdep_amr.o
CC [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/st7554.o
LD [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slamr.o
LD [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slusb.o
Building modules, stage 2.
MODPOST 2 modules
WARNING: could not find /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/.amrlibs.o.cmd for /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/amrlibs.o
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_register_driver'
CC /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slamr.mod.o
LD [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slamr.ko
CC /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slusb.mod.o
LD [M] /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/slusb.ko
make[3]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
make[2]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
[olivares@localhost slmodem-2.9.11-20070505]$
[olivares@localhost slmodem-2.9.11-20070505]$ make
make -C modem all
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make -C drivers KERNEL_DIR=/lib/modules/2.6.20-1.2962.fc6/build
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
cc -I/lib/modules/2.6.20-1.2962.fc6/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.6.20-1.2962.fc6
make[2]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make modules -C /lib/modules/2.6.20-1.2962.fc6/build SUBDIRS=/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers
make[3]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
Building modules, stage 2.
MODPOST 2 modules
WARNING: could not find /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/.amrlibs.o.cmd for /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/amrlibs.o
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_register_driver'
make[3]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
make[2]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
[olivares@localhost slmodem-2.9.11-20070505]$
[olivares@localhost slmodem-2.9.11-20070505]$ su
Password:
[root@localhost slmodem-2.9.11-20070505]# make install
make -C modem all
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/modem'
make -C drivers KERNEL_DIR=/lib/modules/2.6.20-1.2962.fc6/build
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
cc -I/lib/modules/2.6.20-1.2962.fc6/build/include -o kernel-ver kernel-ver.c
make all KERNEL_VER=2.6.20-1.2962.fc6
make[2]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make modules -C /lib/modules/2.6.20-1.2962.fc6/build SUBDIRS=/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers
make[3]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
Building modules, stage 2.
MODPOST 2 modules
WARNING: could not find /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/.amrlibs.o.cmd for /home/olivares/Downloads/slmodem-2.9.11-20070505/drivers/amrlibs.o
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_deregister'
WARNING: modpost: GPL-incompatible module slusb.ko uses future GPL-only symbol 'usb_register_driver'
make[3]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
make[2]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make install -C drivers KERNEL_DIR=/lib/modules/2.6.20-1.2962.fc6/build
make[1]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
cc -I/lib/modules/2.6.20-1.2962.fc6/build/include -o kernel-ver kernel-ver.c
mkdir -p /dev
mknod -m 600 /dev/slamr0 c 242 0 ; mknod -m 600 /dev/slamr1 c 242 1 ; mknod -m 600 /dev/slamr2 c 242 2 ; mknod -m 600 /dev/slamr3 c 242 3 ; echo -n
mknod -m 600 /dev/slusb0 c 243 0 ; mknod -m 600 /dev/slusb1 c 243 1 ; mknod -m 600 /dev/slusb2 c 243 2 ; mknod -m 600 /dev/slusb3 c 243 3 ; echo -n
make install KERNEL_VER=2.6.20-1.2962.fc6
make[2]: Entering directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
install -D -m 644 slamr.ko /lib/modules/2.6.20-1.2962.fc6/extra/slamr.ko
install -D -m 644 slusb.ko /lib/modules/2.6.20-1.2962.fc6/extra/slusb.ko
/sbin/depmod -a
make[2]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
make[1]: Leaving directory `/home/olivares/Downloads/slmodem-2.9.11-20070505/drivers'
install -D -m 755 modem/slmodemd /usr/sbin/slmodemd
rm -f -rf /var/lib/slmodem
install -d -D -m 755 /var/lib/slmodem
[root@localhost slmodem-2.9.11-20070505]#
[root@localhost slmodem-2.9.11-20070505]# cd ../ungrab-winmodem-20070505
[root@localhost ungrab-winmodem-20070505]# make clean
rm -f *.o *.ko *.mod.* .*.cmd *~
rm -f -r .tmp_versions
[root@localhost ungrab-winmodem-20070505]# make
make modules -C /lib/modules/2.6.20-1.2962.fc6/build SUBDIRS=/home/olivares/Downloads/ungrab-winmodem-20070505
make[1]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
CC [M] /home/olivares/Downloads/ungrab-winmodem-20070505/ungrab-winmodem.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/olivares/Downloads/ungrab-winmodem-20070505/ungrab-winmodem.mod.o
LD [M] /home/olivares/Downloads/ungrab-winmodem-20070505/ungrab-winmodem.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
[root@localhost ungrab-winmodem-20070505]# make install
make modules -C /lib/modules/2.6.20-1.2962.fc6/build SUBDIRS=/home/olivares/Downloads/ungrab-winmodem-20070505
make[1]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
Building modules, stage 2.
MODPOST 1 modules
make[1]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
install -D -m 644 ungrab-winmodem.ko /lib/modules/2.6.20-1.2962.fc6/extra/ungrab-winmodem.ko
/sbin/depmod -a
[root@localhost ungrab-winmodem-20070505]#
[root@localhost ungrab-winmodem-20070505]# exit
exit
[olivares@localhost slmodem-2.9.11-20070505]$ su -
Password:
[root@localhost ~]# modprobe ungrab-winmodem
[root@localhost ~]# modprobe slamr
[root@localhost ~]# slmodemd -c USA /dev/slamr0
SmartLink Soft Modem: version 2.9.11 Jul 16 2007 01:44:39
symbolic link `/dev/ttySL0' -> `/dev/pts/1' created.
modem `slamr0' created. TTY is `/dev/pts/1'
Use `/dev/ttySL0' as modem device, Ctrl+C for termination.
[root@localhost ~]# chkconfig slmodemd on