Trouble: when i connect vga-out (switching ctrl+F6) the mouse pointer disappear some times (randomly).
Solution: adding this line to xorg.conf ( video device) the trouble was solved:
Option "SWCursor" "true"
explanation: Apparently when switch resolutions that they aren't the standard (wildscreen's resolutions), hardware cursor don't work correctly and cause this problem, so this option disable the hardware cursor and let my work with software cursor.
sábado, 9 de junio de 2007
tip: i810 + vga-out + mouse pointer
miércoles, 6 de junio de 2007
Linux RAS
####################################################
### howto linux RAS v0.1 / joemac@lugmen.org.ar / 2007 - 06 - 06 ###
####################################################
Creo que deben existir algo más de 30millones de tutoriales sobre como configurar un ras en linux, pero bueno... para no olvidarme acá va uno más.
CONFIG MODEM SMARTLINK USB
---------------------------
Comenzamos para este caso bajando los drivers apropiados para manejar estos modems genéricos, dependiendo de la distribución sera en mayor o menor medida dificil dejarlo en condiciones. pero basicamente tendremos que tener por lo menos los headers del kernel que estemos usando (en el caso de los precompilados) para poder generar el modulo que se insertará luego en /lib/modules/kernelver/misc/
En mi caso al instalarlo en una distribución basada en debian pude usar module-assistant que se encargó de bajar el driver-source de este modem y algunas cosillas mas para automatizar la carga de este al arranque (creación de nodos, etc)
Por alguna razón los nodos que creo para este modem se borran (solo los lsusb, los lsamr permanecen estáticos) pero como solo lo necesito para una presentación y no planeo usarlo luego podemos crearlos a mano.
mknod -m 600 /dev/slamr0 c 242 0 ; mknod -m 600 /dev/slamr1 c 242 1 ; mknod -m 600 /dev/slamr2 c 242 2 ; mknod -m 600 /dev/slamr3 c 242 3 ; echo -n
mknod -m 600 /dev/slusb0 c 243 0 ; mknod -m 600 /dev/slusb1 c 243 1 ; mknod -m 600 /dev/slusb2 c 243 2 ; mknod -m 600 /dev/slusb3 c 243 3 ; echo -n
luego de esto hay qe cargar el módulo slusb (si es que no se autocargó con udev y hotplug) y ejecutar
slmodemd /dev/slusb0 (con esto creamos el enlace simbolico a /dev/ttySL0)
CONFIG MGETTY
-------------------------
Para mi caso solo necesito agregar a /etc/mgetty/login.config
/AutoPPP/ - a_ppp /usr/sbin/pppd file /etc/ppp/options.SL0
Con lo cual le especificamos que auto levante ppp cuando reciba una conexion en el modem y que use los parámetros especificados en options.SL0
CONFIG PPP
-------------------------
Acá vamos a definir los métodos de conexion permitidos, velocidades, dns, ip, etc
Para este caso creamos el archivo /etc/ppp/options.SL0 con lo siguiente:
-detach
asyncmap 0
modem
crtscts
proxyarp
lock
require-pap
refuse-chap
ms-dns 192.168.10.2
usepeerdns
192.168.10.3:192.168.10.250
noauth
La primera ip es la que se le asignará al modem del lado del servidor al momento de establecer la conexión y la segunda es la ip que se le asignará al modem cliente que está llamando
Luego editamos /etc/ppp/pap-secrets agregando
* * "" *
Es bastante precario poner esto pero lo cierto es que por el momento para esta prueba no requería de más. (Si se desea pueden poneres usuarios y passwords específicos para determinada conexión o determinada ip)
PUESTA EN MARCHA
---------------------------
Luego de esto estamos en condiciones de aceptar conexiones entrantes y atenderlas con mgetty
Desde una terminal ejecutamos
mgetty /dev/ttySL0
(Podemos también si es nuestra intención dejar este servicio andando continuamente si agregamos a /etc/inittab
SL0:2345:respawn /sbin/mgettty /dev/ttySL0)
y probamos conectarnos desde alguna máquina remota con user y pass de alguien que esté creado en el sistema. (creando una conexión de acceso telefónico por ej)
Para habilitar el acceso a otros puntos de la red y compartir internet por ej, hacemos:
echo "1" > /proc/sys/net/ipv4/ip_forward
y listo tenemos acceso a la red local. Podriamos jugar un poco con iptables para hacer los ruteos un poco mas convenientes pero este no es el caso.
ALTERNATIVA SIN LINEA TELEFONICA (enlace punto a punto directo)
---------------------------
Una alternativa es usar programas como minicom y al momento de efectuar la llamada desde el cliente levantar el modem con un ATA y posteriormente insertar un script (que lleve /sbin/mgetty -r /dev/ttySL0), esto se hace ejecutando Alt+K pero debe haberse definido previamente en la configuración de minicom este script.
Puede ser que mgetty no atienda porque quiera trabajar sobre el mismo lockfile que minicom, podemos solucionarlo editando la configuración de minicom y estableciendo un nuevo archivo (en una ruta distinta) para el lock.
Por ej: originalmente está en /var/lock, y podríamos cambiarlo a /tmp/lock (cada programa usará un lock propio)
EOF
lunes, 28 de mayo de 2007
feisty updates (TV-OUT intel915)
Ok, ever since i have made the update to feisty, i haven`t a chance to test vga and tv out.
This weekend (i was boring) i can do it.
In my frist try ubuntu startup correctly and tv-out work in console mode (1024x768 i think..), but when X started.. everything what i saw was a gdm crash. The simple way (just MonitorLayout option in xorg) don`t work anymore.
I tried the same whit vga-out and everything works well , i did not have to change resolution ( 1280x800 to 1027x768) or anything... Now the Fn+F7 switch (CRT, LCD, LCD+CRT) works fine. (the mouse pointer is not lost after switch and y can alternate outputs whit no crash desktop).
Finally, i let the tv-out working whit a new xorg.conf, and now when X starts the screen is cloned and i can switch between TV+LCD, TV only and LCD only.
X --config /etc/X11/xorg.conf.sclone
the config is something like this:
###
Section "Device"
Identifier "SVIDEO"
Driver "i810"
Option "MonitorLayout" "TV,LFP"
Option "FlipPrimary" "True"
Option "TVStandard" "PAL-N"
Option "TVOutFormat" "SVIDEO"
Option "ConnectedMonitor" "TV"
Option "Clone" "True"
BusID "PCI:0:2:0"
EndSection
Section "Monitor"
Identifier "LCD"
Option "DPMS"
HorizSync 30 - 81
VertRefresh 56 - 76
EndSection
Section "Monitor"
Identifier "TV"
HorizSync 30-50
VertRefresh 60
EndSection
Section "Screen"
Identifier "TV"
Device "SVIDEO"
Monitor "TV"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x600" "640x480"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "LCDandTV"
Screen "TV"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Synaptics Touchpad"
Option "AIGLX" "true"
EndSection
Section "ServerFlags"
Option "DefaultServerLayout" "LCDandTV"
EndSection
TO-DO: TVStandard option don`t work well because although i set PAL-N, the svideo out keep going NTSC
jueves, 17 de mayo de 2007
Wi-Fi en mi laptop
Estos son los pasos que tuve que hacer para configurar la tarjeta de red inalambrica de mi laptop en Ubuntu.
Después de haber leído mucha info que hay dando vuelta por internet sin obtener los resultados que quería y llegando a pensar que mi tarjeta de red wi-fi ya no servia para nada, no me quedo otra que profundizar en el tema y ver que rayos era el problema.
El problema principal que tuve fue el de encontrar el driver adecuado para mi chipset más alla de que en muchas guías y howtos dicen bajate este driver que es el que funciona.
Probé muuuuchos drivers que encontré, pero para saber cual es que funciona hay que buscar el ID del dispositivo PCI, se puede ver con
$ lspci | grep BCM
05:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
y el primer número de la línea nos sirve como identificador para buscar el ID usando lspci -n 05:02.0
entonces en este caso el ID es 14e4:4318, los primeros 4 digitos son el ID del fabricante y los otros son el ID del dispositivo. Estos últimos 4 son los números que tenemos que buscar en los archivos .ini que acompañan al driver que descargamos. Por ejemplo, tengo 10 directorios, cada uno con un driver que encontré en internet y que supuestamente era el que funcionaba. Si hago un cat *.ini | grep 4318 en cada directorio, puedo ver solo 2 tienen una línea que menciona al identificador de mi tarjeta wi-fi. Y estos son los drivers que funcionaron en mi laptop.
Una vez que tenemos identificado el driver que funciona, tenemos que instalar el firmware para que el módulo de nuestro kernel lo utilize al ser cargado.
Esto lo podemos hacer con el paquete bcm43xx-fwcutter que se encuentra en los repositorios de Ubuntu.
Para instalar el firmware solo tenemos que hacer
$ sudo bcm43xx-fwcutter -w /lib/firmware/ driver.sys
Con esto debería estar instalado y solo faltaría hacer un
$ sudo rmmod bcm43xx
$ sudo modprobe bcm43xx
Para recargar el módulo y que comienze a funcionar.
-- Actualización 17.05.2007 --
Después de probar el módulo bcm43xx que viene con el kernel, creo que es mejor usar ndiswrapper; ya que proporciona mejor desempeño que el bcm43xx, que por ejemplo solo se conecta a 11M y con ndiswrapper llego a 54M.
Lo que hace ndiswrapper es usar directamente el driver para Windows de la tarjeta Wi-Fi.
miércoles, 16 de mayo de 2007
Configurando Beryl en mi v2615
Esta es la configuración mínima con la que me funciona la aceleración en mi laptop.
Tengo instalado el paquete xorg-driver-fglrx que proporciona el driver para la aceleración de la ATI Radeon XPRESS 200M. Con
$ sudo apt-get install xorg-driver-fglrx
Para configurar la aceleración primero se puede ejecutar el comando
$ sudo dpkg-reconfigure xserver-xorg
Seleccionando como driver fglrx y dejando las otras opciones como estan por defecto. Luego hay que hacer algunos cambios al archivo /etc/X11/xorg.conf
En la sección de los módulos lo dejé así
Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
La sección Device se ve así
Section "Device"
Identifier "aticonfig-Device[0]"
Driver "fglrx"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
EndSection
Y por último agregué una sección como esta al final del archivo
Section "Extensions"
Option "Composite" "Off"
EndSection
Y ahora reiniciando gdm con
$ sudo /etc/init.d/gdm restart
Deberiamos poder iniciar nuestra sesión en modo gráfico con aceleración. Para probarlo desde una terminal en modo gráfico escribimos
$ glxinfo | grep rendering
y veremos una línea como la siguiente
direct rendering: Yes
Bueno con esto ya tenemos la aceleración habilitada.
mejorando el rendimiento [ chipset intel915 - lg lw20 ]
Recién hace unos días, por cuestiones de la vida vine a darme cuenta que tenia tan solo 8mb dedicados a video (la placa puede usar hasta 128mb compartidos).
Con beryl y compiz noté una sutil diferencia en cuanto a manejo de ventanas cuando tenia varias abiertas (digamos mas de 3 por cada escritorio), así que aunque mis pruebas con glxgears no demostraron una mayor velocidad en cuanto a fps, si pude notar una mejoría en el trabajo diario.
(vamos a ver cuanto duran los efectitos y menus hasta que me aburran, otra vez y vuelva a mi parco entorno de todos los dias... pero rápido)
solo agregué unas lineas a la sección devices de xorg para poder manejar la cantidad de ram dedicada a video
Section "Device"
Identifier "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller"
Driver "i810"
BusID "PCI:0:2:0"
# Option "MonitorLayout" "TV, LFP"
# Option "TVStandard" "PAL-M"
# Option "MonitorLayout" "CRT+DFP,LFP" // deberia servir para probar con 2 salidas Option "VBERestore" "true"
# VideoRam 131072
Option "DRI" "true"
Option "AperTexSize" "65536"
# Option "DevicePresence" "true"
Ahora bien parece que automáticamente al definir AperTexSize toma el máximo ese disponible, sino directamente se puede trabajar con VideoRam y obtener los mismos resultados
Por ahora con 64mb de video noto una buena diferencia y no me quedo sin ram (hasta que compre el módulo de 1gb)
PD: la opción DevicePresence debería servir (no la he probado aun) para detectar correctamente la conexión de dispositivos de salida externo cuando estos son puestos al estilo hotplug (hasta ahora el vga-out anda jolia pero el tv-out si no lo pongo antes de prender al maquina se ve en blanco y negro por mas que configure la norma... bueh esto es otro tema que algún día cuando tenga tiempo revisaré)
miércoles, 11 de abril de 2007
ej filtro con bash
un poco de scripteria barata... (si no después me olvido y no tengo ganas de ponerme a pensar ni un minuto en algo qe ya hice antes jejeje)
deberia devolver mails enviados a cierto usuario en un dia determinado mostrando id del mensaje + direccion de correo de la persona que lo mando + hora de llegada + hora de entrega
for i in $(grep usuario /var/log/exim4/mainlog.1 | grep "=>" | grep "04-10" | cut -d " " -f 3) ; do echo;echo $i; grep $i /var/log/exim4/mainlog.1 | grep "<=" | cut -d " " -f 5;grep $i /var/log/exim4/mainlog.1 | grep "=" | cut -d " " -f 2;done>salida