嵌入式爱好者

查看: 12715|回复: 15

[Linux] 8723bu 蓝牙模块调试 bluez移植 obexd传输文件问题

[复制链接]

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

扫一扫,手机访问本帖
发表于 2018-4-25 10:25:22 | 显示全部楼层 |阅读模式
hello,最近在飞凌i.MX6的开发板上调试蓝牙功能,蓝牙芯片是realtek8723bu,移植了bluez-5.18和bluez-5.37,这两个版本的配对功能都是正常的,唯独使用obexd传输文件,一直是失败的,报的错误是不支持Unicode Utf-16be 转换为 Unicode UTF-8,请问有哪位朋友遇到了类似这样的问题,该怎么解决???万分感谢
回复

使用道具 举报

0

主题

6

帖子

25

积分

i.MX6Q通行证XX18通行证TCU通行证AM335x通行证i.MX6UL通行证

发表于 2018-4-27 13:23:18 | 显示全部楼层
目前,和你遇见同样的问题:
obexd[1057]: ../bluez-5.37/obexd/plugins/bluetooth.c:profile_new_connection() device /org/bluez/hci0/dev_20_47_DA_F3_3C_3B
obexd[1057]: ../bluez-5.37/obexd/src/obex.c:obex_session_start()
obexd[1057]: ../bluez-5.37/obexd/src/obex.c:cmd_connect()
obexd[1057]: CONNECT(0x0), (null)(0xffffffff)
obexd[1057]: ../bluez-5.37/obexd/src/obex.c:cmd_connect() Selected driver: Object Push server
obexd[1057]: CONNECT(0x0), (null)(0x0)
obexd[1057]: disconnected: Unicode conversion failed: Conversion from character set 'UTF-16BE' to 'UTF-8' is not supported
obexd[1057]: ../bluez-5.37/obexd/src/obex.c:obex_session_destroy()
[10229.274305] rtk_btusb: update_hid_active_state: handle = c, interval = 0x320
[10229.281395] rtk_btusb: hid not connected in the handle, nothing to be down。
你的解决怎么样了?

点评

没有解决;我感觉跟iconv库有关系,现在自己下了iconv的源码,编译生成静态库,提供给glib库链接,然而,仍然报出不支持转码的错误。你有什么思路,目前在采取什么方法调试这个问题??  详情 回复 发表于 2018-4-27 15:08
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-4-27 15:08:05 | 显示全部楼层
hyc 发表于 2018-4-27 13:23
目前,和你遇见同样的问题:
obexd[1057]: ../bluez-5.37/obexd/plugins/bluetooth.c:profile_new_connect ...

没有解决;我感觉跟iconv库有关系,现在自己下了iconv的源码,编译生成静态库,提供给glib库链接,然而,仍然报出不支持转码的错误。你有什么思路,目前在采取什么方法调试这个问题??

点评

hyc
我今天下午遇到的这个问题,我一直在定位,也是定位到了iconv库,比如我的主板上: iconv -f UTF-16BE -t UTF-8 1.txt iconv: conversion from `UTF-16BE' is not supported Try `iconv --help' or `iconv --usa  详情 回复 发表于 2018-4-27 16:54
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

25

积分

i.MX6Q通行证XX18通行证TCU通行证AM335x通行证i.MX6UL通行证

发表于 2018-4-27 16:54:04 | 显示全部楼层
cks-nj 发表于 2018-4-27 15:08
没有解决;我感觉跟iconv库有关系,现在自己下了iconv的源码,编译生成静态库,提供给glib库链接,然而, ...

我今天下午遇到的这个问题,我一直在定位,也是定位到了iconv库,比如我的主板上:
iconv -f UTF-16BE -t UTF-8 1.txt
iconv: conversion from `UTF-16BE' is not supported
Try `iconv --help' or `iconv --usage' for more information.
也就是说不支持UTF-16BE。我也是想重新编译这个库,但是glib库的链接:
root@imx6qsabresd:/usr/lib# ldd libglib-2.0.so.0.4600.2
        linux-vdso.so.1 (0x7ef32000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x76e5e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x76e35000)
        libc.so.6 => /lib/libc.so.6 (0x76cfb000)
        /lib/ld-linux-armhf.so.3 (0x54ab0000)
没有这个库啊?
还在想。你的微信号是多少可以联系一下。

点评

libiconv的库是不是包含在libc.so里了,  详情 回复 发表于 2018-4-27 17:18
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

25

积分

i.MX6Q通行证XX18通行证TCU通行证AM335x通行证i.MX6UL通行证

发表于 2018-4-27 17:10:01 | 显示全部楼层
你有没有尝试把产生错误的这段代码,给注释掉?看下是否可以运行?

点评

注掉后解析header的错误会跳过去,但是后面传输数据的时候(cmd_put),依然报错  详情 回复 发表于 2018-4-27 17:12
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-4-27 17:12:27 | 显示全部楼层
hyc 发表于 2018-4-27 17:10
你有没有尝试把产生错误的这段代码,给注释掉?看下是否可以运行?

注掉后解析header的错误会跳过去,但是后面传输数据的时候(cmd_put),依然报错
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-4-27 17:18:47 | 显示全部楼层
hyc 发表于 2018-4-27 16:54
我今天下午遇到的这个问题,我一直在定位,也是定位到了iconv库,比如我的主板上:
iconv -f UTF-16BE - ...

libiconv的库是不是包含在libc.so里了,

点评

hyc
我也是在看这个依赖,我怀疑是libc。你看下 iconv, iconvconfig,因为我设备全部lib里面没有libiconv字样,但是却有: root@imx6qsabresd:/# find usr/ -name "*iconv*" usr/lib/slang/v2/modules/iconv-module.so  详情 回复 发表于 2018-4-27 17:28
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

25

积分

i.MX6Q通行证XX18通行证TCU通行证AM335x通行证i.MX6UL通行证

发表于 2018-4-27 17:28:15 | 显示全部楼层
cks-nj 发表于 2018-4-27 17:18
libiconv的库是不是包含在libc.so里了,

我也是在看这个依赖,我怀疑是libc。你看下 iconv, iconvconfig,因为我设备全部lib里面没有libiconv字样,但是却有:
root@imx6qsabresd:/# find usr/ -name "*iconv*"
usr/lib/slang/v2/modules/iconv-module.so
usr/share/slsh/iconv.sl
usr/share/aclocal/iconv.m4
usr/bin/iconv
usr/bin/.debug/iconv
usr/sbin/iconvconfig
usr/sbin/.debug/iconvconfig,
你的系统那,本身有libicon库吗?

点评

我的系统没有libiconv.so,今天下午自己写了个iconv的测试代码,通过l ibiconv-1.15的源码,交叉和编译产生libiconv.a, 编译测试代码时,链接该libiconv.a,得到一个bin文件,copy到板子上,执行该bin文件,iconv_op  详情 回复 发表于 2018-4-27 20:23
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-4-27 20:23:12 | 显示全部楼层
hyc 发表于 2018-4-27 17:28
我也是在看这个依赖,我怀疑是libc。你看下 iconv, iconvconfig,因为我设备全部lib里面没有libiconv字样 ...

我的系统没有libiconv.so,今天下午自己写了个iconv的测试代码,通过l ibiconv-1.15的源码,交叉和编译产生libiconv.a, 编译测试代码时,链接该libiconv.a,得到一个bin文件,copy到板子上,执行该bin文件,iconv_open还是失败。默认情况下,glib的交叉编译,应该使用的是系统自带的libiconv,网上有种说法:iconv_open有问题,可能是iconv版本库的问题,需要更新iconv版本,我试了几个iconv的版本都不行,也可能在编译的时候根本有去链指定的iconv库,这一方面你可以再做个尝试。

点评

hyc
我的可以使用了,我编译了1.14的代码,然后将这个文件移除或重命名,/usr/lib/gconv/gconv-modules.cache,再export LD_PRELOAD="/usr/lib/preloadable_libiconv.so" ,就可以正常接收文件了。  详情 回复 发表于 2018-4-28 15:17
点评回复 支持 反对

使用道具 举报

0

主题

6

帖子

25

积分

i.MX6Q通行证XX18通行证TCU通行证AM335x通行证i.MX6UL通行证

发表于 2018-4-28 15:17:14 | 显示全部楼层
cks-nj 发表于 2018-4-27 20:23
我的系统没有libiconv.so,今天下午自己写了个iconv的测试代码,通过l ibiconv-1.15的源码,交叉和编译产 ...

我的可以使用了,我编译了1.14的代码,然后将这个文件移除或重命名,/usr/lib/gconv/gconv-modules.cache,再export LD_PRELOAD="/usr/lib/preloadable_libiconv.so" ,就可以正常接收文件了。:victory:

点评

兄弟,能不能说的再具体点儿?我之前也采用过.so库的形式,但是没有成功。应该是我操作的问题。你说删除或重命名/usr/lib/gconv/gconv-modules.cache,该文件是编译服务器上的还是开发板上的?(我的开发板上没有这  详情 回复 发表于 2018-5-3 09:43
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-5-3 09:43:00 | 显示全部楼层
hyc 发表于 2018-4-28 15:17
我的可以使用了,我编译了1.14的代码,然后将这个文件移除或重命名,/usr/lib/gconv/gconv-modules.cache ...

兄弟,能不能说的再具体点儿?我之前也采用过.so库的形式,但是没有成功。应该是我操作的问题。你说删除或重命名/usr/lib/gconv/gconv-modules.cache,该文件是编译服务器上的还是开发板上的?(我的开发板上没有这个文件),还有这个preloadable_libiconv.so是直接编译出来的,还是编译生成.so后重新命名成的preloadable-libiconv.so??

点评

被动传输文件已经搞定。preloadable_libiconv.so在preload目录下。但是主动传输文件,开发板连接手机,报:“Failed to connect : org.freedesktop.Dbus.Error.AccessDenied”,真让人无语,感觉应该是配置文件的问  详情 回复 发表于 2018-5-3 18:47
点评回复 支持 反对

使用道具 举报

2

主题

13

帖子

47

积分

A40i/T3/T507/T527通行证i.MX6Q通行证i.MX6UL通行证i.MX8MM通行证RK3588通行证RK3399通行证LS1012A通行证LS1043A\46A通行证AM5718通行证AM335x通行证i.MX RT通行证XX18通行证

 楼主| 发表于 2018-5-3 18:47:46 | 显示全部楼层
cks-nj 发表于 2018-5-3 09:43
兄弟,能不能说的再具体点儿?我之前也采用过.so库的形式,但是没有成功。应该是我操作的问题。你说删除 ...

被动传输文件已经搞定。preloadable_libiconv.so在preload目录下。但是主动传输文件,开发板连接手机,报:“Failed to connect : org.freedesktop.Dbus.Error.AccessDenied”,真让人无语,感觉应该是配置文件的问题,但是就是不知道怎么改配置文件。
点评回复 支持 反对

使用道具 举报

5

主题

22

帖子

62

积分

i.MX6UL通行证i.MX6Q通行证

发表于 2018-9-10 16:43:53 | 显示全部楼层
请问你们是怎么移植的,bluz和依赖的库是先在电脑上编译完,再放到板子里的吗?你们编译好了有hciconfig吗?我的不知道为什么没有。使用bluetoothctl就说d-bus有问题没运行
点评回复 支持 反对

使用道具 举报

5

主题

22

帖子

62

积分

i.MX6UL通行证i.MX6Q通行证

发表于 2018-9-10 16:45:09 | 显示全部楼层
hyc 发表于 2018-4-28 15:17
我的可以使用了,我编译了1.14的代码,然后将这个文件移除或重命名,/usr/lib/gconv/gconv-modules.cache ...

请问你们是怎么移植的,bluz和依赖的库是先在电脑上编译完,再放到板子里的吗?你们编译好了有hciconfig吗?我的不知道为什么没有。使用bluetoothctl就说d-bus有问题没运行
点评回复 支持 反对

使用道具 举报

0

主题

1

帖子

6

积分

i.MX6UL通行证

发表于 2018-12-4 09:38:54 | 显示全部楼层
你好,请问配对之后是否需要连接?我配对可以成功,但是一直连接不上。
点评回复 支持 反对

使用道具 举报

0

主题

2

帖子

5

积分

发表于 2019-1-29 15:04:23 | 显示全部楼层
你好,请问有移植教程吗?
点评回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-25 11:55

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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