01.23.07
Installing slmodem driver on Fedora Core 6
A legacy program we have requires to use a modem to dial-up. The modem is Diamond SupraMax LE internal PCI modem, and the oprating system is Fedora Core 6. Because the modem is using a SmartLink chip, my initial try was to build slmodem downloaded from:
http://linmodems.technion.ac.il/packages/smartlink/slmodem-2.9.11-20061021.tar.gz
Note: For newest Smartlink linmodem driver, you can go to: http://linmodems.technion.ac.il/packages/smartlink/
Unfortuantely, when I was trying to build the package (”make”), it returns an error about unknown “config.h” file in the kernel. After searching around, I found a slmodem-alsa RPM (search slmodem from rpmfind.net). There is a rpm package for Fedora Core 6 and I have no problem installing the package. However, for some reason the package does not work. When I try to start the daemon, it gives me an error. After a whole afternoon’s trial and error, I almost gave up and was ready to try another modem. Then I find this article:
http://www20.brinkster.com/olivares/slmodemd-setup-1.html
This article addresses the problem with missing config.h, and it guides you step by step to modify Makefile and build the slmodem-2.9.11 source code.
The brief steps are:
1. download 2 files from here. You will need slmodem-2.9.11-XXXX.tar.gz (XXXX is the latest date) and ungrab-winmodem.tar.gz
2. extract both tarballs
3. comment out the lines with config.h in /slmodem-2.9.11-20061021/drivers/amrmo_init.c and /ungrab-winmodem/ungrab-winmodem.c
4. add as a single line to /etc/modprobe.conf:
install slamr modprobe –ignore-install ungrab-winmodem ; modprobe –ignore-install slamr; test -e /dev/slamr0 || (/bin/mknod -m 660 /dev/slamr0 c 242 0 2>/dev/null && chgrp uucp /dev/slamr0)
5. copy /scripts/slmodemd from source code folder to /etc/rc.d/init.d/, and “chmod +x slmodemd”
6. modprobe ungrab-winmodem and slamr in slmodemd file
trick: search for “start()” and add these two lines below right after “start() {”
modprobe ungrab-winmodem
modprobe slamr
7. do chkconfig (seriously, I am not a Linux person, and I am not sure what’s this for, but it makes my build successful)
[root@localhost init.d]# chkconfig slmodemd –add
[root@localhost init.d]# chkconfig slmodemd on
[root@localhost init.d]# cd ..
[root@localhost rc.d]# for i in 0 1 2 3 4 5 6
> do
> ls rc$i.d/*slmodemd*
> done
rc0.d/K10slmodemd
rc1.d/K10slmodemd
rc2.d/S90slmodemd
rc3.d/S90slmodemd
rc4.d/S90slmodemd
rc5.d/S90slmodemd
rc6.d/K10slmodemd
[root@localhost rc.d]#
[root@localhost rc.d]# chkconfig slmodemd –list
slmodemd 0:off 1:off 2:on 3:on 4:on
5:on 6:off
[root@localhost rc.d]#
8. now you can “make” and “make install” for both packages.
The instruction I listed is just a brief ones, and I really recommend you check the original post and follow their instrustions. I take no credit for their good work at all! I need to thank them for make my modem works.
Sreejith` said,
October 12, 2007 at
make: Entering an unknown directory
make: *** /lib/modules/2.6.18-1.2798.fc6/build: No such file or directory. Stop.
make: Leaving an unknown directory
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/slmodem-2.9.11-20061021/drivers’
make[1]: *** [all] Error 2
Sreejith` said,
October 12, 2007 at
slmodemd 0:off 1:off 2:on 3:on 4:on
5:on 6:off
[root@localhost rc.d]#
8. now you can “make” and “make install” for both packages
The error given above occurs while #make