2011-11-16 8 views
7

Estoy tratando de usar el Nokia N9 (meego) como un mouse/teclado virtual Bluetooth. Estoy tratando de usar this small program como punto de partida, pero me encuentro con un problema: cuando estoy ejecutando este programa me sale un error diciéndome que "Error de enlace (PSM 19): Permiso denegado". Esto es cuando un socket bluetooth está vinculado a PSM 19.Intentar vincular el socket bluetooth a PSM 17 y 19 devuelve EACCESS en MeeGo

Obtengo acceso denegado cuando ejecuto el programa como un usuario normal, también cuando se ejecuta como root.

Buscando en Internet encontré que PSM (puertos) por debajo de 0x1000 están reservados, y que en otras implementaciones de bluetooth la incapacidad para enlazar a estos PSM es una característica (por ejemplo, jsr-82).

He probado el mismo programa con PSM por encima de 0x1000 y funcionó, aunque, otros dispositivos podrían no ver que hay un dispositivo HID cercana :(

¿Hay una manera de obligar a estos PSM sin recurrir a la piratería la propia pila bluetooth?

Respuesta

1

El programa debe ejecutarse como root.

2

PSM 17 & 19 es para el uso del perfil HID. el teléfono que usted ha mencionado Nokia N9 no soporta el perfil HID, así que tiene sentido que la solicitud de conexión se rechaza. se puede ver la características/perfiles admitidos en cualquier dispositivo Bluetooth en el sitio de listados habilitados por Bluetooth. e listed here https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=18246

EDITAR: Por los comentarios a continuación, parece que está tratando de hacer que el N9 sea un dispositivo HID al ejecutar el programa en el N9 donde está obteniendo el error de vinculación. Posibles motivos podrían ser: Algunos otros servicios/deamon ya están vinculados a este mismo PSM, o la pila está configurada para no aceptar el enlace dinámico a los PSM reservados y, por lo tanto, rechaza los enlaces a PSM para los perfiles que no admite. El último tiene sentido ya que es una pila calificada y no desea permitir extensiones de perfil a través de aplicaciones (como el pequeño programa que intenta convertirlo en un cliente HID).

+0

El EACCESS que estoy recibiendo no es cuando estoy tratando de conectarme a N9, sino que recibo este error cuando intento hacer que el N9 sea un dispositivo HID. El pequeño programa implementa la porción de mouse y teclado del perfil HID. Este es el tipo de error que obtienes cuando intentas escuchar en un puerto de menos de 1024 en Linux como un usuario no root sin algunos trucos de permisos. Corrígeme si estoy equivocado, pero tu respuesta suena como "no puedes escuchar en el puerto 80 porque no tienes un servidor web funcionando". – lego

+0

¿Estás ejecutando este programa en el N9? (¿Cómo lo está convirtiendo en un dispositivo HID?) En relación con la analogía del servidor web, básicamente estaba diciendo que no se puede conectar al puerto 80 porque no hay un servidor web en ejecución. Supuse que está ejecutando este pequeño programa en una PC o dispositivo externo y desde allí tratando de conectarse al N9, pero parece que está ejecutando este programa en el N9 y tratando de hacerlo un dispositivo HID. –

+0

Sí, exactamente, estoy ejecutando este programa en N9. – lego

Cuestiones relacionadas