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.785 ]

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

Montar MP3 e pendrives USB automaticamente com Hotplug

Autofs-4.1.4 para Slackware 12: Compilação, instalação, configuração

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

Slackware 10.2 com dois kernels na mesma instalação

Instalar e configurar Slackware 10.2 a 12 para um desktop

Leitura recomendada

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

Criando um roteador Linux com sua máquina antiga

Apache 2 + mod_perl 2.0.1

DHCP e BIND9 - Se entendendo via Dynamic DNS

CoyoteLinux :: Compartilhando internet com um disquete

  
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