Find the answer to your Linux question:
Results 1 to 6 of 6
I recently installed Fedora Core 4, and I am trying to install a win modem (56k PCI Internal Data/Fax Modem, V.90 made by FMI), using a Linux driver. I am ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux User Tommaso's Avatar
    Join Date
    Oct 2005
    Posts
    292

    Problems installing a Modem Driver


    I recently installed Fedora Core 4, and I am trying to install a win modem (56k PCI Internal Data/Fax Modem, V.90 made by FMI), using a Linux driver. I am having trouble installing the slmodem-2.9.9d.tar.gz and I don’t know what is wrong. I will provide both the instruction file, and the output from my terminal.

    Here are part of the instructions:

    2 Smartlink Modems/chipsets setup

    After you have run scanModem and have verified that you need slmodem-2.9.X visit Smartlink website(http://www.smlink.com/main/index1.php?ln=en&main_id=40 ) and download slmodem-2.9.10 or latest published linux driver. Read the readme and apply the following steps. Here are the main steps to installing smartlink drivers

    At present, better take the most recent 2.9.9 file from our site because updates in maintained 2.9.9 supersede unmainted 2.9.10.
    OS: Linux 2.4. You need the kernel header files at least (or full kernel source tree) installed and configured. Linux 2.6. You need the full kernel source tree installed and configured.
    Note: Most Linux Distributions have 'ready to use' kernel source package - be sure that this is installed.

    $ tar -zxvf slmodem-2.9.X.tar.gz
    $ cd slmodem-2.9.X
    $ make KERNEL_DIR=/path/to/linux ...
    $ make
    As 'root' user run:
    # make install
    Uninstallation.
    # make uninstall

    # modprobe slamr
    # modprobe slusb
    # /usr/sbin/slmodemd --country=USA /dev/slamr0
    for SmartUSB56 Modems:
    # /usr/sbin/slmodemd --country=ITALY /dev/slusb0
    Config your application to use this link '/dev/ttySL0' (or PTY node
    itself) as modem port.

    Known application notes:

    - 'wvdial' requires option 'Carrier Check = no' in config file

    - some versions of 'kppp' may not work properly with devices named
    like '/dev/ttySL0'. To workaround this you may create symbolic link
    '/dev/modem' ( # ln -s /dev/ttySL0 /dev/modem ) and use this link
    as modem device with 'kppp'



    Here is the output from my terminal.

    [Tommaso@localhost ~]$ tar -zxvf slmodem-2.9.9d.tar.gz
    slmodem-2.9.9d/
    slmodem-2.9.9d/Makefile
    slmodem-2.9.9d/COPYING
    slmodem-2.9.9d/Changes
    slmodem-2.9.9d/drivers/
    slmodem-2.9.9d/drivers/amrlibs.o
    slmodem-2.9.9d/drivers/Makefile
    slmodem-2.9.9d/drivers/amrmo_init.c
    slmodem-2.9.9d/drivers/kernel-ver.c
    slmodem-2.9.9d/drivers/old_st7554.c
    slmodem-2.9.9d/drivers/st7554.c
    slmodem-2.9.9d/drivers/sysdep_amr.c
    slmodem-2.9.9d/README
    slmodem-2.9.9d/modem/
    slmodem-2.9.9d/modem/dsplibs.o
    slmodem-2.9.9d/modem/Makefile
    slmodem-2.9.9d/modem/dp_dummy.c
    slmodem-2.9.9d/modem/dp_sinus.c
    slmodem-2.9.9d/modem/homolog_data.c
    slmodem-2.9.9d/modem/modem.c
    slmodem-2.9.9d/modem/modem.h
    slmodem-2.9.9d/modem/modem_at.c
    slmodem-2.9.9d/modem/modem_cmdline.c
    slmodem-2.9.9d/modem/modem_comp.c
    slmodem-2.9.9d/modem/modem_datafile.c
    slmodem-2.9.9d/modem/modem_debug.c
    slmodem-2.9.9d/modem/modem_debug.h
    slmodem-2.9.9d/modem/modem_defs.h
    slmodem-2.9.9d/modem/modem_dp.h
    slmodem-2.9.9d/modem/modem_ec.c
    slmodem-2.9.9d/modem/modem_homolog.h
    slmodem-2.9.9d/modem/modem_main.c
    slmodem-2.9.9d/modem/modem_pack.c
    slmodem-2.9.9d/modem/modem_param.c
    slmodem-2.9.9d/modem/modem_param.h
    slmodem-2.9.9d/modem/modem_test.c
    slmodem-2.9.9d/modem/modem_timer.c
    slmodem-2.9.9d/modem/modem_timer.h
    slmodem-2.9.9d/modem/sysdep_common.c
    slmodem-2.9.9d/patches/
    slmodem-2.9.9d/patches/alsa-linux-2.6.0.patch
    slmodem-2.9.9d/scripts/
    slmodem-2.9.9d/scripts/debian/
    slmodem-2.9.9d/scripts/debian/slmodemd
    slmodem-2.9.9d/scripts/slmodem.spec
    slmodem-2.9.9d/scripts/slmodemd
    slmodem-2.9.9d/scripts/mandrake/
    slmodem-2.9.9d/scripts/mandrake/slmodemd
    slmodem-2.9.9d/scripts/suse/
    slmodem-2.9.9d/scripts/suse/slmodemd.SUSE
    slmodem-2.9.9d/scripts/suse/slmodemd.conf
    [Tommaso@localhost ~]$ cd slmodem-2.9.9d
    [Tommaso@localhost slmodem-2.9.9d]$ make KERNEL_DIR=/path/to/linux
    make -C modem all
    make[1]: Entering directory `/home/Tommaso/slmodem-2.9.9d/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.cgcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
    modem.c: In function ‘modem_reset’:
    modem.c:1604: error: invalid storage class for function ‘sregs_init’
    modem.c:1616: warning: implicit declaration of function ‘sregs_init’
    modem.c: At top level:
    modem.c:1630: error: static declaration of ‘sregs_init’ follows non-static declaration
    modem.c:1616: error: previous implicit declaration of ‘sregs_init’ was here
    make[1]: *** [modem.o] Error 1
    make[1]: Leaving directory `/home/Tommaso/slmodem-2.9.9d/modem'
    make: *** [modem] Error 2
    [Tommaso@localhost slmodem-2.9.9d]$ make
    make -C modem all
    make[1]: Entering directory `/home/Tommaso/slmodem-2.9.9d/modem'
    gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
    modem.c: In function ‘modem_reset’:
    modem.c:1604: error: invalid storage class for function ‘sregs_init’
    modem.c:1616: warning: implicit declaration of function ‘sregs_init’
    modem.c: At top level:
    modem.c:1630: error: static declaration of ‘sregs_init’ follows non-static declaration
    modem.c:1616: error: previous implicit declaration of ‘sregs_init’ was here
    make[1]: *** [modem.o] Error 1
    make[1]: Leaving directory `/home/Tommaso/slmodem-2.9.9d/modem'
    make: *** [modem] Error 2
    [Tommaso@localhost slmodem-2.9.9d]$ su
    Password:
    [root@localhost slmodem-2.9.9d]# make install
    make -C modem all
    make[1]: Entering directory `/home/Tommaso/slmodem-2.9.9d/modem'
    gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -o modem.o -c modem.c
    modem.c: In function ‘modem_reset’:
    modem.c:1604: error: invalid storage class for function ‘sregs_init’
    modem.c:1616: warning: implicit declaration of function ‘sregs_init’
    modem.c: At top level:
    modem.c:1630: error: static declaration of ‘sregs_init’ follows non-static declaration
    modem.c:1616: error: previous implicit declaration of ‘sregs_init’ was here
    make[1]: *** [modem.o] Error 1
    make[1]: Leaving directory `/home/Tommaso/slmodem-2.9.9d/modem'
    make: *** [modem] Error 2
    [root@localhost slmodem-2.9.9d]# modprobe slamr
    bash: modprobe: command not found
    [root@localhost slmodem-2.9.9d]#


    I don't know why the command modprobe is not working, I thinking it might have something to do with the error messages i get before. If anyone has any idea what is wrong, help would be appreciated.

  2. #2
    Linux User
    Join Date
    Aug 2005
    Location
    Italy
    Posts
    401

    Compile errors...

    Your driver doesn't compile cleanly!

    There are errors in the sources or you are compiling with the wrong gcc version. Try to change gcc version or source version...

    Try also to use different Linux kernel versions.
    When using Windows, have you ever told "Ehi... do your business?"
    Linux user #396597 (http://counter.li.org)

  3. #3
    Linux User Tommaso's Avatar
    Join Date
    Oct 2005
    Posts
    292

    Whats a gcc?

    Sorry, but i'm not really sure what a gcc is?

  4. $spacer_open
    $spacer_close
  5. #4
    Just Joined! caressmedown's Avatar
    Join Date
    Oct 2005
    Location
    states
    Posts
    18
    Yeah i have similar drivers to you.
    my disk came with slmdm-2.7.14.tar, and slmodem-2.9.7.tar
    the numbers after them, i don't know the significance of. at first i thought it was Kernel version, then i realized kernel is only at 2.6... i guess they're probably version numbers, but why whould they give me an old set and new set of drivers.

    i don't really understand what it means by this
    Linux 2.4. You need the kernel header files at least (or full kernel source tree) installed and configured. Linux 2.6. You need the full kernel source tree installed and configured.
    My readme also has these instruction for makeing an RPM so i figured that would make it easy. but it couldn't find the "rpm -ta" command. then i tried i think the "rpm -p" for package and that didn't work.

    1. Build SRPM and RPM from tar.gz package:

    In order to build RPM and SRPM run command:

    # rpm -ta slmdm-2.X.X.tar.gz

    It will build in your RPM directory:
    - slmdm-2.X.X-Y.src.rpm - Source SRPM package
    - slmdm-2.X.X-Y.i386.rpm - Core Modem RPM package
    - slmdm-amr-2.X.X-Y.i386.rpm - AMR/CNR/PCI Modem driver
    - slmdm-usb-2.X.X-Y.i386.rpm - USB Modem driver

    2. Install

    To install Modem core package run:

    # rpm -i /path/to/slmdm-2.X.X-Y.i386.rpm

    To install Modem hw driver run:

    # rpm -i /path/to/slmdm-amr-2.X.X-Y.i386.rpm

    if you are going to use AMR/CNR/PCI Modem, or

    # rpm -i /path/to/slmdm-usb-2.X.X-Y.i386.rpm

    if you are going to use SmartUSB56 Modem.

    Note: currently you cannot install and use both AMR/CNR/PCI and USB Modems.

    3. Uninstall.

    # rpm -e slmdm slmdm-<amr|usb>
    it's so damn frustrating

  6. #5
    Linux User
    Join Date
    Aug 2005
    Location
    Italy
    Posts
    401

    OK...

    GCC i a compiler collection (GNU COMPILER COLLECTION). A compile builds a binary code executable on the host machine using sources as input.

    The errors you can see on your output are GCC errors, so, compiling errors. Ti find a reason why these errors happens you must have programming knowledge...

    Now, I guess you are not a programmer, so I suggest to install kernel sources, configure and install it. Then, keeping sources in /usr/src/ you try to build smart link drivers for your modem. One installed them, load the modem kernel module (built by you), and try to configure everything needed.

    I've used so far that driver, and last times it needs a kind of daemon wich "link" modem with a virtual terminal, simulating the modem behavior... see README and INSTALL files... they will explain (I hope for you )

    If some version doesn't seem to work... try different driver version (even older) , built and install it, and try to connect.... so on...

    If you're lucky, you can "pon" to surf... If not... write here

    ps. there are a lot of howto for kernel configuration, kernel compilation, kernel module drivers...
    When using Windows, have you ever told "Ehi... do your business?"
    Linux user #396597 (http://counter.li.org)

  7. #6
    Just Joined!
    Join Date
    Sep 2007
    Posts
    4

    Winmodem

    (if you use this method you can forget about the rpms no rpm will be needed to be installed for you to get the modem running.)
    RATHER THAN EXTERNAL MODEMS internal modems offloads a lot of funtionality to the software driver.it has always been a big problem to configure those internal modems or(WINMODEMS/LINMODEMS) to work with linux because of manufacturers not supporting linux (and also the driver being pretty much more complex than ) But due to a great person Linux maintainer Sasha Khapyorsky writing the neccassary drivers needed to work the winmodem , now using a internal modem in linux has become as easy as ABC.


    Linux maintainer: Sasha Khapyorsky. Get his updated software from:
    http://linmodems.technion.il/packages/smartlink/


    what to do.

    1. download a software called scanmodem from the foresaid site.

    2. Browse A Linmodems support page and download scanModem.gz .
    Within a Linux partition open up a console and type in the following commands
    gunzip scanModem.gz
    To make it executable:
    chmod +x scanModem
    Run diagnositics with:
    ./scanModem
    3.scanmodem will check your hardware and software and then write its diagnostics to a subdir called modem.

    4.open the ModemData.txt file.and go to -----------end Softmodem section----------- part .

    5.it will give the softwares you need to download and install.

    6.if u have not installed the source at the installation of the distro. please install it.(source of the kernel) from the installation cd/dvd.

    7.then install the downloaded software.

    8.go to scanmodem/modem and open the diagnostic file chipsetname.txt eg:Smartlink.txt/conexant.txt .

    9.In the start of the doc it gives the commands you have to run at the console to load the drivers that u downloaded and installed.

    10.make sure that the smpppd, pppd services are installed and running.else install both and remember to enable them.

    11.dial up using kinternet(i prefer it) or kppp. put to stupid mode option..now configure kinternet and the modem properly.to do that
    goto yast->network devices ->modem.
    1.choose your modem device and press edit.
    enter modem device as /dev/ttySL0 and enter the details of the isp. if you are not sure call customer support for internet of your isp (internet provider) and get the required details such as number to dial and prefix.username
    and password.

    2.remember to definitely check the box for stupid mode.

    now every thing is set up

    enjoy the internet with a great browser like firefox/opera.!!!!!!!
    (with this you do not need any rpm for you to download,what you compile is enough)
    Last edited by devils casper; 02-06-2008 at 12:49 PM. Reason: removed personal info

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •