mcnd2
(usa Debian)
Enviado em 10/09/2006 - 14:28h
Meu modem é um LG I56N NetoDragon (SmartLink)
Vou deixar um artigo que eu editei com umas dica de um amigo da net. No meu pc deu certo só não consigo colocar ele para iniciar junto com o sistema, mais logo consiguirei pois a persistência prevalece.
Instalação do modem LG I56N Neto Dragon (SmartLink) no Suse 10.1
Primeiro baixe o arquivo slmodem-20060727.tar.gz em:
http://linmodems.technion.ac.il/packages/smartlink/slmodem-20060727.tar.gz (código fonte).
Descompacte o arquivo em um diretório de sua preferência.
Em um terminal, entre no diretório onde descompactou o arquivo.
*Execute os seguintes comandos:
$ make
$ su (para se torna root)
# make install (2 vezes)
Se der algum erro, verifique pelo YaST2>Gerenciamento de Software>Pesquisa, se os pacotes automake, make, makedev, kernel-source, gcc, smartlink-softmodem e o kinternet estão instalados. Se estiver faltando algum instale-o e execute os comandos novamente.
Configure o modem e o provedor.
Edite o arquivo /etc/sysconfig/slmodemd
SLMODEMD_COUNTRY="USA"
SLMODEMD_DEVICE="slamr0"
SLMODEM_USE_ALSA="no
Edite o arquivo /etc/sysconfig/kernel
MODULES_LOADED_ON_BOOT="slamr"
*Execute os seguintes comandos:
#modprobe slamr
#insserv slmodemd
#/etc/init.d/slmodemd restart
#ln -sf /dev/ttySL0 /dev/modem
Se não estiver conectando, verifique como estão as saídas dos seguintes comandos:
#lspci -vvv | grep Modem
Deverá obter algo como:
00:0f.0 Modem: ALi Corporation SmartLink SmartPCI561 56K Modem (prog-if 00 [Generic])
OBS: se o resultado do dmesg "adiante" der "slamr: device 10b9:5459 is grabbed by another", baixe o arquivo ungrabe-winmodem em:
http://linmodems.technion.ac.il/packages/smartlink/ungrab-winmodem.tar.gz
Execute os comandos como da primeira vez, make e make install (1 vez).
*Execute os seguintes comandos:
#modprobe -r slamr
#modprobe ungrab-winmodem
#modprobe slamr
Reinicie o Computador.
*Execute o comando:
#dmesg | grep slamr
A saída será:
slamr: module not supported by Novell, setting U taint flag.
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
slamr: probe 10b9:5459 SL1800 card...
slamr: mc97 codec is SIL26
slamr: slamr0 is SL1800 card.
Se a saída for:
slamr: unsupported module, tainting kernel.
slamr: module license 'Smart Link Ltd.' taints kernel.
slamr: SmartLink AMRMO modem.
slamr: device 10b9:5459 is grabbed by driver serial
Então o módulo ungrab-winmodem não é o primeiro que está sendo carregado durante a inicialização do seu sistema.
Mas pra confirmar tudo isso, execute:
#/etc/init.d/slmodemd status
O resultado deverá ser:
Status of SmartLink Modem driver: running (esse "running" na cor verde)
Já se o resultado for:
Status of SmartLink Modem driver: unused
Teremos certeza de que os módulos não foram carregados corretamente.
Confirme, antes de tudo, se existe o seguinte:
No diretório /lib/modules/2.6.16.13-4-default/extra:
slamr.ko, slusb.ko e ungrab-winmodem.ko
E no diretlório /dev:
slamr0 à slamr3 e slusb0 à slusb15
Se tudo estiver ok, então faça o seguinte teste:
#kiallall slmodemd
#modprobe -r slamr
#modprobe ungrab-winmodem
#modprobe slamr
#slmodemd --country=BRAZIL --perm=0666 /dev/slamr0 &
#ln -sf /dev/ttySL0 /dev/modem
Agora use o KInternet para fazer uma discagem. Ele deve conseguir fazer sem problema.
Para que tudo isso seja possível em cada inicialização copie o script abaixo e salve-o com o nome de slmodemd no seu diretório pessoal.
Agora como root digite:
#cp -f slmodemd /usr/sbin/
Isso irá substituir o arquivo de mesmo nome existente.
O script é o seguinte:
Código:
#!/bin/sh
#
### BEGIN INIT INFO
# Provides: slmodemd
# Required-Start: $remote_fs
# X-UnitedLinux-Should-Start: $syslog
# Required-Stop: $remote_fs
# X-UnitedLinux-Should-Stop: $syslog
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Short-Description: SmartLink Modem Driver
# Description: User space part of winmodem driver
### END INIT INFO
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_status -s display "skipped" and exit with status 3
# rc_status -u display "unused" and exit with status 3
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
# rc_active checks whether a service is activated by symlinks
# rc_splash arg sets the boot splash screen to arg (if active)
. /etc/rc.status
prog=slmodemd
prog_path=/usr/sbin/$prog
RETVAL=0
# Default configuration
SLMODEMD_DEVICE=slamr0
SLMODEMD_COUNTRY=GERMANY
# Source configuration
CONFIG=/etc/sysconfig/$prog
if [ -f $CONFIG ]; then
. $CONFIG
fi
# uncomment this if you want this feature (if necessary edit module pattern):
# do not try to start on a kernel which does not support it
# grep -q 'slamr\.o' /lib/modules/`uname -r`/modules.dep || exit 0
start() {
echo -n "Starting SmartLink Modem driver: "
OPTS=" --country=$SLMODEMD_COUNTRY"
if [ "$SLMODEM_USE_ALSA" = yes ];then
OPTS="$OPTS -a"
else
OPTS="$OPTS /dev/$SLMODEMD_DEVICE"
modprobe ungrab-winmodem
modprobe slamr
modprobe slusb
for i in `seq 0 3`; do mknod -m 0600 /dev/slamr$i c 242 $i; done &>/dev/null
for i in `seq 0 15`; do mknod -m 0600 /dev/slusb$i c 243 $i; done &>/dev/null
sleep 3
fi
startproc -l /var/log/$prog -s $prog_path $OPTS
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n "Shutting down SmartLink Modem driver: "
killproc $prog
RETVAL=$?
if [ "$SLMODEM_USE_ALSA" != yes ];then
modprobe -r slamr slusb ungrab-winmodem
fi
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
echo -n "Status of SmartLink Modem driver: "
checkproc $prog_path
rc_status -v
rc_exit
;;
restart|reload)
stop
start
RETVAL=$?
;;
condrestart)
if [ -f /var/lock/subsys/$prog ]; then
stop
start
RETVAL=$?
fi
;;
*)
echo "*** Usage: $prog {start|stop|status|restart|condrestart}"
exit 1
esac
rc_status -v
rc_exit
Espero que tudo de certo.
Linux! Ame A Liberdade.
Se não conseguir conectar quando iniciar o sistema execute esse comandos como root e tente conectar pois eu só consigo assim.
#kiallall slmodemd
#modprobe -r slamr
#modprobe ungrab-winmodem
#modprobe slamr
#slmodemd --country=BRAZIL --perm=0666 /dev/slamr0 &
#ln -sf /dev/ttySL0 /dev/modem