16 de junio de 2009

Drivers linux controladora SYBA MM-ITE8871-PR8

En la versión del kernel que ando usando no se encuentra el driver especifico para la tarjeta "RS232 to PCI" que necesito instalar, esta trae 8 interfaces series, rebuscando encontré un parche para que el driver 8250_pci del nucleo detecte la misma:

--- linux-2.6.28-gentoo-r5/drivers/serial/8250_pci.c.orig       2008-12-23 09:43:11.000000000 +0200
+++ linux-2.6.28-gentoo-r5/drivers/serial/8250_pci.c 2009-06-16 13:13:43.000000000 +0200
@@ -2860,6 +2860,9 @@
PCI_ANY_ID, PCI_ANY_ID, 0, 0,
pbn_b3_8_115200 },

+ /* Syba PCI8871-PR8 8-port serial card */
+ { PCI_VENDOR_ID_PLX, 0x9016, 0x544e, 0x0008, 0, 0, pbn_b0_8_115200 },
+
/*
* Exar Corp. XR17C15[248] Dual/Quad/Octal UART
*/


Importante también aumentar el numero de UARTS disponibles a nivel kernel:
$ vi .config
CONFIG_SERIAL_8250_NR_UARTS=24
CONFIG_SERIAL_8250_RUNTIME_UARTS=24

Etiquetas:

Escrito por fsantos a las 13:11 | Enlace permanente | Comentarios (0) |

14 de junio de 2009

Accesos rapidos con tecla windows en Ubuntu

Por defecto en la versión de Ubuntu que estoy usando no es posible utilizar la tecla windows como modificador de atajos de teclado, antes que gnome había pasado por mis manos awesome, un gestor de ventanas orientado a modo texto puro, con atajos muy bien pensados, lo malo es que luego a la hora de utilizarlo con aplicaciones que no sean una consola se convierte en un horror.
A lo que vamos, copiar esos atajos tan chulos, casi todos hechos con la tecla windows, para ello tenemos que modificar unos parametros del layout de teclado (sistema/preferencias/teclado):



Mapeamos "super" a la tecla windows, sin esto cuando cambiamos los atajos e intentamos crear una convinación tecla win + otra cosa nos sale "Super L" unicamente (no convina).



Por último nos queda configurar las nuevas convinaciones tal como queramos, a mi estas me gustaron particularmente:



Así como win+enter: nueva consola, ó win+E: explorador de archivos (en plan win).

Etiquetas:

Escrito por fsantos a las 13:29 | Enlace permanente | Comentarios (0) |

27 de mayo de 2009

MySQL-python 5 en sistema con mysql 4

Si tenemos corriendo un mysql versión 4 en un sistema y queremos realizar una conexión a un mysql5 encontraremos errores del tipo:
Client does not support authentication protocol requested by server; consider upgrading MySQL client

En caso de que no sea posible actualizar en el propio sistema a la versión 5 la versión antigua de mysql se hace necesario utilizar compilar el conector con librerias mas actuales, para ello descargamos la última versión que encontremos de mysql ya compilada mismamente.

Para el caso de MySQL-python es necesario instalar desde fuentes y modificar la dirección de nuestros binarios de mysql5 en la configuración "MySQL-python-1.2.2/site.cfg":
[options]
# embedded: link against the embedded server library
# threadsafe: use the threadsafe client
# static: link against a static library (probably required for embedded)

embedded = False
threadsafe = True
static = True

# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /usr/src/mysql5/mysql-5.1.34-linux-x86_64-glibc23/bin/mysql_config

Lo configuramos como estatico e indicamos donde anda el mysql_config que acabamos de descargar.

Si ahora intentamos arrancar cualquier script encontraremos que python no encuentra las librerias de la nueva versión:
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

Tan solo tenemos que copiarlas a nuestro /usr/lib64/:
cp /usr/src/mysql5/mysql-5.1.34-linux-x86_64-glibc23/lib/libmysqlclient_r.so.16 /usr/lib64/

# ls -la /usr/lib64/|grep mysql
-rw-r--r-- 1 root root 460632 Sep 3 2008 libmysqlclient.a
-rwxr-xr-x 1 root root 897 Sep 3 2008 libmysqlclient.la
lrwxrwxrwx 1 root root 24 Sep 3 2008 libmysqlclient.so -> libmysqlclient.so.12.0.0
lrwxrwxrwx 1 root root 24 Sep 3 2008 libmysqlclient.so.12 -> libmysqlclient.so.12.0.0
-rwxr-xr-x 1 root root 277520 Sep 3 2008 libmysqlclient.so.12.0.0
-rw-r--r-- 1 root root 472412 Sep 3 2008 libmysqlclient_r.a
-rwxr-xr-x 1 root root 951 Sep 3 2008 libmysqlclient_r.la
lrwxrwxrwx 1 root root 26 Sep 3 2008 libmysqlclient_r.so -> libmysqlclient_r.so.12.0.0
lrwxrwxrwx 1 root root 26 Sep 3 2008 libmysqlclient_r.so.12 -> libmysqlclient_r.so.12.0.0
-rwxr-xr-x 1 root root 285840 Sep 3 2008 libmysqlclient_r.so.12.0.0
-rwxr-xr-x 1 root root 5326100 May 27 10:29 libmysqlclient_r.so.16

Etiquetas:

Escrito por fsantos a las 10:35 | Enlace permanente | Comentarios (0) |

26 de abril de 2009

Yoigo en Gentoo a través del TS705

He leido varios artículos de como configurar Yoigo en linux, pero ninguno con el Toshiba TS705 (debe ser el móvil de los pobres), en general las guías son las mismas que en el resto de situaciones:
Para empezar necesitamos arrancar bluetooth, la guía de gentoo está bastante detallada al respecto, con la salvedad del funcionamiento del manejador de pin, al final me decanté por kdebluetooth y a correr.
# emerge net-wireless/bluez-libs net-wireless/bluez-utils
# /etc/init.d/bluetooth start
# hcitool scan
Scanning ...
00:15:B7:56:B2:42 Noah

Con este telefono el truco está en que el puerto de "dialup" no se trata del número 1 que por defecto viene en la documentación, para descubrirlo utilizamos el siguiente comando:
Browsing 00:15:B7:56:B2:42 ...
Service Name: Serial Port Profile
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 16
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Serial Port" (0x1101)
...

Service Name: QC Dial-up Networking
Service RecHandle: 0x10003
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Si observamos el servicio "QC Dial-up Networking" se encuentra en el canal 8, para ello definiremos en /etc/bluetooth/rfcomm.conf una entrada tal que así:
rfcomm0 {
bind yes;
device 00:15:B7:56:B2:42;
channel 8;
comment "Yoigo TS705";
}

"bind" es necesario para que cree la entrada /dev/rfcomm0 sobre la que luego lanzaremos el dialer.
Reiniciamos el demonio, es interesante tener ya pareado el dispositivo, para eso nos sirve lanzarle un ping:
# l2ping 00:15:B7:56:B2:42
Ping: 00:15:B7:56:B2:42 from 00:03:44:24:30:A1 (data size 44) ...
4 bytes from 00:15:B7:56:B2:42 id 0 time 33.94ms
4 bytes from 00:15:B7:56:B2:42 id 1 time 23.83ms
^C2 sent, 2 received, 0% loss

Tras lo cual nos saltará un dialogo para introducir el mismo pin en el móvil y en el ordenador, es necesario tener lanzado el kbluetooth o lanzar en ese momento el passkey-agent (con este último no he conseguido que funcione). Una vez pareado ya no hará falta volver a hacer esto.

Una vez reiniciado tendremos ya creado el interfaz /dev/rfcomm0

emerge -av net-dialup/wvdial


Creamos el archivo .wvdialrc en nuestro home con el contenido siguiente:
[Dialer YoigoBT]
Modem = /dev/rfcomm0
Phone = *99***1#
Username = ''
Password = ''


Si hubieramos definido mal el canal remoto bluetooth y cambiado la config del teléfono obtendríamos esta salida:
# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused


Tenemos que soltar el canal, para ello:
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 1 closed
# rfcomm release 00:15:B7:56:B2:42
# rfcomm -a
# /etc/init.d/bluetooth restart
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 8 clean


# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Sun Apr 26 22:46:37 2009
--> Pid of pppd: 7783
--> Using interface ppp0
--> local IP address 217.168.x.x
--> remote IP address 10.64.x.x
--> primary DNS address 10.8.x.x
--> secondary DNS address 10.8.x.xx


Solo queda configurar la puerta de enlace y los dns ;)

Etiquetas: , ,

Escrito por fsantos a las 21:16 | Enlace permanente | Comentarios (0) |

Bluetooth en Toshiba Satellite U300-14Q

Descargamos el codigo de omnibook mediante subversion:
svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk


Tal como describe Toshiba Satellite U300 en Ubuntu Linux aplicamos un parche, si no lo hubieramos aplicado nos saldría la siguiente respuesta a los comandos:
# cat /proc/omnibook/dmi
BIOS Vendor: TOSHIBA
BIOS Version: V5.10
BIOS Release: 01/15/2009
System Vendor: TOSHIBA
Product Name: Satellite U300
Version: PSU30E-07202ECE
Serial Number: 28050519W
Board Vendor: TOSHIBA
Board Name: Not Applicable

# dmesg
omnibook: Driver version 2.20070211-trunk.
omnibook: Unknown model.
omnibook: dmi feature has no backend table, io_op not initialized.
omnibook: version feature has no backend table, io_op not initialized.
omnibook: Enabled features: dmi version.


Editamos laptop.h y añadimos una nueva entrada si no está definida:
{
.callback = dmi_matched,
.ident = “Toshiba Satellite U300″,
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, “TOSHIBA”),
DMI_MATCH(DMI_PRODUCT_NAME, “Satellite U300″),
},
.driver_data = (void*) TSM70
},


make, make install, e importantisimo, sobreescribir el modulo actual que pudieramos tener instalado vaya que estemos usando uno viejo sin el parche (ya lo he sufrido :p) el instalador no lo hace correctamente. Normalmente anda por: /lib/modules/{VERSION}/char/omnibook.ko

#dmesg
omnibook: Driver version 2.20070211-trunk.
omnibook: Toshiba Satellite U300 detected.
...
omnibook: Try to init ACPI backend
omnibook: ACPI EC device found
input: Omnibook ACPI scancode generator as /class/input/input6
omnibook: hook_connect for device AT Translated Set 2 keyboard.
omnibook: Enabling Toshiba Bluetooth ACPI device.
omnibook: ACPI backend init OK
omnibook: Returning table entry nr 0.
omnibook: BTST raw_state: c1
...
usb 7-2: new full speed USB device using uhci_hcd and address 2
usb 7-2: New USB device found, idVendor=0930, idProduct=0508
usb 7-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 7-2: configuration #1 chosen from 1 choice

# lsusb
Bus 002 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd
Bus 002 Device 001: ID 1d6b:0002
Bus 007 Device 002: ID 0930:0508 Toshiba Corp.
Bus 007 Device 001: ID 1d6b:0001
Bus 006 Device 001: ID 1d6b:0001
Bus 005 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001

# hciconfig
hci0: Type: USB
BD Address: 00:03:7A:A6:3A:C3 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:959 acl:0 sco:0 events:26 errors:0
TX bytes:353 acl:0 sco:0 commands:26 errors:0


Para que carge siempre al arranque de sistema (en gentoo):
echo "omnibook" > /etc/modules.autoload.d/kernel-2.6

Etiquetas: ,

Escrito por fsantos a las 20:23 | Enlace permanente | Comentarios (0) |