The package slmodem-2.9.11-20070204.tar.gz can be used in two ways. If only service of the slamr.ko and slusb.ko drivers are sought, the sequence $ make clean $ make and installation for Ubunutu $ sudo make install or otherwise $ su - root # make install will work find. In addition to general compiling resources, only an additional package libasound2 is required for the slmodemd component. Thus package is usually installed by default with general ALSA support. But the slmodemd thus assembled is NOT competent with ALSA modem drivers. As stated near the end of the README in the slmodem-2.9.11-20070204/ folder, the procedure for ALSA support is to first install a package libasound2-dev The command sequence is then: $ cd modem $ make clean $ make SUPPORT_ALSA=1 The resultant compile only uses ALSA resources and NOT kernel version dependent headers. The product is: :/usr/src/modules/slmodem-2.9.11-20070204/modem$ ls -l slmodemd -rwxr-xr-x 1 marv marv 1323499 2007-04-18 09:01 slmodemd Ownership should be changed: $ sudo chown root:root slmodemd It can then be copied to /usr/sbin/slmodemd for services. Since service is not kernel-version dependent, I have been providing such ALSA competent slmodemd in the SLMODEMD.gccN.tar.gz packages, so that those already having ALSA modem drivers installed don't have to bother setting up for compiling. However, the compilation itself is not any problem, per sample below. MarvS marv@marvlap:/usr/src/modules/slmodem-2.9.11-20070204/modem$ make clean 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 marv@marvlap:/usr/src/modules/slmodem-2.9.11-20070204/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 gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_cmdline.o -c modem_cmdline.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem.o -c modem.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_datafile.o -c modem_datafile.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_at.o -c modem_at.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_timer.o -c modem_timer.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -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 -DSUPPORT_ALSA=1 -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 -DSUPPORT_ALSA=1 -o modem_comp.o -c modem_comp.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_param.o -c modem_param.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_debug.o -c modem_debug.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o homolog_data.o -c homolog_data.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o dp_sinus.o -c dp_sinus.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o dp_dummy.o -c dp_dummy.c gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o sysdep_common.o -c sysdep_common.c gcc -lasound -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 /usr/lib/libasound.so gcc -Wall -g -O -I. -DCONFIG_DEBUG_MODEM -DSUPPORT_ALSA=1 -o modem_test.o -c modem_test.c gcc -lasound -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 $ ls -l slmodemd -rwxr-xr-x 1 marv marv 1323499 2007-04-18 09:10 slmodemd $ sudo chown root:root slmodemd $ ls -l slmodemd -rwxr-xr-x 1 root root 1323499 2007-04-18 09:10 slmodemd