尝试将蓝牙套接字绑定到PSM 17和19时,MeeGo上会返回EACCESS

我正尝试将诺基亚N9(meego)用作虚拟蓝牙鼠标/键盘。 我试图用这个小程序作为出发点,但我遇到了问题:当我运行这个程序时,出现一个错误,告诉我“绑定错误(PSM 19):权限被拒绝”。 这是当蓝牙插座被绑定到PSM 19时。

当我以普通用户身份运行该程序时,也会以root身份运行时拒绝访问。

在互联网上搜索我发现低于0x1000的PSM(端口)被保留,而在其他蓝牙实现中,无法绑定到这些PSM是一个功能(例如jsr-82)。

我尝试了与PSM上面的0x1000相同的程序,它的工作,虽然,其他设备可能不会看到附近有一个HID设备:(

有没有办法绑定到这些PSM而不诉诸黑客的蓝牙堆栈本身?


PSM 17和19用于HID配置文件的使用。 您提到的诺基亚N9手机不支持HID配置文件,因此连接请求被拒绝是有道理的。 您可以在Bluetooth认证列表网站上查看任何蓝牙设备上支持的功能/配置文件。此处列出了这些电话功能https://www.bluetooth.org/tpg/QLI_viewQDL.cfm?qid=18246

编辑:下面的每条评论似乎是你试图通过运行N9的程序,你正在获取绑定错误,使N9的HID设备。 可能的原因可能是 - 某些其他服务/ deamon已经绑定到同一个PSM,或者该堆栈被配置为不接受对保留的PSM的动态绑定,因此拒绝绑定到不支持的配置文件的PSM。 最后一个是有意义的,因为它是一个合格的堆栈,并且不希望通过应用程序允许配置文件扩展(例如试图使其成为HID客户端的小程序)。


该程序必须以root身份运行。

链接地址: http://www.djcxy.com/p/9999.html

上一篇: Trying to bind bluetooth socket to PSM 17 and 19 returns EACCESS on MeeGo

下一篇: Reliably handle ASP.NET MVC model binding errors