Mostrando entradas con la etiqueta fedora. Mostrar todas las entradas
Mostrando entradas con la etiqueta fedora. Mostrar todas las entradas

17 de febrero de 2008

Controlando Exaile con tu movil a traves de Bluetooth

Desde hace varios dias estaba buscando aplicaciones que pudiera controlar mi reproductor de musica (Exaile) en Fedora 8, usando los dispositivos bluetooth de mi telefono Nokia E62 y mi laptop Thinkpad T42. Para esta ivestigacion use como anyremote, ganyremote, anyremote-doc, anyremote-data.

Como primer punto debemos poseer Bluetooth tanto en el PC como en el telefono movil. Adicionalmente tener instalados los siguientes paquetes

  • bluez-gnome
  • Bluez-utils

Instalando todas las aplicaciones antes mencionadas, pongamos manos a la obra y comencemos la configuracion:

Verificando el dispositivo Bluetooth en linux
Por lo General el dispositivo bluetooth en linux es identificado como rfcomm, el cual podemos identificar su existencia con el siguiente comando:''ls -l /dev/rfcomm*''en caso de no exista el dispositivo en nuetro dispositivo podemo crearlo usando en comando mknod como sigue a continuacion

-m 666 /dev/rfcomm0 c 216 0

Creado el dispositivo configuremos la conexión al blootooth editaremos primero el archivo rfcomm.conf

como primer paso debemos conocer la direccion mac de nuestro movil y para esto usaremos el comando hcitool

hcitool scan


Este comando presentara una lista con todos los dispositivos detectados por nuestro pc un ejemplo de mi maquina es el siguiente:

root@volp-laptop bluetooth# hcitool scan
Scanning ...
00:18:42:BD:DA:52 VolpE62
root@volp-laptop bluetooth#

y por otra parte debemos conocer el canal por el cual nos conectaremos, para lo cual usaremos el comando sdptool

sdptool browse mac-del-movil | egrep “Serial|Dialup|Channel”

y este el resultado
root@volp-laptop bluetooth# sdptool browse 00:18:42:BD:DA:52 |egrep "Serial|Dialup|Channel" "Dialup Networking" (0x1103)
Channel: 1

"Dialup Networking" (0x1103)
Channel: 9
Channel: 28
Channel: 29
Channel: 15
Channel: 10

Channel: 11
Channel: 12
Channel: 13
Channel: 14
Channel: 8

Los servicios por los cuales controlaremos el PC a traves del telefono puede ser Dialup Network o Serial port. En mi caso es el cana 1
ahora editemos el archivo rfcomm.conf

#RFCOMM configuration file.
rfcomm0 {
#Automatically bind the device at startup

bind yes;
#Bluetooth address of the device
#Aqui la mac del dispositivo que capturamos con el PC
device 00:18:42:BD:DA:52;
#RFCOMM channel for the connection
#Aqui el canal que capturamos con el PC
channel 1;
#Description of the connection
comment "Control de Exaile";

}


Guardamos la configuracion y listo.

Podemos darle un poco de seguridad y colocarle un codigo pin para poder accesar nuestra consola de control del reproductor. Esto lo hacemos creando un archivo dentro de la carpeta /etc/bluetooth que llamaremos pin alli colocaremos el numero que deseemos para pin como ejemplo usaremos 123456.

Por ultimo instalaremos el cliente en nuetro telefono llamado anyremote.jar el cual lo enviaremos al mismo via bluetooth.

Una vez instalado, ejecutamos exayle, configuramos ganyremote en el PC, para la aplicacion la cual queremos controlar, en este caso exaile



Luego solo nos falta presionar run.



Hasta este punto tenemos corriendo el server de anyremote.

Ahora en el telefono ejecutamos anyremote, en la opciones ejecutamos search, y debemos ver nombre_maquila-anyRemote.

Al seleccionar esa conecion, nos solicitara el password o numero de pin, y aparecera una consola la cual podemos controlar nuestro media player via bluetooth.

El enlace en donde pueden conseguir todos los paquetes necesarios en formato RPM es el siguiente:
http://anyremote.sourceforge.net/dload.html

Informacion adicional pueden conseguir en:
http://anyremote.sourceforge.net/


26 de mayo de 2007

Instalando VMware Server en Fedora Core 6

Existen muchos port sobre problemas en la instalacion de VMware Server sobre Fedora, muchos con trucos que no funcionan, sobre todo si posees las ultimas actualizaciones del Kernel con la ultima version de VMware Server. Supongo que han dado tantas vueltas en distintas paginas y conocen como efectuar la instalacion de VMware. Basicamente estos son los requerimientos o la instalacion que efectue en mi caso, por lo tanto voy a obviar muchos pasos e involucrarnos en concfreto al problema.

Requerimientos:

Kernel version: 2.6.20-1.2948.fc6
VMware server Version: 1.03 en formato RPM
Instalar kernel-devel y Xinetd.

Post Instalacion

Una vez instalados todos los requerimientos, debemos ejecutar vmware-config.pl
y por supueto, el error.
Este es parte de error que genera la configuracion :



Using 2.6.x kernel build system.
make: se ingresa al directorio `/tmp/vmware-config10/vmmon-only'
make -C /lib/modules/2.6.20-1.2948.fc6/build/include/.. SUBDIRS=$PWD
SRCROOT=$PWD/. modules
make[1]: se ingresa al directorio
`/usr/src/kernels/2.6.20-1.2948.fc6-i686'
CC [M] /tmp/vmware-config10/vmmon-only/linux/driver.o
In file included from
/tmp/vmware-config10/vmmon-only/linux/driver.c:80:
/tmp/vmware-config10/vmmon-only/./include/compat_kernel.h:21:
error: expected declaration specifiers or ‘...’
before ‘compat_exit’
/tmp/vmware-config10/vmmon-only/./include/compat_kernel.h:21:
error: expected declaration specifiers or ‘...’
before ‘exit_code’
/tmp/vmware-config10/vmmon-only/./include/compat_kernel.h:21:
aviso: el tipo de dato por defecto es ‘int’ en la
declaración de ‘_syscall1’
make[2]: *** [/tmp/vmware-config10/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config10/vmmon-only] Error 2
make[1]: se sale del directorio
`/usr/src/kernels/2.6.20-1.2948.fc6-i686'
make: *** [vmmon.ko] Error 2
make: se sale del directorio `/tmp/vmware-config10/vmmon-only'
Unable to build the vmmon module.
For more information on how to troubleshoot module-related problems,
please
visit our Web site at
"http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.

Como se observa el error es causado en una de las cabeceras de vmmon de VMware, y eso es lo que vamos a solventar.

Codigo de la cabecera compat_kernel.h
A continuacion el codigo de la cabecera compat_kernel.h y la linea 21 resaltada en blanco. Lo que hacemos es colocarla como comentario, y solventado el problema. Es usado para procesadores de 64 bit y arm y provee un acceso a la funcion de salida Exit().




#ifndef
__COMPAT_KERNEL_H__
# define __COMPAT_KERNEL_H__
#include <asm/unistd.h>
/*
* Used by _syscallX macros. Note that this is global
variable, so
* do not rely on its contents too much. As exit() is only
function
* we use, and we never check return value from exit(), we
have
* no problem...
*/
extern int errno;
/*
* compat_exit() provides an access to the exit() function. It
must * be named compat_exit(), as exit() (with different
signature) is * provided by x86-64, arm and other (but not by
i386).
*/
#define __NR_compat_exit __NR_exit
//static
inline _syscall1(int, compat_exit, int, exit_code);

/*
* wait_for_completion and friends did not exist before 2.4.9.
*/
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 9)
#define compat_complete_and_exit(comp, status) complete_and_exit(comp,
status)
#else
/*
* See compat_wait_for_completion in compat_completion.h.
* compat_exit implicitly performs an unlock_kernel, in
resident code,
* ensuring that the thread is no longer running in module
code when the
* module is unloaded.
*/
#define compat_complete_and_exit(comp, status) do { \
lock_kernel(); \
up(comp); \
compat_exit(status); \
} while (0)
#endif
#endif /* __COMPAT_KERNEL_H__ */

Se preguntaran donde consigo este archivo.....
El mismo esta en un archivo comprimito tar llamado vmmon.tar, que instala vmware y en el caso de fedora es instalado en /usr/lib/vmware/modules/source/vmmon.tar, debemos descomrpimir este archivo en una carpeta temporal. Al descomprimirlo, buscar dentro de la carpeta vmmon_only/include el archivo compat_kernel.h y editarlo. En la edicion del archivo colocar como comentatio la linea 21, anteponiendo una doble barra de division (//).
Guardar la modificacion, empaquetar nuevamente directorio vmmon en formato tar y copiarlo nuevamente en /usr/lib/vmware/modules/source/vmmon.tar.
Ahora podemos ejecutar vmware-config.pl y responder a las preguntas que nos haga el instalador.

Esto es todo, si tienen alguna duda no duden en escribirme.
Share Up To 110 % - 10% Affiliate Program