Firefly开源社区

标题: [已解决]无法使用各种API(FireflyApi)打开/dev/ttyS0 [打印本页]

作者: hiking    时间: 2019-2-25 09:33
标题: [已解决]无法使用各种API(FireflyApi)打开/dev/ttyS0
本帖最后由 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也不支持。
怎么办?



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

我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直在线等,非常着急。
作者: jpchen    时间: 2019-2-26 09:47
hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...

你是想apk 调用串口吗?如果是可以下载android版本的串口助手然后就可以进行收发控制
作者: jpchen    时间: 2019-2-26 09:50
hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...

如果apk提示没有权限,只需要对相关的串口添加777的权限即可
作者: hiking    时间: 2019-2-26 10:18
本帖最后由 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,然后告诉我,是我自己的原因?




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

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

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

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

android7.1 在开发者选项有个开关是打开root权限,android8.1应该没添加进去,关于android8.1 root可以参考论坛帖子
作者: hiking    时间: 2019-2-26 11:25
本帖最后由 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

谢谢!

作者: hiking    时间: 2019-2-26 12:41
jpchen 发表于 2019-2-26 11:13
android7.1 在开发者选项有个开关是打开root权限,android8.1应该没添加进去,关于android8.1 root可以参 ...

论坛里面只有这个http://dev.t-firefly.com/thread-12145-1-1.html
介绍如何root固件,但是好像不支持android 8.1 ,请问按照这个做可以吗?
谢谢!
作者: huang1165441461    时间: 2019-3-24 11:28
hiking 发表于 2019-2-26 11:25
我目前编译的8.1这个版本里面已经有了root选项.
好的,我搜索一下,只有这个介绍如何root固件,但是不知 ...

参考一下,我的板子aio3399j的uart2对应的文件是dev/ttyWK3,修改权限后,使用串口调试助手是可以正常收发数据的,其他的口没有测试,不过可能有一些是被系统占用了




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1