[LatinaLUG] problemi installazione modem "alsa mode"

libero-xpla xpla@libero.it
Lun 9 Ago 2004 21:12:31 CEST


 ALLORA SICCOME HO INSTALLATO LA SUSE 9.1 CHE C'È IN EDICOLA E IL 
PARTIZIONATORE DI SUSE MI HA RASATO LA MANDRAKE , LA SUSE NON VA MOLTO 
BENE perchè ogni tanto si impalla per quarti d'ora interi ho 
reinstallato la mandrake da zero e , siccome con la suse funzionava 
benissimo il suono volevo provare ad installare il modem con il supporto 
alsa (ho provato ad installare l'RPM che sta sul cd di suse su mandrake 
, lo installa ma non funge niente)
 
 qui di seguito è quanto ho provato. lo so che per agosto è lunghetta 
l'email e che se ve la leggete sotto il sole mi rimanete incioccati ma 
ci provo lo stesso, al massimo ci riprovo a settembre
 
 ragazzi qui vi mando l'estratto delle istruzioni per installare il 
supporto alsa del mio modem e quello che ho fatto io
 
 piu sotto troverete le istruzioni complete e il makefile che sta nella 
cartella dove io ho fatto make SUPPORT_ALSA=1
 
 ogni consiglio è benvenuto
 buon sole mare e montagna
 
 ciao pierluigi
 
 
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).
 >>>>>>>>>>>>>>>>>>>>>>>>il kernel è linux-2.6.3-4mdk, la scheda audio 
(che viene riconosciuta come ICH2 810 Chipset AC'97 Audio Controller)io 
ho messo nei driver alternativi snd-intel8x0 (manca solo la m finale , 
conta??), e modulo i810_audio

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' ) .
 >>>>>>>>>>>>>>>>>>>>>>>>>>ho fatto make xconfig per controllare e c'è 
questo :Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111 
(SND_INTEL8X0), e c'è un puntino e dalle istruzioni di make xconfig (a 
dot indicates that it is to be compiled as a module) pare che sia 
abilitato come modulo no??


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).
 >>>>>>>>>>>>>>>>>>>siccome mi sembrava gia abilitato non ho fatto niente

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

      $ cd modem
      $ make SUPPORT_ALSA=1
 >>>>>>>>>>>>>>>>>>>>>>>>>>>come su ho fatto questo e mi da una caterva 
di warning ed errori che non ve li riporto tutti ma solo qualcuno:
 >>>>>>>>>>>>>>>>>>>[root@localhost modem]# make SUPPORT_ALSA=1
rebuild profile...
gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1   -o 
modem_main.o -c modem_main.c
modem_main.c:64:28: alsa/asoundlib.h: No such file or directory
modem_main.c:101: error: parse error before "snd_pcm_t"
e finisce con
make: *** [modem_main.o] Error 1

 >>>>>>>>>>>>>>>>>>>allora ho installato  libalsa2-devel Versione: 
1.0.2-3mdk che dentro c'ha /usr/include/alsa/asoundlib.h e pare che non 
ci siano errori c'è solo un warning :modem_ec.c:689: warning: 
`t403_timeout' defined but not used, ma mi pare che sia inessenziale


   This will build 'slmodemd' with ALSA support. If compilation is failed
   review Makefile (near ALSA_SUPPORT condition) and define right library
   and/or CFLAGS
 >>>>>>>>>>>>>>>>>> pare che la compilazione non sia fallita o no???

 >>>>>>>>>>>>>>>>>>ho dato make install ma mi dice :[root@localhost 
modem]# make install
make: *** No rule to make target `install'.  Stop.
ma io non ho capito se lo devo dare o no sto make install

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.
   When using ALSA modem driver you don't need to load other modules 
('slamr').
   
   ho provato ciò:
   [root@localhost slmodem-2.9.9]# /usr/sbin/slmodemd --alsa hv:0
ALSA support is not compiled in (see README for howto).


   >>>>>>>>>>>>>>>>>>>>>>>>>>secondo i consigli di mandrake ho fatto le 
cose seguenti:
   per sapere il drive predefinito
   [root@localhost plax]# lspcidrake -v |fgrep AUDIO
i810_audio      : Intel Corporation|ICH2 810 Chipset AC'97 Audio 
Controller [MULTIMEDIA_AUDIO] (vendor:8086 device:2445 subv:1025 subd:0019)

per sapere che driver sta usando ora
[root@localhost plax]# grep sound-slot /etc/modules.conf
alias sound-slot-0 snd-intel8x0

per vedere se il modulo è caricato (e io mica ho capito se è caricato o no)
root@localhost plax]# /sbin/lsmod
Module                  Size  Used by
sg                     38044  0
e tra gli altri
snd-intel8x0           32776  0

per sapere se il servizio sound è configurato per funzionare 
all'interlevel 3 (e pare che non conosca l'opzione...)
[root@localhost plax]# /sbin/chkconfig -list sound
-list: unknown option

per sapere se il servizio alsa è configurato per funzionare 
all'interlevel 3 (e pare che non conosca l'opzione...)
[root@localhost plax]# /sbin/chkconfig -list alsa
-list: unknown option

per sapere se il volume è azzerato
[root@localhost plax]# aumix -q
bash: aumix: command not found


per sapere quale programma sta usando la scheda audio (e pare nessuno)
[root@localhost plax]# /sbin/fuser -v /dev/dsp
[root@localhost plax]#



   QUI CI SONO LE ISTRUZIONI COMPLETE DI INSTALLAZIONE
   
Smart Link Ltd.
http://www.smlink.com
Sep 30, 2003


Smart Link Soft Modem for Linux
-------------------------------


Introduction
============

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).

Features
========

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
chips:
- 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.



Requirements
============

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.


Installation
============

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:

        KERNEL_DIR=/path/to/linux

   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.

   Examples:

       # /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).

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.
   When using ALSA modem driver you don't need to load other modules 
('slamr').


Troubleshooting
===============

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
(linux-support@smlink.com).


Feedback
========

Please send any feedbacks to Smart Link. See the Smart Link
web site for contact information (www.smlink.com) or to
linux-support@smlink.com.



QUESTO E' IL MAKEFILE CHE SERVE PER COMPILARE IN ALSA MODE

###########################################################################
#
#
#       Makefile  --  modem application Makefile.
#
#       Copyright(c) 2003, Smart Link Ltd. (www.smlink.com)
#    All rights reserved.
#
#       Author: Sasha K (sashak@smlink.com)
#
#
###########################################################################
#
###########################################################################

CC:= gcc
RM:= rm -f

CFLAGS:= -Wall -g -O -I. -DCONFIG_DEBUG_MODEM


modem-objs:= \
    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-objs:= dp_sinus.o dp_dummy.o
sysdep-objs:= sysdep_common.o

all: slmodemd modem_test

slmodemd: modem_main.o modem_cmdline.o $(modem-objs) $(dp-objs) 
dsplibs.o $(sysdep-objs)
modem_test: modem_test.o modem_cmdline.o $(modem-objs) $(dp-objs) 
dsplibs.o $(sysdep-objs)

#SUPPORT_ALSA:=1
ifdef SUPPORT_ALSA
slmodemd: -lasound
CFLAGS+= -DSUPPORT_ALSA=1
endif

slmodemd modem_test:
    $(CC) -o $@ $^

clean:
    $(RM) slmodemd modem_test modem_main.o modem_cmdline.o modem_test.o 
$(modem-objs) $(dp-objs) $(sysdep-objs)
    $(RM) *~

.PHONY: all dep generic-dep clean clean-build-profile


#
# rules
#

%.o: %.c .build_profile
    $(CC) $(CFLAGS) $(EXTRA_CFLAGS) $(CFLAGS_$@) -o $@ -c $<

dep: generic-dep
generic-dep:
    $(RM) .depend
    $(foreach src,$(wildcard *.c),$(CC) -M $(CFLAGS) $(EXTRA_CFLAGS) 
$(CFLAGS_$(src:.c=.o)) -c $(src) >> .depend ;)

-include .depend

# build_profile
-include .build_profile

.build_profile::
ifneq ($(CFLAGS),$(PROFILE_CFLAGS))
    @if [ "$(CFLAGS) $(EXTRA_CFLAGS)" != "$(PROFILE_CFLAGS)" ] ; then \
      echo "rebuild profile..." ; \
      echo "PROFILE_CFLAGS=$(CFLAGS) $(EXTRA_CFLAGS)" > $(@) ; fi
endif

clean: clean-build-profile
clean-build-profile:
    @$(RM) -f .build_profile



Maggiori informazioni sulla lista latina