Firefly开源社区

12
发表新贴
打印 上一主题 下一主题

[Android] [已解决]无法使用各种API(FireflyApi)打开/dev/ttyS0

143

积分

0

威望

0

贡献

技术小白

积分
143

[已解决]无法使用各种API(FireflyApi)打开/dev/ttyS0

发表于 2019-2-25 09:33:23      浏览:11838 | 回复:11        打印      只看该作者   [复制链接] 楼主
本帖最后由 hiking 于 2019-3-4 10:48 编辑

开发板:ROC-RK3399-PC
固件:android 8.1
前提:
adb shell 可以cat /dev/ttyS0 和echo hello >/dev/ttyS0 ,短接开发板Uart0的tx/rx ,测试通信正常;

问题:
使用google 提供的serialport api和别人的串口调试软件,进行测试总是提示打不开串口;


查看FireflyApi 使用的 是Process su = Runtime.getRuntime().exec("/system/xbin/vm");
但是android 8.1固件 只有/system/xbin/su ,没有vm;
adb :

crwxrwxrwx 1 bluetooth net_bt   4,  64 2013-01-18 08:50 /dev/ttyS0

chmod 777 /dev/ttyS0

另外源码:
device/rockchip/common/init.connectivity.rc
这里应该怎么修改
    chmod 0660 /dev/ttyS0    chown bluetooth net_bt /dev/ttyS0注释掉可以吗?

或者请告诉我ROC-RK3399-PC 的uart0,uart1,uart3,uart4串口怎么使用,维基资料上面也没有,fireflyApi也不支持。
怎么办?


回复

使用道具 举报

3747

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3747
发表于 2019-2-26 09:08:42        只看该作者  沙发
FireflyAPI  在RK3399平台上目前只有android7.1支持,android8.1暂时还未做支持,请知悉
回复

使用道具 举报

143

积分

0

威望

0

贡献

技术小白

积分
143
发表于 2019-2-26 09:27:09        只看该作者  板凳
jpchen 发表于 2019-2-26 09:08
FireflyAPI  在RK3399平台上目前只有android7.1支持,android8.1暂时还未做支持,请知悉

我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直在线等,非常着急。
回复

使用道具 举报

3747

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3747
发表于 2019-2-26 09:47:15        只看该作者  地板
hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...

你是想apk 调用串口吗?如果是可以下载android版本的串口助手然后就可以进行收发控制
回复

使用道具 举报

3747

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3747
发表于 2019-2-26 09:50:05        只看该作者  5#
hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...

如果apk提示没有权限,只需要对相关的串口添加777的权限即可
回复

使用道具 举报

143

积分

0

威望

0

贡献

技术小白

积分
143
发表于 2019-2-26 10:18:52        只看该作者  6#
本帖最后由 hiking 于 2019-2-26 10:42 编辑
jpchen 发表于 2019-2-26 09:50
如果apk提示没有权限,只需要对相关的串口添加777的权限即可

都已经增加了,还是不行;
我通过adb 修改了ttyS0的权限;
然后用android版本的串口助手打开直接崩溃。
我用自己写的jni串口程序,调试断点,卡死在su.waitfor()!=0这个地方。基本上所有的串口apk都是这个崩溃原因。
su = Runtime.getRuntime().exec("/system/xbin/su");
52                 String cmd = "chmod 777 " + device.getAbsolutePath() + "\n" + "exit\n";
53                 su.getOutputStream().write(cmd.getBytes());
54                 if ((su.waitFor() != 0) || !device.canRead() || !device.canWrite()) {
55                     throw new SecurityException();

但是用电脑的usb转串口 可以和开发板使用cat /dev/ttyS0通信;
所以就不知道问题到底出在哪里了。
或者能不能你们使用串口助手测试一下ttyS0,然后告诉我,是我自己的原因?



回复

使用道具 举报

3747

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3747
发表于 2019-2-26 10:43:19        只看该作者  7#
hiking 发表于 2019-2-26 10:18
都已经增加了,还是不行;
我通过adb 修改了ttyS0的权限;
然后用android版本的串口助手打开直接崩溃。
...

这个有可能apk没有root权限,需要固件进行root权限,可以尝试在android7.1是否可以,使用你现在的程序
回复

使用道具 举报

143

积分

0

威望

0

贡献

技术小白

积分
143
发表于 2019-2-26 11:12:10        只看该作者  8#
jpchen 发表于 2019-2-26 10:43
这个有可能apk没有root权限,需要固件进行root权限,可以尝试在android7.1是否可以,使用你现在的程序

开发者选项里面root授权已经设置成ADB和应用了;
不知道您说的固件进行root权限如何做?
我现在计划再重新编译一下源码,请指示,谢谢!!
回复

使用道具 举报

3747

积分

17

威望

18

贡献

官方团队

Rank: 9Rank: 9Rank: 9

积分
3747
发表于 2019-2-26 11:13:50        只看该作者  9#
hiking 发表于 2019-2-26 11:12
开发者选项里面root授权已经设置成ADB和应用了;
不知道您说的固件进行root权限如何做?
我现在计划再重 ...

android7.1 在开发者选项有个开关是打开root权限,android8.1应该没添加进去,关于android8.1 root可以参考论坛帖子
回复

使用道具 举报

143

积分

0

威望

0

贡献

技术小白

积分
143
发表于 2019-2-26 11:25:29        只看该作者  10#
本帖最后由 hiking 于 2019-2-26 12:42 编辑
jpchen 发表于 2019-2-26 11:13
android7.1 在开发者选项有个开关是打开root权限,android8.1应该没添加进去,关于android8.1 root可以参 ...

我目前编译的8.1这个版本里面已经有了root选项.
好的,我搜索一下,只有这个介绍如何root固件,但是不知道按照这个做能否root8.1?http://dev.t-firefly.com/thread-12145-1-1.html

谢谢!
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表