miércoles, 28 de mayo de 2008

Ubuntu Hardy e Internet pppoe sobre Wifi

Esta vez voy a escribir sobre un problema que me tuvo de cabeza durante varios días. Sucede que necesitaba conectar un notebook a una conexión wi-fi de telefónica del sur. A pesar que el driver de la tarjeta estaba instalado (la tarjeta es una Atheros ar5007eg) y que funcionaba perfectamente con otras redes inalámbricas, con la susodicha conexión no había forma de que funcionara. Averiguando en Google no obtuve mayor respuesta, salvo que en algún foro comentaban que telefónica del sur usa doble marcado, primero hay que conectarse a la red inalámbrica y luego hay que conectarse por medio de pppoe mediante usuario y contraseña. Sin embargo, nadie aportaba una forma definitiva de conectarse.

Sabiendo eso, traté de conectarme al wireless primero, utilizando network-manager, pero me pedía la clave una y otra vez, y no conectaba, a pesar que la clave era correcta. Después traté de conectarme usando el comando pppoeconf desde la terminal, pero el mensaje que invariablemente me arrojaba era:

Lo siento, se consultaron 2 interface(s), pero no respondió el concentrador de acceso de su proveedor. Por favor, verifique sus cables de red y del módem. Otra razón del fallo puede ser también que esté ejecutándose otro proceso pppoe y que éste esté controlando el módem.

En las siguientes líneas voy a mostrar como resolví el problema. Preguntando aquí y allá, además de seguir buscando en Google, decidí conectarme al router wifi a través de la consola, a ver si tenía más suerte (en realidad un amigo me dijo que lo hiciera así). Primero hacemos un ifconfig, para saber como están nuestras interfaces. Por esas cosas del destino, antes de empezar a usar el pppoeconf el comando ifconfig me arrojaba las siguientes interfaces: eth0, l0 y wlan0. Después de usar pppoeconf, el resultado de ifconfig es diferente, como puede verse a continuación:

patagonian@pt-laptop:~$ ifconfig

ath0 Link encap:Ethernet direcciónHW 00:4a:f1:97:53:cf
ARRIBA DIFUSIÓN MULTICAST MTU:1500 Metric:1

eth0 Link encap:Ethernet direcciónHW 00:2f:82:d0:09:ba
ARRIBA DIFUSIÓN MULTICAST MTU:1500 Metric:1

lo Link encap:Bucle local
inet dirección:127.0.0.1 Máscara:255.0.0.0
dirección inet6: ::1/128 Alcance:Anfitrión
ARRIBA LOOPBACK CORRIENDO MTU:16436 Metric:1

wifi0 Link encap:UNSPEC direcciónHW
00-4F-F9-76-58-BD-00-00-00-00-00-00-00-00-00-00
ARRIBA DIFUSIÓN CORRIENDO MULTICAST MTU:1500 Metric:1

En este caso, ath0 corresponde a la tarjeta Atheros (eso lo leí en Google :) ). Por lo tanto, el siguiente paso será conectar ath0 a la red inalámbrica. Para conseguirlo, primero levantamos la interface:

patagonian@pt-laptop:~$ sudo ifconfig ath0 up
[sudo] password for patagonian:

A continuación introduccimos el ESSID, o sea, el nombre de nuestra red.

patagonian@pt-laptop:~$ sudo iwconfig ath0 essid nombre_red

Ahora introducimos la clave:

patagonian@pt-laptop:~$ sudo iwconfig ath0 key clave_hexadecimal

...y comprobamos el estado de la interface ath0:

patagonian@pt-laptop:~$ sudo iwconfig ath0
ath0 IEEE 802.11g ESSID:"nombre_red" Nickname:""
Mode:Managed Frequency:2.412 GHz Access Point: 00:66:90:D2:A0:F2
Bit Rate:54 Mb/s Tx-Power:16 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Encryption key:xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx Security mode:restricted
Power Management:off
Link Quality=21/70 Signal level=-74 dBm Noise level=-95 dBm
Rx invalid nwid:5846 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Fíjense que tenemos asignado un Access Point. Cuando lo intenté a través de network-manager, jamás logré conectar. En este punto ya tenemos conexión al router, pero aún no tenemos salida a internet. Para esto ejecutamos pppoeconf y seguimos las instrucciones que nos dará el asistente. Deben tener a mano su usuario y contraseña proporcionado por su isp. En mi caso, la cuenta es del tipo usuario@telsur.

patagonian@pt-laptop:~$ sudo pppoeconf
Plugin rp-pppoe.so loaded.

Y para asegurarnos que tenemos salida a internet, le hacemos ping a google. Abrir Firefox también vale, pero hay que tener en cuenta que la primera vez que abrí Firefox, se abrió en modo sin conexión.

patagonian@pt-laptop:~$ ping www.google.cl
PING www.l.google.com (74.125.45.104) 56(84) bytes of data.
64 bytes from yx-in-f104.google.com (74.125.45.104): icmp_seq=1 ttl=238 time=165 ms
64 bytes from yx-in-f104.google.com (74.125.45.104): icmp_seq=2 ttl=238 time=161 ms
64 bytes from yx-in-f104.google.com (74.125.45.104): icmp_seq=3 ttl=238 time=158 ms
64 bytes from yx-in-f104.google.com (74.125.45.104): icmp_seq=4 ttl=235 time=159 ms
64 bytes from yx-in-f104.google.com (74.125.45.104): icmp_seq=5 ttl=238 time=168 ms

--- www.l.google.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 4999ms
rtt min/avg/max/mdev = 158.666/162.781/168.740/3.700 ms
patagonian@pt-laptop:~$

Consideraciones Finales:

Aún no logro que conecte correctamente en forma automática al reiniciar. Esto porque si bien le digo que sí al asistente del pppoeconf cuando pregunta si quiero que conecte automáticamente al inicio, sucede que en ese punto la conexión al router aun no está establecida, por lo que tengo que bajar la conexión pppoe, levantar ath0 con el procedimiento de más arriba y volver a conectar el pppoe.

jueves, 8 de mayo de 2008

Instalación de diccionarios en OOo

En OpenOffice.org se puede instalar un diccionario de forma muy fácil, haciendo uso del asistente que viene al efecto. Sin embargo, en ocasiones es necesario hacer una instalación manual, sobre todo cuando se quiere hacer una instalación más personalizada. Motivos para esto hay varios, entre ellos cuando se quiere evitar bajar un diccionario que ya se tiene en una instalación antigua o cuando se quiere usar un diccionario como si fuera otro.


En lo sucesivo, se va a utilizar los diccionarios es_CL (Chile), pero lo que aquí se describe sirve para cualquier otra localización como es_AR (Argentina), es_CO (Colombia), etc.


Básicamente, se van a borrar diccionarios innecesarios y se van a agregar otros. Los pasos a seguir son:


1) Bajar el archivos ES_CL.zip desde http://es.openoffice.org/programa/diccionario.html. Si se va usar el diccionario de otra localización, se baja el diccionario correspondiente. Si ya se tiene el diccionario de una instalación anterior, este paso puede omitirse.


2) El paquete se descomprime en la carpeta de usuario y luego se mueve su contenido a /usr/lib/openoffice/share/dict/ooo mediante la consola (Aplicaciones > Accesorios > Terminal):


sudo mv es_CL/*es_CL* /usr/lib/openoffice/share/dict/ooo


3) Una vez que se han trasladado los diccionarios, es necesario abrir el archivo dictionary.lst, con permisos de administrador:


sudo gedit /usr/lib/openoffice/share/dict/ooo/dictionary.lst


4) Al abrir el archivo, se ve que al final del mismo deben agregarse las líneas:


DICT es CL es_CL


Si se quiere además tener diccionarios de sinónimos, hay que maquillar el diccionario de sinónimos para el español de España. Lo mismo para el de separación silábica. Para esto se agregan las líneas:


THES es CL th_es_ES_v2


HYPH es CL hyph_es_ES


Sólo resta guardar y cerrar Gedit. Es necesario reiniciar OpenOffice.org, incluido el inicio rápido si es que está habilitado.


5) Aunque no es estrictamente necesario, es buena idea borrar los diccionarios que no se utilizarán, sobre todo si se va a marcar la opción corregir en todos los idiomas. De no hacerlo, el rendimiento de OpenOffice.org decaerá notablemente. Para esto cambiamos de directorio en la consola:


cd /usr/lib/openoffice.org2.4/share/dict/ooo/


Luego se procede a borrar todos los diccionarios que no se ocuparán. Esta lista varía en función de los usos de cada uno. En mi caso, sólo he dejado los diccionarios en español localizados para Chile, y los de inglés para EE.UU. y Gran Bretaña.


sudo rm *ZA* *EE* *FR* *HU* *DK* *DE* *LT* *PL* *NL* *IT* *RU* *SI* *NP* *SK* *SE* *TH* *CZ* *AT* *CH* *BR* *TZ*


6) Se abre nuevamente el archivo dictionary.lst como en el punto (3) y se borran las entradas correspondientes a los diccionarios removidos. Una vez que esté hecho, se guardan los cambios y ce cierra Gedit.


Nota: Después de realizar este procedimiento se consiguió que OOo pasara de ocupar 200 MB a sólo 70 MB. La razón es que estaba marcada la opción corregir en todos los idiomas en Herramientas > Opciones > Configuración de Idioma > Linguistica.


Nota 2: Es posible que sea necesario dar permisos para edición al archivo dictionary.lst. Puede hacerse por consola o navegar hasta el archivo, hacer click derecho sobre el mismo, ir a Propiedades, luego a la pestaña Permisos y en el campo "Propietario" dar Acceso de Lectura y escritura.

Nota 3: Finalmente, para que funcionara debí borrar el archivo /home/carpeta_de_usuario/.openoffice.org2/user/registry/data /org/openoffice/Office/Linguistic.xcu y cambié el propietario de los archivos instalados, desde root a mi usuario:

sudo chown -hR mi_usuario:users /opt/openoffice.org2.4/

Nótese que no estoy usando la versión que viene con Ubuntu, si no la del proyecto oficial. Por eso está instalada en /opt y no en /usr/lib/. Los pasos anteriores también sirven para el caso que se esté usando está versión, sólo es necesario hacer el cambio de directorio apropiado al comienzo de cada instrucción.