# Capítulo 7. Preguntas y Respuestas Habituales

# 7.1. Pregutas Habituales

## 7.1.1. No puedo hacer funcionar el Kppp. Kppp me dice: "pppd has died or that a timeout has expired" (pppd ha muerto o el tiempo de espera ha pasado)

¿Leíste el este manual con cuidado? Aquí hay una vez más el peligro habitual.

- Asegúrate de que pppd es el binario de ppppd, no un script

- Asegúrate de que pppd tiene activado el setuid root. Debes fijar este modo como root así: chmod u+s pppd.

- Asegúrate de que tu fichero /etc/ppp/options existe, pero está vacío!

- Asegúrate de que NO has usado la opción "lock" como un argumento para el pppd (Kppp se encarga de bloquear el dispositivo)

- Usar el enlace simbólico `/dev/modem` puede causar algunos conflictos. Elimina esta fuente de problemas usando el dispositivo real. ej. `/dev/cuaX` o `/dev/ttySX`. NOTA: COM1 igual ttyS0, COM2 es ttyS1 y así.

- Asegúrate de que tienes los permisos necesarios. En caso de problemas podrías ejecutar el programa como root primero y después, cuando todo funcione o.k dale permisos menos restrictivos si no puedes permitirte el ejecutar el Kppp con setuid root. El modo adecuado de proceder puede ser crear un grupo "modem"

- Puedes estar lanzando el pppd demasiado pronto, por ejemplo antes de que el servidor remoto haya negociado una conexión PPP. SI estas usando un script para conectar debes usar el terminal incluido para verificar tu proceso de conexión. Algunos proveedores te requerirán que envíes un simple "Send" o "Send ppp" para lanzar PPP. Algunos usuarios han avisado de que han tenido que añadir "Pause 1" o "Pause 2" a sus scripts para resolver problemas de tiempo.

Si nada ayuda, puedes conseguir alguna información para depurar de los registros de tu sistema tecleando:

     # tail /var/log/messages

## 7.1.2. Kppp me dice ``Sorry, can't open the modem''.(Perdón, no puedo abrir el modem)

Esto significa que Kppp no tiene permisos para abrir el dispositivo del modem o que has seleccionado un dispositivo no valido en el cuadro de Modem. Primero asegúrate de que has seleccionado el dispositivo correcto. Una vez que te has asegurado de que has seleccionado el dispositivo correcto debes de darle los permisos necesarios para poder acceder al modem y ser capaz de modificar el fichero /etc/resolv.conf en el caso de que quieras que Kppp configure el DNS correctamente por ti. Si puedes permitirte el ejecutar Kppp con setuid root podrás resolver todos los problemas de acceso, si no, tendras que hallar cuales son los permisos necesarios para tus propósitos. Para darle a Kppp permisos del setuid root haz lo siguiente:

     % su root
     % chown root:root $(KDEDIR)/bin/kppp
     % chmod +s $(KDEDIR)/bin/kppp
     % exit

## 7.1.3. Kppp me dice "I can't create a modem lock file" (que no puede crear el fichero cerradura).

En la mayoría de los casos significa que has instalado pppd sin el bit de SETUID, la persona que esta ejecutando Kppp no tiene permisos para acceder al directorio de ficheros cerradura que por defecto es /var/lock. Para este ejemplo, en el caso de sistemas RedHat. Busca en el cuadro de Modem la localización exacta que has elegido. La solución es sencilla -- o ejecutas Kppp con SETUID si puedes permitírtelo, o das acceso al fichero /var/lock a los usuarios normales.

## 7.1.4. ¿Por qué Kppp está instalado con el bit SETUID?

No es necesario que el bit de SETUID esté activado, si conoces un poco de administración de sistemas Unix. Simplemente crea un grupo "modem", incluye a todos los usuarios que quieres que tengan acceso al modem y dale permisos al dispositivo de lectura/escritura al grupo. Lo mismo si quieres que funcione la configuración de DNS con Kppp, debes de darle permisos de lectura/escritura al fichero /etc/resolv.conf mediante el grupo. Lo mismo ocurre con los ficheros `/etc/ppp/pap-secrets` y `/etc/ppp/chap-secrets` si quieres usar el soporte PAP o CHAP, respectivamente.

Por favor, no me critiques por instalar Kppp con el bit de setuid habilitado, simplemente no puedo con todo el correo que me llega de los usuarios desesperados que tienen problemas para hacer funcionar el Kppp porque no entendían lo suficiente de Unix y permisos de dispositivos.

El equipo Kppp ha hecho mucho trabajo últimamente para hacer al Kppp seguro en el tema del setuid. Pero depende de ti el que decidas instalarlo y como instalarlo.

## 7.1.5. Kppp simplemente se sienta y espera: Expecting OK

- ¿Has jugado con la configuración de CR/LF?

- Tu modem puede necesitar algún tiempo para responder a su inicialización. Abre el cuadro "Comandos del Modem" en el apartado "Modem" y ajusta los retardos de "Pre-Inicio" y "Post-Inicio". Mira si funciona cuando los incrementas drásticamente para hacer el ajuste fino más tarde.

## 7.1.6. La conexión va bien, pero no puedo arrancar ninguna aplicación.

Probablemente has activado la opción Sección 4.2 y el servidor de X tiene problemas para conectar con tu nuevo servidor. Si de verdad necesitas esta opción (hay posibilidades de que no lo necesites) dependes de ti mismo para configurar los permisos adecuados. Tecleando xhost + antes de comenzar la conexión, hará el trabajo pero ten cuidado de que cualquier riesgo en seguridad que implique porque cualquier otra persona tendrá acceso a tu servidor de X.

## 7.1.7. kppp muestra una conexión segura, pero Netscape simplemente dice "El servidor no tiene una entrada DNS"

Prueba a hacer un ping a otro servidor, pero a su número IP, ej. `ping`. Si eso funciona debes

- Comprobar si le diste a Kppp al menos una dirección DNS.

- Comprobar el contenido de `/etc/host.conf`. Debe de haber una linea diciendo algo similar a `order hosts, bind`. El `bind` Sugiere a la libreria del "resolver" el incluir una consulta al servidor de nombres cuando busca una dirección.

## 7.1.8. ¿Cómo puedo hacer que Kppp envíe \n o \r?

Simplemente envía una cadena vacía como en el siguiente script:

     Send                                   # envía una cadena vacía
     Expect      ID:
     Send        itsme
     Expect      word:
     Send        forgot
     Expect      granted
     Send        ppp

## 7.1.9. Kppp se queja: "Can't create lock file" (no puedo crear el fichero cerradura)

Esto significa que no tienes permisos para crear el fichero cerradura. Si por ejemplo has especificado '/var/lock/LCK..modem" en la configuración del modem, deberás tener permisos de escritura para escribir en /var/lock Este por supuesto no es el problema si le has dado permisos de setuid a Kppp. Por favor lee la sección de Ficheros cerradura.

## 7.1.10. ¡Mi modem hace mucho ruido cuando marca!

Pulsa en "Configuración", "Modem". Puedes controlar el volumen del modem aqui en tres pasos: apagado, medio y alto. Para la mayoria de los modems "medio" y "alto" son el mismo volumen. Si eso no funciona asegúrate de que tienes los valores de configuración correctos para tu modem en "Configuración"/"Modem"/"Comandos del Modem"!

## 7.1.11. ¡Apagué el volumen del modem "off" y verifiqué los comandos del modem, pero sigo oyendo ese ruido cuando marca!

La cadena de inicialización del volumen puede perderse si tu modem no puede recibir los comandos desde Kppp a mucha velocidad. Incrementa el valor de "Retraso Post-Inicialización" en "Configuración"/"Modem"/"Comandos del Modem"!

## 7.1.12. Kppp habla de una velocidad de modem anormal 115200, 57600 o similar

Muchos modems solo avisan de la velocidad de la linea de serie, no de la velocidad sobre la linea telefónica por defecto. Debes configurar esos modems para que avisen de la verdadera velocidad sobre la linea (añade al modem o teclea la cadena). Para muchos modems eso se hace con el comando "ATW2". Si quieres añadirlo a la cadena de marcado (típicamente "ATD"), la nueva cadena sería "ATW2D".

## 7.1.13. Kppp dice "Velocidad desconocida"

Los nuevos modems a menudo tienen mensajes de conexión muy complejos como "CONNECT LAP.M/V42.bis/115000:RX/31200:TX", y Kppp no puedeentender el mensaje de forma adecuada. Enciende "Mostrar registro" y verás la velocidad de conexión. Actualmente estoy trabajando en una solución para ello, el programa es ahora mucho mejor, pero aun no es perfecto.

## 7.1.14. Baja velocidad de conexión

Si no estás satisfecho con la velocidad del modem, asegúrate de que tienes la velocidad de conexión ("Configuración" / "Dispositivo" / "Velocidad") puesta con 57600 o mayor. Asegúrate de que tus puertos de serie soportan velocidades mas altas. Muchos sistemas basados en i486 no hacen el trabajo de forma adecuada cuando fijas la velocidad a 115200. Si tienes una UART 8250 no funcionara. Si tienes una 16550 o 16550A debería funcionar sin fallar.

## 7.1.15. Mi linea de telefono necesita marcar con pulsos en vez de con tonos (o vice-versa)

Debes modificar tu cadena del modem. Casi todos los modems soportan los comandos AT:

- ATDT - selecciona marcar con tonos

- ATDP - selecciona marcar con pulsos

## 7.1.16. Kppp hace cosas realmente extrañas (lo que sea)

¿Lo compilaste tú el programa o las librerías con gcc-2.8? Esta versión de gcc tiene algo estropeado y no ejecutará como se espera.

## 7.1.17. ¿Cómo puedo escribir un fichero de reglas para el coste telefónico?

Unicamente sigue los ficheros de plantilla (TEMPLATE) que se proporcionan con Kppp. Puedes encontrar una copia en `$(KDEDIR)/doc/HTML/kppp`. Usa el comando -r en la línea de comandos para comprobar la sintaxis de tu fichero de normas propuesto.

## 7.1.18. He escrito un fichero de reglas de coste telefónico para mi región. ¿Dónde puedo enviarlo para que otros puedan usarlo?

Me encantaría recibir cualquier fichero de reglas que sea escrito. Los añadiré a mi Kppp web page. Antes de enviarme un nuevo fichero de reglas asegúrate de que no está ya disponible en la página web de Kppp. Después enviame el fichero de reglas por email a:mi.

## 7.1.19. ¿Puede mi fichero de reglas de costes co tener unidades fraccionales de tiempo, ej. "(0.17, 45.5)"?

Si es posible. Pero no deberás usar unidades de tiempo unusualmente pequeñas (por debajo de la decena de segundo), porque eso implica una mayor carga de CPU (aunque dudo que lo notes con una CPU moderna :-)

## 7.1.20. Mi país tiene otras vacaciones además de Semana Santa.

En ese caso nenesitarás escribir un nuevo código que te permita el cálculo de esas vacaciones. Por favor échale un vistazo al ruleset.cpp y emula el ejemplo "easter". Luego, envíame los parches a mi.