Instalação do Modem

Iniciado por reginaldorockman, 07 de Abril de 2006, 00:29

tópico anterior - próximo tópico

reginaldorockman

Olá a todos,

Recebi recentemente os cds do Ubuntu e fiquei muito empolgado para instalar essa distro no meu pc. Formatei a maquina e instalei o Ubuntu em dual boot com o Windows.
A instalação foi tranquila. O único problema está sendo a instalação do meu modem.
Já pesquisei neste fórum e em outros lugares, e encontrei bastante informação sobre como proceder. Porém não obtive sucesso em nenhuma tentativa de instalar o modem.

Minha configuração:

Ubuntu 5.10 (Breezy Badger) kernel:   2.6.12-9-386
Modem: Intel 537EP (Pelo menos é o que aparece ao mandar o windows consultar o modem
                              e também é o que está na embalagem dele.)

Baixei os drivers do site da Intel descompilados e também testei outros deste site:
http://linmodems.technion.ac.il/packages/ e o compilador GCC 3.4.5 que foi utilizado na construção do kernel.

Segui os passos do manual incluso nos drivers e de outras fontes porém o driver não compila.

Encontrei um tuto do Carlos Morimoto no site do Clube do Hardware onde ele diz pra executar o comando:

$ sed -i -e 's/PM_SAVE_STATE/PM_SUSPEND_MEM/g' coredrv/coredrv.c

Pois bem, acredito que o driver até chega a ser compilado, apenas aparecem alguns avisos (warnings) mas nenhum erro aparece.

O problema está no comando

make install

Segue abaixo o resultado no terminal:

root@ubuntu:/home/reginaldo/modem/intel# sed -i -e 's/PM_SAVE_STATE/PM_SUSPEND_MEM/g' coredrv/coredrv.c
root@ubuntu:/home/reginaldo/modem/intel# make 537
  Module precompile check
  Current running kernel is: 2.6.12-9-386
  /lib/modules...   autoconf.h exists
diff: /boot/vmlinuz.autoconf.h: Arquivo ou diretório não encontrado
  autoconf.h matches running kernel
diff: /boot/vmlinuz.version.h: Arquivo ou diretório não encontrado
  version.h matches running kernel
2.6.12-9-386
make[1]: Entrando no diretório `/home/reginaldo/modem/intel/coredrv'
make -C /lib/modules/2.6.12-9-386/build SUBDIRS=/home/reginaldo/modem/intel/coredrv modules
make[2]: Entrando no diretório `/usr/src/linux-headers-2.6.12-9-386'
 CC [M]  /home/reginaldo/modem/intel/coredrv/coredrv.o
/home/reginaldo/modem/intel/coredrv/coredrv.c:70: warning: type defaults to `int' in declaration of `EXPORT_SYMBOL_NOVERS'
/home/reginaldo/modem/intel/coredrv/coredrv.c:70: warning: parameter names (without types) in function declaration
/home/reginaldo/modem/intel/coredrv/coredrv.c:70: warning: data definition has no type or storage class
/home/reginaldo/modem/intel/coredrv/coredrv.c: In function `open':
/home/reginaldo/modem/intel/coredrv/coredrv.c:394: warning: `pm_register' is deprecated (declared at include/linux/pm.h:106)
/home/reginaldo/modem/intel/coredrv/coredrv.c: In function `close':
/home/reginaldo/modem/intel/coredrv/coredrv.c:416: warning: `pm_unregister' is deprecated (declared at include/linux/pm.h:111)
/home/reginaldo/modem/intel/coredrv/coredrv.c: In function `hamproc_write':
/home/reginaldo/modem/intel/coredrv/coredrv.c:660: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
/home/reginaldo/modem/intel/coredrv/coredrv.c: At top level:
/home/reginaldo/modem/intel/coredrv/coredrv.c:754: warning: initialization from incompatible pointer type
/home/reginaldo/modem/intel/coredrv/coredrv.c:755: warning: initialization from incompatible pointer type
/home/reginaldo/modem/intel/coredrv/coredrv.c: In function `kScheduleDPC':
/home/reginaldo/modem/intel/coredrv/coredrv.c:861: warning: implicit declaration of function `pm_access'
/home/reginaldo/modem/intel/coredrv/coredrv.c: In function `dspdrv_CommRamISR':
/home/reginaldo/modem/intel/coredrv/coredrv.c:877: warning: function declaration isn't a prototype
 CC [M]  /home/reginaldo/modem/intel/coredrv/clmmain.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/rts.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/task.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/uart.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/wwh_dflt.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/locks.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/softserial_io.o
/home/reginaldo/modem/intel/coredrv/softserial_io.c: In function `softserial_write':
/home/reginaldo/modem/intel/coredrv/softserial_io.c:94: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
 CC [M]  /home/reginaldo/modem/intel/coredrv/softserial_ioctl.o
 CC [M]  /home/reginaldo/modem/intel/coredrv/softserial.o
/home/reginaldo/modem/intel/coredrv/softserial.c: In function `softserial_register_tty':
/home/reginaldo/modem/intel/coredrv/softserial.c:125: warning: assignment from incompatible pointer type
 CC [M]  /home/reginaldo/modem/intel/coredrv/afedsp_int.o
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:48: warning: function declaration isn't a prototype
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:61: warning: initialization from incompatible pointer type
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:65: warning: function declaration isn't a prototype
/home/reginaldo/modem/intel/coredrv/afedsp_int.c: In function `afe_Write':
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:417: warning: ignoring return value of `copy_from_user', declared with attribute warn_unused_result
/home/reginaldo/modem/intel/coredrv/afedsp_int.c: In function `afe_Read':
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:437: warning: ignoring return value of `copy_to_user', declared with attribute warn_unused_result
/home/reginaldo/modem/intel/coredrv/afedsp_int.c: At top level:
/home/reginaldo/modem/intel/coredrv/afedsp_int.c:454: warning: initialization from incompatible pointer type
 LD [M]  /home/reginaldo/modem/intel/coredrv/Intel537.o
 Building modules, stage 2.
 MODPOST
Warning: could not find /home/reginaldo/modem/intel/coredrv/.537core.lib.cmd for /home/reginaldo/modem/intel/coredrv/537core.lib
*** Warning: "pm_access" [/home/reginaldo/modem/intel/coredrv/Intel537.ko] undefined!
 CC      /home/reginaldo/modem/intel/coredrv/Intel537.mod.o
 LD [M]  /home/reginaldo/modem/intel/coredrv/Intel537.ko
make[2]: Saindo do diretório `/usr/src/linux-headers-2.6.12-9-386'
make[1]: Saindo do diretório `/home/reginaldo/modem/intel/coredrv'


Aparentemente o driver foi compilado. Mas ao tentar o make install

root@ubuntu:/home/reginaldo/modem/intel# make install
rm -f /etc/hamregistry.bin
bash 537_inst
running kernel 2.6.12-9-386
installing hamregistry, used for persistant storage
installing usrsound, a soft buzzer
installing 537 module
debian 537_boot rc2.d and rc3.d scripts
starting module and utilities
error loading Intel537
ERROR: Module Intel537 does not exist in /proc/modules
done

Por favor, pesso aos colegas que me ajudem a instalar esse modem, e digam onde estou errando.

Obrigado

Abraços à toda a comunidade

KubLin

se vc seguiu os comandos anteriores direito vc precisa continuar com os passos abaixo:

sudo insmod -f Intel537.ko
sudo rm -f rm /dev/ham; rm -f /dev/modem
sudo mknod /dev/ham c 240 1
sudo ln -s /dev/ham /dev/modem
sudo chmod 666 /dev/modem


se não der certo posta de novo

falou

reginaldorockman

Tá difícil... :evil:

Acho que agora o módulo Intel537 chega a ser carregado. Pude ver com o lsmod, aparece lá Intel537.

Executei esses comandos que o amigo KubLin passou mas quando tento discar pelo o gnome-ppp no log aparece '/dev/modem: no such device or adress'.

Tentei executar o make install novamente e o erro agora é outro:

root@ubuntu:/home/reginaldo/modem/intel# make install
Tente `uname --help' para mais informação.
rm -f /etc/hamregistry.bin
bash 537_inst
running kernel 2.6.12-9-386
chmod: impossível acessar `usrsound': Arquivo ou diretóriorio não encontrado
installing hamregistry, used for persistant storage
installing usrsound, a soft buzzer
install: impossível fazer stat em `usrsound': Arquivo ou diretório não encontrado
installing 537 module
debian 537_boot rc2.d and rc3.d scripts
starting module and utilities
chgrp: impossível acessar `/dev/537': Arquivo ou diretório não encontrado
chmod: impossível acessar `/dev/537': Arquivo ou diretório não encontrado
done
root@ubuntu:/home/reginaldo/modem/intel#

tentei mudar o comando mknod /dev/ham c 240 1
para
mknod /dev/537 c 240 1

mas no gnome-ppp dá o mesmo erro: no such device or address

Poderia ser o caso do modem ter outro chipset diferente do Intel já que é fabricado pela Kaiomy ( :x ) tanto que quando executo o scritpt scanModem aparece como sendo PCTel
HSP Micromodem:

MODEM #1:
 PCI CONFIGURATION INFORMATION READ:
    VENDOR ID             : 134D
    DEVICE ID              : 2189
    SUBVENDOR ID       : 134D
    SUBDEVICE ID        : 1002
    REVISION ID           : 04

Pra ter certeza que é um Intel 537EP, abri o gabinete e pude ver que no chipset está escrito:
Intel82537 MODEM
SR05051601321

O que pode ser?

Espero respostas,

Abraços

DDDa

Esse problema ocorre quando o driver n consegue achar o modem pq a identificação (n sei o termo técnico) deste é diferente daquela que aparece no driver. É como se vc desse o endereço errado da sua casa (modem) para o carteiro (driver), ele nunca vai achar e retorna dizendo que não encontrou o modem (no such address/device).

Da última vez que tive esse problema, foi com um modem AC'97 (o clássico em notebooks), nos tempos do kernel 2.4 (hj já tem driver no kernel pronto). Lembro que foi só alterar o Device ID para refletir a ID do modem da minha máquina. Quando eu usava lspci -vv, eu via que a ID do dispositivo era 0x24C6, mas o driver n listava essa ID. Então só fazia alterar uma linha qualquer no codigo-fonte para essa aí... ex.:

De
#define PCI_DEVICE_ID_ICH3 0x2486

Para
#define PCI_DEVICE_ID_ICH3 0x24C6

E lembre-se que embora o scanModem seja muito útil, muitas vezes é possível resolver os problemas sem ele, usando as ferramentas normais (notadamente lspci).

Portanto, veja se você consegue alterar o código-fonte do driver para incluir a sua ID (0x2189) em alguma linha que esteja lá (n vai ser a mesma coisa desse exemplo), caso vc perceba que sua ID está faltando.

Abraços!

editado: obviamente, o meu modem era um ICH4, e não um ICH3, mas isso era só uma questão de nomenclatura do driver mesmo, o importante era que funcionava!! =D... mas dava pra alterar a linha relativa aos ICH4, caso eu fosse um paranóico por nomenclaturas corretas.... rsss

KubLin

pesnso que vc deve fazer tudo desde o começo

passo a passo, pois aparentemente é erro de link/caminho

falou

alarcon

#5
Olha só, já falei isso mais de uma vez, inclusive escrevendo um tópico dizendo isso: Para quem tem um modem chamado de Intel537EP no windows e HSP56 Micromodem no linux, ou melhor ainda que tem estas IDs 134d:2189 o driver a ser usado não são os da Intel e sim o driver da Smartlink deste jeito aqui;

http://www.ubuntuforum-pt.org/index.php?topic=4204

reginaldorockman

Fala galera, blz?

Ate que enfim consegui instalar o bendito modem, estou mandando esta mensagem pelo ubuntu :D

Realmente o driver que funcionou foi o smartlink.

So que estava dando esse erro:

root@ubuntu:/home/reginaldo/modem/slmodem# modprobe slamr
root@ubuntu:/home/reginaldo/modem/slmodem# slmodemd --country=BRAZIL --perm=0666 /dev/slamr0
error: mdm setup: cannot open dev `/dev/slamr0': No such device
error: cannot setup device `/dev/slamr0'

Parece que nao encontrou nenhum dispositivo.
Executei este comando:

root@ubuntu:/home/reginaldo/modem/slmodem# dmesg | grep slamr
[4295773.763000] slamr: module license 'Smart Link Ltd.' taints kernel.
[4295773.807000] slamr: SmartLink AMRMO modem.
[4295773.807000] slamr: device 134d:2189 is grabbed by another driver

Ai baixei um modulo que chama ungrab-winmodem e executei ele
antes do slamr e funcionou!

Fica ai uma dica pra quem esta tendo o mesmo problema que eu.

So que nao estou conseguindo fazer o modem iniciar no boot, to usando o terminal.

Como faco pra configurar no boot?

Agradeco a ajuda de todos ai, obrigado mesmo.

Abracos

KubLin

certo reginaldorockman

agradeça ao nosso amigo alarcon

inté

alarcon

Citação de: "reginaldorockman"Fala galera, blz?

Ate que enfim consegui instalar o bendito modem, estou mandando esta mensagem pelo ubuntu :D

Realmente o driver que funcionou foi o smartlink.

So que estava dando esse erro:

root@ubuntu:/home/reginaldo/modem/slmodem# modprobe slamr
root@ubuntu:/home/reginaldo/modem/slmodem# slmodemd --country=BRAZIL --perm=0666 /dev/slamr0
error: mdm setup: cannot open dev `/dev/slamr0': No such device
error: cannot setup device `/dev/slamr0'

Parece que nao encontrou nenhum dispositivo.
Executei este comando:

root@ubuntu:/home/reginaldo/modem/slmodem# dmesg | grep slamr
[4295773.763000] slamr: module license 'Smart Link Ltd.' taints kernel.
[4295773.807000] slamr: SmartLink AMRMO modem.
[4295773.807000] slamr: device 134d:2189 is grabbed by another driver

Ai baixei um modulo que chama ungrab-winmodem e executei ele
antes do slamr e funcionou!

Fica ai uma dica pra quem esta tendo o mesmo problema que eu.

So que nao estou conseguindo fazer o modem iniciar no boot, to usando o terminal.

Como faco pra configurar no boot?

Agradeco a ajuda de todos ai, obrigado mesmo.

Abracos

Caro usuário acho que vc não leu completamente o meu artigo, pois lá eu informa como ativar o modem no boot, mas vamos lá fça isso aqui:

Abra um terminal e vire root:

sudo su
Password: sua senha


e digite:

Citar
echo '#!/bin/sh' >> /etc/init.d/ativar-modem
echo 'modprobe -r slamr' >> /etc/init.d/ativar-modem
echo 'modprobe ungrab-winmodem ' >> /etc/init.d/ativar-modem
echo 'modprobe slamr' >> /etc/init.d/ativar-modem
echo 'slmodemd --country=BRAZIL --perm=0666 /dev/slamr0 &' >> /etc/init.d/ativar-modem
chmod +x /etc/init.d/ativar-modem
ln -sf /etc/init.d/ativar-modem /etc/rc2.d/S98ativar-modem

e reinicie seu sistema.

reginaldorockman

Olá comunidade ubuntu,

Agradeço a todos ai pela ajuda, agora tá funcionando perfeito o modem aqui.
Valeu ai alarcon, muito bom seu tutorial, esplica tudo mesmo.
É isso aí, agora é só atualizar meu synaptic e aproveitar o ubuntu.

Um grande abraço.