Find the answer to your Linux question:
Results 1 to 3 of 3
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Help installing drivers for smartlink linmodem.

    Hello. I am unable to install the drivers for my linmodem. It is a Smartlink SmartPCI562 56k modem. I am using mandriva 2005 LE. I downloaded the drivers from I then used cut and paste to put file 'slmodem-2.9.10.tar.gz' into 'file:/home/marcus/tmp'

    I then opened the console and typed
    (enter password)
    cd /home/marcus/tmp
    ls (to make sure file is in there)
    tar -xvzf slmodem-2.9.10.tar.gz
    cd slmodem-2.9.10 (it extracts to it's own directory)
    make install-amr

    All worked fine until I got to make install-amr
    I got this
    [root@localhost slmodem-2.9.10]# make install-amr
    make: *** No rule to make target `install-amr'. Stop.

    So no go.

    I then tried this
    [root@localhost slmodem-2.9.10]# make install

    and got this

    make -C modem all
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/modem'
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/modem'
    make -C drivers KERNEL_DIR=/lib/modules/2.6.11-6mdk/build
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    cc -I/lib/modules/2.6.11-6mdk/build/include -o kernel-ver kernel-ver.c
    make all KERNEL_VER=2.6.11
    make[2]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make modules -C /lib/modules/2.6.11-6mdk/build SUBDIRS=/home/marcus/tmp/slmodem-2.9.10/drivers
    make: *** /lib/modules/2.6.11-6mdk/build: No such file or directory. Stop.
    make: Entering an unknown directorymake: Leaving an unknown directorymake[2]: *** [all] Error 2
    make[2]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make: *** [drivers] Error 2
    [root@localhost slmodem-2.9.10]# ATI7
    bash: ATI7: command not found
    [root@localhost slmodem-2.9.10]#

    Now would someone be able to point out what I'm doing wrong or point me in the right direction?
    BTW I have installed all the mandriva development tools. i went to install software and selected all of them.

    Also I am not quite sure what to do once I have installed the drivers. Do they work automatically or is their more commands for me to type and if so once everything is done will everything load automatically when I connect with kppp or wvdial? The readme and the makefile have me mystified.

    Thanks for your time.

    BTW here is the README
    Smart Link Ltd.
    Sep 30, 2003

    Smart Link Soft Modem for Linux


    This is Smart Link Soft Modem for Linux version 2.9. It provides
    full-featured 56K Voice Fax Modem.
    This is implemented as generic application (slmodemd) and set of
    hardware specific kernel-space drivers (slamr, slusb).
    ALSA modem drivers may be used instead of proprietary ones (see ALSA mode).


    Modem: V.92, V.90, V.34, V.32bis, V.32, V.23, V.22, V.21, Bell 103/212.
    Flow control: V.42.
    Compression: V.44, V.42bis.
    Fax: Class 1.
    Voice: V253 like modem.
    Multiple modems are supported.

    Supported Hardware

    HAMR5600 based AMR/CNR/MDC/ACR modem cards on the following Southbridge
    - Intel ICH0,ICH2, ICH3, ICH4
    - Via 686A, 686B, 8231, 8233
    - SiS 630
    - ALI 1535.
    SmartPCI56/561/562/563 based PCI modem cards.
    SmartUSB56 based USB modem.


    CPU: Intel Pentium II, Celron. AMD K6, Cyrix 500MHz or higher.
    Memory: 64MB.

    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.


    1. Unpack tar.gz package file:

    $ gzip -dc slmodem-2.9.X.tar.gz | tar xf -

    2. 'cd' to package directory:

    $ cd slmodem-2.9.X

    3. Review and edit 'Makefile' (if need):

    In many cases you will need to correct path to your local kernel
    source tree:


    Default KERNEL_DIR is '/lib/modules/<kerne-version>/build'. Many Linux
    Distributions use directory '/usr/src/linux-<version>' also.

    Note: If you are using Linux kernel 2.4, only header files should be
    available for build in $(KERNEL_DIR)/include

    Another way to pass right value KERNEL_DIR is to use command line
    parameter while running 'make':

    $ make KERNEL_DIR=/path/to/linux ...

    4. Run 'make' command to compile package:

    $ make

    5. Install. As 'root' user run:

    # make install

    It will install:

    - application 'slmodemd' under '/usr/sbin' directory

    - hardware specific drivers (kernel modules) 'slamr' and 'slusb'
    under conventional kernel modules directory

    - character device nodes '/dev/slamr0-3' with major number 212
    (for pci modems) and '/dev/slusb0-3' with major number 213
    (for usb modems).

    - config modules for autoloading (by editing file '/etc/modules.conf')
    (only with 2.4 kernels)

    6. Config modem country.

    Use AT+GCI=<T.35 country code> command to setup country.

    Also you can setup default modem country by passing command line
    parameter '--country=MY_COUNTRY' to program 'slmodemd'.

    See output of 'slmodemd --countrylist' for a list of supported
    country names and T.35 country codes (see also 'slmodemd --help').

    Note: Command ATI7 shows currently installed country setting.

    8. Uninstallation.

    In package directory just type:

    # make uninstall

    Getting Started

    After successful installation and configuration:

    1. Load modem driver.

    Load your modem hardware specific kernel module:

    # modprobe slamr

    if you are using AMR/CNR/PCI modem, or

    # modprobe slusb

    if you are using SmartUSB56 Modem.

    Note: this will be done automatically when modules were
    configured for 'loading on demand'

    Note: this is safe to load both 'alamr' and 'slusb' modules.

    2. Run soft modem application.

    # /usr/sbin/slmodemd [options] <device_name>

    Where device name is appropriate device node for your modem
    (look at output of 'dmesg' command).
    Run '/usr/sbin/slmodemd --help' for details.


    # /usr/sbin/slmodemd --country=USA /dev/slamr0

    , or for SmartUSB56 Modems:

    # /usr/sbin/slmodemd --country=ITALY /dev/slusb0

    3. Using the modem.

    When 'slmodemd' is running this creates PTY (pseudo-terminal) to
    emulate modem port device, also this creates symbolic link
    like '/dev/ttySL0' (shown at startup).

    Config your application to use this link '/dev/ttySL0' (or PTY node
    itself) as modem port.

    Note: Some application want 'to know' that they are working with
    pseudo-terminal and may require additional configurations.

    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'

    4. Startup automation.

    There are examples of startup scripts in 'scripts' directory.

    ALSA mode

    ALSA has the built-in modem drivers included in 'alsa-driver' >= 1.0.2
    and in Linux kernel >= 2.6.5. Currently there is 'intel8x0m' (snd-intel8x0m)
    modem driver, which supports ICH based AC97 modems (MC97).

    Recent 'alsa-driver' (>=1.0.6) has also support for NVidia NForce
    (snd-intel8x0m) and ATI IXP (snd-atiixp-modem) based modems.

    1. Configure your kernel and enable ALSA and ICH based modem support
    ( 'Device Drivers' -> 'Sound' -> 'Advanced Linux Sound Architecture' ->
    'PCI devices' -> 'Intel i8x0/MX440; AMD768/8111 modems' ) .

    2. Build and install kernel and modules as usual (make , make modules_install,
    etc.). ICH modem driver modem module name is 'snd-intel8x0m'
    (if was configured as module).

    3. Build application 'slmodemd' with ALSA support. For this in
    slmodem-2.9.x dir:

    $ cd modem
    $ make SUPPORT_ALSA=1

    This will build 'slmodemd' with ALSA support. If compilation is failed
    review Makefile (near ALSA_SUPPORT condition) and define right library
    and/or CFLAGS

    4. Use option '--alsa' when running 'slmodemd' and ALSA conventional
    device name ('hw:0' or 'hw:1' for instance). If modem support in
    the kernel was enabled as module module 'snd-intel8x0m' should be loaded.

    Note: Recent version of 'alsa-lib' (>= 1.0.6) has built-in "modem" device
    name support ('modem:0', 'modem:1', etc). It is recommended to use
    those names with modems (mandatory with ATI IXP modems).

    Note: When using ALSA modem driver you don't need to load other
    modules ('slamr').


    If you get an error message during installation/configuration or loading
    the modules try to see it in FAQ file.

    Please report the problem to your modem provider or to us


    Please send any feedbacks to Smart Link. See the Smart Link
    web site for contact information ( or to

    Thanks for your time

  2. #2
    Ok. managed to install the driver last night.
    heres what I did.

    uname -r



    Thats my kernel.

    # /usr/bin/updatedb

    that 'updateb' makes a database of all files on harddrive to use when searching for a file

    # /usr/bin/locate KERNEL-2.6.11

    'locate' finds the file, in this case my kernel.

    # urpmi kernel-source

    installing kernel-source-2.6-2.6.11-6mdk.i586.rpm from /var/ftp/pub/Mandrakelinux/media/main3
    Preparing... #############################################
    1/1: kernel-source-2.6 #############################################

    that installs the kernel source.

    the kernel source is at /var/ftp/pub/Mandrakelinux/media/main3

    Now according to info I got on another forum I needed to install a program called ungrabwinmodem because of the kernel I was using. It can be found here
    Heres how I installed it.
    I put the tar.gz file in /home/marcus
    Then went to konsole and

    # cd /home/marcus
    ls (to make sure file is there)
    # tar -xvzf ungrab-winmodem.tar.gz

    this is what it spat out



    # cd ungrab-winmodem
    # make

    spits out this

    make modules -C /lib/modules/2.6.11-6mdk/build SUBDIRS=/home/marcus/ungrab-winmodem
    make[1]: Entering directory `/usr/src/linux-2.6.11-6mdk'
    CC [M] /home/marcus/ungrab-winmodem/ungrab-winmodem.o
    Building modules, stage 2.
    CC /home/marcus/ungrab-winmodem/ungrab-winmodem.mod.o
    LD [M] /home/marcus/ungrab-winmodem/ungrab-winmodem.ko
    make[1]: Leaving directory `/usr/src/linux-2.6.11-6mdk'


    # make install

    spits out this

    make modules -C /lib/modules/2.6.11-6mdk/build SUBDIRS=/home/marcus/ungrab-winmodem
    make[1]: Entering directory `/usr/src/linux-2.6.11-6mdk'
    Building modules, stage 2.
    make[1]: Leaving directory `/usr/src/linux-2.6.11-6mdk'
    install -D -m 644 ungrab-winmodem.ko /lib/modules/2.6.11-6mdk/extra/ungrab-winmodem.ko
    /sbin/depmod -a


    then to install the drivers.

    ]# cd /home/marcus/tmp
    [root@localhost tmp]# ls (to see whats in the folder)

    [root@localhost tmp]# cd slmodem-2.9.10

    [root@localhost slmodem-2.9.10]# make

    (this is what it put out)

    make -C modem all
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/modem'
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/modem'

    [root@localhost slmodem-2.9.10]# make install

    (this is what it put out)

    make -C modem all
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/modem'
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/modem'
    make -C drivers KERNEL_DIR=/lib/modules/2.6.11-6mdk/build
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    cc -I/lib/modules/2.6.11-6mdk/build/include -o kernel-ver kernel-ver.c
    make all KERNEL_VER=2.6.11-6mdk
    make[2]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make modules -C /lib/modules/2.6.11-6mdk/build SUBDIRS=/home/marcus/tmp/slmodem-
    make[3]: Entering directory `/usr/src/linux-2.6.11-6mdk'
    CC [M] /home/marcus/tmp/slmodem-2.9.10/drivers/amrmo_init.o
    /home/marcus/tmp/slmodem-2.9.10/drivers/amrmo_init.c: In function `amrmo_read':
    /home/marcus/tmp/slmodem-2.9.10/drivers/amrmo_init.c:353: warning: ignoring retuttribute warn_unused_result
    /home/marcus/tmp/slmodem-2.9.10/drivers/amrmo_init.c: In function `amrmo_write':
    /home/marcus/tmp/slmodem-2.9.10/drivers/amrmo_init.c:366: warning: ignoring retu attribute warn_unused_result
    CC [M] /home/marcus/tmp/slmodem-2.9.10/drivers/sysdep_amr.o
    CC [M] /home/marcus/tmp/slmodem-2.9.10/drivers/st7554.o
    /home/marcus/tmp/slmodem-2.9.10/drivers/st7554.c: In function `st7554_init':
    /home/marcus/tmp/slmodem-2.9.10/drivers/st7554.c:1112: warning: implicit declara
    LD [M] /home/marcus/tmp/slmodem-2.9.10/drivers/slamr.o
    LD [M] /home/marcus/tmp/slmodem-2.9.10/drivers/slusb.o
    Building modules, stage 2.
    CC /home/marcus/tmp/slmodem-2.9.10/drivers/slamr.mod.o
    LD [M] /home/marcus/tmp/slmodem-2.9.10/drivers/slamr.ko
    CC /home/marcus/tmp/slmodem-2.9.10/drivers/slusb.mod.o
    LD [M] /home/marcus/tmp/slmodem-2.9.10/drivers/slusb.ko
    make[3]: Leaving directory `/usr/src/linux-2.6.11-6mdk'
    make[2]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make install -C drivers KERNEL_DIR=/lib/modules/2.6.11-6mdk/build
    make[1]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    cc -I/lib/modules/2.6.11-6mdk/build/include -o kernel-ver kernel-ver.c
    mkdir -p /dev
    mknod -m 600 /dev/slamr0 c 212 0 ; mknod -m 600 /dev/slamr1 c 212 1 ; mknod /dev/slamr3 c 212 3 ; echo -n
    mknod -m 600 /dev/slusb0 c 213 0 ; mknod -m 600 /dev/slusb1 c 213 1 ; mknod /dev/slusb3 c 213 3 ; echo -n
    make install KERNEL_VER=2.6.11-6mdk
    make[2]: Entering directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    install -D -m 644 slamr.ko /lib/modules/2.6.11-6mdk/extra/slamr.ko
    install -D -m 644 slusb.ko /lib/modules/2.6.11-6mdk/extra/slusb.ko
    /sbin/depmod -a
    make[2]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    make[1]: Leaving directory `/home/marcus/tmp/slmodem-2.9.10/drivers'
    install -D -m 755 modem/slmodemd /usr/sbin/slmodemd
    rm -f -rf /var/lib/slmodem
    install -d -D -m 755 /var/lib/slmodem

    Now thats where my success ends. The driver is installed but it will not work. I read the readme and it says to set up the area codes. This is the commands I typed and what it gave me back.

    [root@localhost slmodem-2.9.10]# AT+GCI+64
    bash: AT+GCI+64: command not found
    [root@localhost slmodem-2.9.10]# slmodemd --countrylist
    02: ALGERIA
    0a: AUSTRIA
    0c: BAHREIN
    0f: BELGIUM
    16: BRAZIL
    1a: BRUNEI
    1b: BULGARIA
    20: CANADA
    25: CHILE
    26: CHINA
    100: CTR21EUROPE
    2d: CYPRUS
    31: DENMARK
    36: EGYPT
    101: ESTONIA
    3c: FINLAND
    3d: FRANCE
    42: GERMANY
    46: GREECE
    50: HONG_KONG
    51: HUNGARY
    52: ICELAND
    53: INDIA
    57: IRELAND
    58: ISRAEL
    59: ITALY
    00: JAPAN
    5e: JORDAN
    61: KOREA
    62: KUWAIT
    103: LATVIA
    64: LEBANON
    104: LITHUANIA
    6c: MALAYSIA
    70: MALTA
    73: MEXICO
    77: MOROCCO
    82: NORWAY
    83: OMAN
    84: PAKISTAN
    88: PERU
    8a: POLAND
    8b: PORTUGAL
    8e: ROMANIA
    b8: RUSSIA
    c5: SLOVAKIA
    c6: SLOVENIA
    a0: SPAIN
    a1: SRILANKA
    a5: SWEDEN
    108: TAIWAN
    a9: THAILAND
    ad: TUNISIA
    ae: TURKEY
    b3: UAE
    b4: UK
    b7: URUGUAY
    b5: USA
    bc: VIETNAM
    [root@localhost slmodem-2.9.10]# AT+GCI=7e
    bash: AT+GCI=7e: command not found

    As you can see I tryed to install the country just like the readme says with no success.

    So, failing to set country code (btw I'm in New Zealand), I went to the next step. Since I'm using a PCI modem, I typed

    [root@localhost slmodem-2.9.10]# modprobe slamr

    and it spits out this

    FATAL: Error inserting slamr (/lib/modules/2.6.11-6mdk/extra/slamr.ko): Unknown
    symbol in module, or unknown parameter (see dmesg)

    So I type


    and get

    slamr: module license 'Smart Link Ltd.' taints kernel.
    slamr: Unknown symbol get_device
    slamr: Unknown symbol put_device
    slamr: Unknown symbol device_release_driver
    slusb: Unknown symbol usb_endpoint_halted
    slamr: Unknown symbol get_device
    slamr: Unknown symbol put_device
    slamr: Unknown symbol device_release_driver

    So I am stuck again. Can anyone tell me what to do now?
    Cheers and thanks for your time.

  3. #3
    Quick update. Failed to get the winmodem to work so bit the bullet and bought an external serial modem. Internet works fine now.

  4. $spacer_open

Posting Permissions

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