Softmodem compatível com Smart Link em kernel Linux 2.6.24 ou superior

O slmodem-2.9.11-20080817 só suporta até o kernel linux-2.6.24. A limitação é só no modelo USB de softmodem, mas como este é compilado junto com o PCI, o make refuga ambos. Ensina-se a pular a parte do USB para compilar a PCI e instalar o software, independentemente da versão do kernel. Público alvo são os linuxers que gostam de resolver os problemas e não esperar que outros o façam.

[ Hits: 21.717 ]

Por: Elias Zoby em 28/09/2008 | Blog: http://concordancia.webs.com


../drivers/Makefile



Abaixo vão apenas as partes relevantes do texto. Os trechos que não devem ser processados foram comentados (#) para fins didáticos, na prática podem ser deletados mesmo. Mantidos alguns pedaços referentes à desinstalação de versões anteriores.

Makefile: Copyright 2003, Smart Link Ltd. All rights reserved.
Author: Sasha K (sashak@smlink.com)

ifeq ($(ARCH64), 0)
obj-m:= slamr.o
endif

#ifneq ($(AGE), NEW)
#obj-m:= $(obj-m) slusb.o
#endif

slamr-objs:= amrmo_init.o sysdep_amr.o amrlibs.o
#slusb-objs:= st7554.o

install-devices:
   mkdir -p ${DESTDIR}/dev
   $(foreach minor,0 1 2 3, \
       mknod -m 600 ${DESTDIR}/dev/slamr$(minor) c 242
$(minor) ; ) echo -n
#ifneq ($(AGE), NEW)
#   $(foreach minor,0 1 2 3, \
#       mknod -m 600 ${DESTDIR}/dev/slusb$(minor) c 243
$(minor) ; ) echo -n
#endif

remove-devices:
   $(foreach minor,0 1 2 3, \
       $(RM) ${DESTDIR}/dev/slamr$(minor) ; ) echo -n
#   $(foreach minor,0 1 2 3, \
#       $(RM) ${DESTDIR}/dev/slusb$(minor) ; ) echo -n

else
ifeq ($(findstring 2.4,$(KERNEL_VER)),2.4)

#slusb-objs:= old_st7554.o
obj:=.
module-dir:=${DESTDIR}/lib/modules/$(KERNEL_VER)/misc

CFLAGS:= -Wall -pipe -O3 -fomit-frame-pointer -D__KERNEL__ -DMODULE -DEXPORT_SYMTAB -DMODVERSIONS --include
$(KERNEL_DIR)/include/linux/modversions.h -I$(KERNEL_DIR)/include

# Meus linux-2.6.26 e 2.6.22.7 não têm modversions.h, mas
aparentemente não houve problema por isso.

all: $(obj-m)

slamr.o: $(slamr-objs)
#slusb.o: $(slusb-objs)
#slamr.o slusb.o:
slamr.o:
   $(LD) -r -o $@ $^

install: uninstall-old
ifeq ($(ARCH64), 0)
   install -D -m 644 slamr.o $(module-dir)/slamr.o
endif
   install -D -m 644 slusb.o $(module-dir)/slusb.o
   cp /etc/modules.conf /etc/modules.conf.slamr && \
       echo 'alias char-major-242 slamr' >> /etc/modules.conf
#       echo 'alias char-major-242 slamr' >> /etc/modules.conf
&& \
#       echo 'alias char-major-243 slusb' >> /etc/modules.conf
   /sbin/depmod -a
uninstall:
#   /sbin/modprobe -r slamr slusb
   /sbin/modprobe -r slamr
   cp /etc/modules.conf /etc/modules.conf.slamr && \
        egrep -ve 'alias char-major-242
slamr' /etc/modules.conf.slamr > /etc/modules.conf
#   egrep -ve 'alias char-major-242 slamr|alias char-major-243
slusb' /etc/modules.conf.slamr > /etc/modules.conf
   $(RM) $(module-dir)/slamr.o
#   $(RM) $(module-dir)/slusb.o
   /sbin/depmod -a
uninstall-old:
   $(RM) $(module-dir)/slmdm.o \
              $(module-dir)/slfax.o \
              $(module-dir)/slusb.o \
              $(module-dir)/slamrmo.o \
              $(module-dir)/slmodem.o  # remove old 2.7,2.8 version


install:
ifeq ($(ARCH64), 0)
   install -D -m 644 slamr.ko $(module-dir)/slamr.ko
endif
#ifneq ($(AGE), NEW)
#   install -D -m 644 slusb.ko $(module-dir)/slusb.ko
#endif
   /sbin/depmod -a

uninstall:
ifeq ($(ARCH64), 0)
   modprobe -r slamr ; echo -n
endif
#   modprobe -r slusb ; echo -n
   $(RM) $(module-dir)/slamr.ko
#   $(RM) $(module-dir)/slusb.ko
   /sbin/depmod -a
endif

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Do problema à solução
   3. ../drivers/Makefile
   4. Da compilação ao pós-reboot
   5. Suporte a som
   6. Empacotamento e conclusão
Outros artigos deste autor

Caracteres especiais no teclado Linux: como adaptar às necessidades do escritor

Por que e como referenciar artigos nos sites de informática

Montar MP3 e pendrives USB automaticamente com Hotplug

Instalar e configurar Slackware 10.2 a 12 para um desktop

Slackware 10.2 com dois kernels na mesma instalação

Leitura recomendada

Freeradius - servidor radius eficiente e completo

Experiencias de um viajante - binômio sidux/Ceni novamente destaque

Acessando a Internet 3G da Claro no Ubuntu e no Debian de maneira simples

Servidor de e-mail completo

Acelere o seu Squid com squid-prefetch - baixe as páginas antes dos seus usuários!

  
Comentários
[1] Comentário enviado por grandmaster em 28/09/2008 - 21:44h

Bem, vou testar isso :D

--
Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br


[2] Comentário enviado por zoby em 28/09/2008 - 22:28h

ERRATA
p. 4
Onde tem "Se não precisar do ungrab:", leia-se "Continuando:".
Pois o que vem a seguir independe do ungrab.

p. 6
Onde tem "a desinstalação ficará mais fácil e mais enxuta", leia-se "o programa ficará mais enxuto e a desinstalação mais fácil".

##################################

E a todos que testarem: dêem nota, corrijam o que não funcionou p/ vcs, acrescentem alternativas etc.

[3] Comentário enviado por fabio em 28/09/2008 - 22:36h

Não sabia que a palavra "modem" já havia sido dicionarizada. Vou corrigir no artigo nesta segunda. Obrigado pela informação.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts