Foro de Linux - Gustavo Guillermo Software Compunauta Micro Linux (uLinux)
BUZÓN de CONSULTAS y COMENTARIOS | TEMARIO PRINCIPAL

[Gnupérnico II - MetaBuscador]


PC-TEL - WINMODEM EN LINUX


GENERALIDADES - (Nueva versión para el Kernel 2.4.7 Hacer Click Aquí!!!!)

Este modem es un winmodem, pero completamente posible usarlo linux, aquí están las instrucciones de como lo instalé en un Athlon de 600 MHz en SuSE 7.0, actualicé el kernel al 2.4.2, pero sólo por que me funciona todo más rápido... Antes de actualizarlo probé con el kernel 2.2.18, y el modem funcionó correctamente. Así que en esta guía, veremos como instalarlo para el kernel 2.4.2, que es exactamente igual que para la serie 2.2.x. Para obtener los drivers, los buscan en la sección de buscadores en la página principal, y si no pueden encontrarlos me los piden que se los envió por e-mail (usen el formulario de consultas). O revisen MI PC Online


INSTALACION (Winmodem [softmodem]) PC-TEL

Bueno, para comenzar, buscamos una ranura PCI libre y lo colocamos ahí, tengamos cuidado de no colocarlo cerca de alguna placa que pueda provocar interferencia, por más que todo cumpla las reglas, eso nos evitará disminuir la performance. En el caso de que funcione extremadamente lento, se lo puede intentar cambiar de Slot. Ese no fue mi caso, es muy rápido. TAmbién tengamos la precaución de que como no posee relay (el switch que conmuta la línea) debemos conectarlo a la línea telefónica sólo cuando lo usemos (eso es ser paranóico, pero inexplicablemente hablando por teléfono, el modem externo que tenía dejó de responder).


DESCOMPRESIÓN DEL DRIVER

Una vez que bajamos el driver, lo ubicamos y lo descomprimimos. Para el resto del proceso es necesario tener el código fuente del kernel que estamos usando. Y además las herramientas modutils. Para configurar correctamente otra vez todos los módulos incluido el del modem.

Buscando y descomprimiendo el driver

Es cómodo hacerlo con el Midniht Commander, pero si no lo tienen o no lo saben usar.... ejecutan tar -xzvf nombredelarchivo.tgz. A continuación viene el proceso de compilación de la mitad del driver, ya que existe un binario de código propietario del cual no hay fuentes... ejecutamos make eb el directorio donde lo descomprimimos, por supuesto que antes hicimos cd nombredelarchivo en donde se descomprimió lo anterior. Veremos algo como esto:

root@gus:/tmp/pctel-2.4 > make
cd src/module; make
make[1]: Entering directory `/tmp/pctel-2.4/src/module'
gcc -D__KERNEL__ -DMODULE -Wall -O -fomit-frame-pointer -DMODVERSI
ONS -DEXPORT_SYMTAB -include /usr/src/linux/include/linux/modversi
ons.h -I../../include -I/usr/src/linux/include    -c -o ptmodule.o
 ptmodule.c
rm -f ../../modules/pctel.o
ld -r  -o ../../modules/pctel.o ptmodule.o ../../lib/vuart.o ../..
/lib/control.a ../../lib/dsp.a ../../lib/pcthal.a
make[1]: Leaving directory `/tmp/pctel-2.4/src/module'
cd src/ptserial; make
make[1]: Entering directory `/tmp/pctel-2.4/src/ptserial'
gcc -D__KERNEL__ -DMODULE -DHAL_PCT789 -Wall -O2 -fomit-frame-poin
ter -DMODVERSIONS -DEXPORT_SYMTAB -include /usr/src/linux/include/
linux/modversions.h -I../../include -I/usr/src/linux/include    -c
 -o ptserial.o ptserial.c
ptserial.c:269: warning: `PCI_VENDOR_ID_CMEDIA' redefined
/usr/src/linux/include/linux/pci_ids.h:1234: warning: this is the
location of the previous definition
ptserial.c:270: warning: `PCI_DEVICE_ID_CMEDIA_CM8738' redefined
/usr/src/linux/include/linux/pci_ids.h:1237: warning: this is the
location of the previous definition
rm -f ../../modules/ptserial.o
ld -r  -o ../../modules/ptserial.o ptserial.o
make[1]: Leaving directory `/tmp/pctel-2.4/src/ptserial'
root@gus:/tmp/pctel-2.4 >

Luego, si está todo bien, lo instalamos con make install

root@gus:/tmp/pctel-2.4 > make install
cd src/module; make
make[1]: Entering directory `/tmp/pctel-2.4/src/module'
make[1]: `../../modules/pctel.o' is up to date.
make[1]: Leaving directory `/tmp/pctel-2.4/src/module'
cd src/ptserial; make
make[1]: Entering directory `/tmp/pctel-2.4/src/ptserial'
make[1]: Nothing to be done for `all_targets'.
make[1]: Leaving directory `/tmp/pctel-2.4/src/ptserial'
mkdir -p /lib/modules/`uname -r`/misc
cp modules/pctel.o /lib/modules/`uname -r`/misc
cp modules/ptserial.o /lib/modules/`uname -r`/misc
rm -f /dev/ttyS15 /dev/modem
mknod  /dev/ttyS15  c  62  79
chgrp uucp  /dev/ttyS15
chmod 666  /dev/ttyS15
ln -s  /dev/ttyS15  /dev/modem
root@gus:/tmp/pctel-2.4 >

Y algo imprescindible que es reconfigurar las dependencias de los módulos, ejecutar depmod. En mi caso no fue tan sencillo, por que por error no tenía instalada la misma versión del kernel del cual tenía el código fuente, cuando lo corregí, no hubo historias extrañas y depmod no tiró errores.

root@gus:/tmp/pctel-2.4 > depmod
root@gus:/tmp/pctel-2.4 >

Si está todo ok, hasta aquí, entonces ya podemos insertar los módulos, los cuales nos crearán un puerto serie en ttyS15. Cada vez que reiniciemos la máquina tendremos que insertar los módulos, no es necesario insertarlos desde un directorio en particular, pero es molesto, así que al final explico como hacer que se inserten solos al arranque. No se preocupen por el código de país.... funcionó bien sin setearlo...

root@gus:/tmp/pctel-2.4 > insmod pctel
Using /lib/modules/2.4.2/misc/pctel.o
root@gus:/tmp/pctel-2.4 > insmod ptserial country_code=33
Using /lib/modules/2.4.2/misc/ptserial.o
root@gus:/tmp/pctel-2.4 >

No hay errores, pero lo podemos verificar con el comando dmesg que nos devuelve todos los mensajes del kernel. Las líneas correspondientes están resaltadas en negrita.

root@gus:/home/gus > dmesg
Linux version 2.4.2 (root@I386.suse.de) (gcc version 2.95.3 20010125 (prerelease)) #1 Fri Mar 2 12:08:11 GMT 2001
BIOS-provided physical RAM map:
 BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
 BIOS-e820: 0000000000000400 @ 000000000009fc00 (usable)
 BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
 BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
 BIOS-e820: 0000000017f00000 @ 0000000000100000 (usable)
On node 0 totalpages: 98304
zone(0): 4096 pages.
zone(1): 94208 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=link ro root=302 BOOT_FILE=/boot/vmlinuz_24 hdc=ide-scsi idebus=66
ide_setup: hdc=ide-scsi
ide_setup: idebus=66
Initializing CPU#0
Detected 601.077 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1199.30 BogoMIPS
Memory: 383840k/393216k available (1467k kernel code, 8988k reserved, 565k data, 124k init, 0k highmem)
Dentry-cache hash table entries: 65536 (order: 7, 524288 bytes)
Buffer-cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
VFS: Diskquotas version dquot_6.4.0 initialized
CPU: Before vendor init, caps: 0183f9ff c1c3f9ff 00000000, vendor = 2
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 512K (64 bytes/line)
CPU: After vendor init, caps: 0183f9ff c1c3f9ff 00000000 00000000
CPU: After generic, caps: 0183f9ff c1c3f9ff 00000000 00000000
CPU: Common caps: 0183f9ff c1c3f9ff 00000000 00000000
CPU: AMD Athlon(tm) Processor stepping 01
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.37 (20001109) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb220, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.14)
Starting kswapd v1.8
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
block: queued sectors max/low 254856kB/123784kB, 768 slots per queue
RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 66MHz system bus speed for PIO modes
VP_IDE: IDE controller on PCI bus 00 dev 39
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci00:07.1
    ide0: BM-DMA at 0xa000-0xa007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xa008-0xa00f, BIOS settings: hdc:DMA, hdd:pio
hda: SAMSUNG SV3064D, ATA DISK drive
hdb: CREATIVE CD5233E, ATAPI CD/DVD-ROM drive
VP_IDE: Calibrating PCI clock ... 32.67 MHz
hdc: Hewlett-Packard CD-Writer Plus 7500, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 59794560 sectors (30615 MB) w/434KiB Cache, CHS=3722/255/63
hdb: ATAPI 52X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.12
Partition check:
 hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4
Floppy drive(s): fd0 is 1.2M, fd1 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
Serial driver version 5.02 (2000-08-09) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10d
SCSI subsystem driver Revision: 1.00
3w-xxxx: tw_findcards(): No cards found.
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
linear personality registered
raid0 personality registered
raid1 personality registered
raid5 personality registered
raid5: measuring checksumming speed
   8regs     :   918.000 MB/sec
   32regs    :   762.400 MB/sec
   pII_mmx   :  1405.200 MB/sec
   p5_mmx    :  1797.600 MB/sec
raid5: using function: p5_mmx (1797.600 MB/sec)
md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md.c: sizeof(mdp_super_t) = 4096
autodetecting RAID arrays
autorun ...
... autorun DONE.
LVM version 0.9.1_beta2  by Heinz Mauelshagen  (18/01/2001)
lvm -- Driver successfully initialized
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
IP-Config: No network devices available.
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 124k freed
Adding Swap: 136512k swap-space (priority -1)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.251 $ time 12:32:16 Mar  2 2001
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 12 for device 00:07.2
PCI: The same IRQ used for device 00:07.3
PCI: The same IRQ used for device 00:0c.0
PCI: The same IRQ used for device 00:0c.1
usb-uhci.c: USB UHCI at I/O 0xa400, IRQ 12
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 12 for device 00:07.3
PCI: The same IRQ used for device 00:07.2
PCI: The same IRQ used for device 00:0c.0
PCI: The same IRQ used for device 00:0c.1
usb-uhci.c: USB UHCI at I/O 0xa800, IRQ 12
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 2
  hub.c: USB hub found
hub.c: 2 ports detected
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: HP        Model: CD-Writer+ 7500   Rev: 1.0a
  Type:   CD-ROM                             ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
isapnp: Scanning for Pnp cards...
isapnp: No Plug & Play device found
ptserial.o init.  country_code = 0
PCTEL device (58) found:  irq = 5, base = 0xc000
Serial driver version 4.27.212 (PCT789) (05-15-2001) with MANY_PORTS SHARE_IRQ SERIAL_PCI ISAPNP enabled
ttyS15 at 0xc000 (irq = 5) is a 16C950/954
8139too Fast Ethernet driver 0.9.13 loaded
PCI: Found IRQ 11 for device 00:09.0
eth0: RealTek RTL8139 Fast Ethernet at 0xd88f4000, 00:02:96:00:c1:86, IRQ 11
eth0:  Identified 8139 chip type 'RTL-8139C'
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
PCI: Found IRQ 5 for device 00:07.5
PCI: The same IRQ used for device 00:0b.0
Linux video capture interface: v1.00

El resto de la configuración del modem se hace como la de un modem estándar (ver la sección de modem estándar). Tuve suerte y este modem tiene una performance de 6.0 Kbytes/segundo para archivos comprimmidos y 12.0KBytes/segundo para navegación normal.... En windows, sólo se conecta a 12.000 Baudios (1Kbyte/segundo aproximadamente) ni idea de poir que!!!!!

En Windows....

Procesos Ya comprimidos

Procesos sin Comprimir

CARGA AUTOMATICA AL ARRANQUE

En SuSE linux, buscamos este archivo (boot.local) que es donde podemos insertar comandos para que se ejecuten al arranque....

Boot. Local, Hubicación

Lo editamos y lo modificamos para que se vea como la foto siguiente, lo resaltado en blanco, SOLO LAS LINEAS de pctel y ptserial, el resto es sólo de mi máquina y no es así en todas....

Modificando boot.local

Ahora, sólo nos resta configurarlo como un modem normal, conectado al puerto ttyS15, ir a CONFIGURACION PARA WVDIAL


|Contrate Nuestra asesoría, instalación y cursos en Sistemas Linux, Redes, etc. Acerca de este sitio web Webmaster | Volver Al Inicio | Compunauta Micro Linux (uLinux) El servidor en CD, sin innstalación. |