LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1522|回复: 3

通过蓝牙可以给山寨机发文件,但是无法和品牌机配对相连。

[复制链接]
发表于 2009-12-22 09:13:31 | 显示全部楼层 |阅读模式
问题描述:
1.我使用的是SLackware13,使用obexput 将XXX.txt发送指定地址的手机,结果能够和山寨机建立连接,不需要配对,但是和品牌机需要配对。在配对的时候我修改了/etc/bluetooth/hcid.conf中的默认的PIN码,改为1234,然后重启了蓝牙服务。但是依然不能和品牌机相连。
那么我该如何解决呢?
2.我目前自己写一个给蓝牙设别发文件的程序,思路如下:
1.查找本机的adapter
2.通过本地的adapter搜索周围开蓝牙服务的设备
3.检索2中得到的设备所开的服务中obex文件传输服务的信道
4.通过obex建立连接,发送文件

这里我开了四个线程:
一个是用查找本机的adapter
一个是通过本地的adapter搜索周围开蓝牙服务的设备,并查询服务信道
一个是发送文件
还有一个是主线程。
请问,这样做合适不?
发表于 2009-12-22 09:44:06 | 显示全部楼层
hcid.conf 中设置默认 PIN 的模式并不适合所有的手机。这种做法在很多手机上会连不通。所以这个懒没法偷。

我测试的结果是,要想保证跟所有设备配对,要么启一个 passkey_agent,要么自己写一个 dbus 程序调用 hcid 接口去注册配对相关事件。

如果不需要经常更改配对码的话,启一个 passkey_agent 是个简单方案。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-23 09:49:51 | 显示全部楼层
请问:
我该如何启动呢?
我的系统里没有图形化的工具,也没有找到一个类似的命令行工具。
如果我要自己写程序来实现的话,那么我该如何做呢?
您是否可以给个例子呢
谢谢~~
回复 支持 反对

使用道具 举报

发表于 2010-3-10 16:34:08 | 显示全部楼层
不太懂你的意思,如果没有命令行 工具,就自己用busybox 做一个
不行就在启动时,直接指定 init= 你的程序
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表