[已解决]无法使用各种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也不支持。
怎么办?
FireflyAPI在RK3399平台上目前只有android7.1支持,android8.1暂时还未做支持,请知悉 jpchen 发表于 2019-2-26 09:08
FireflyAPI在RK3399平台上目前只有android7.1支持,android8.1暂时还未做支持,请知悉
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直在线等,非常着急。 hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...
你是想apk 调用串口吗?如果是可以下载android版本的串口助手然后就可以进行收发控制 hiking 发表于 2019-2-26 09:27
我没有奢望FireflyAPI能用,我只是想知道如何正确的使用Uart0,你这样回答我的问题还是没有解决,我一直 ...
如果apk提示没有权限,只需要对相关的串口添加777的权限即可 本帖最后由 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,然后告诉我,是我自己的原因?
hiking 发表于 2019-2-26 10:18
都已经增加了,还是不行;
我通过adb 修改了ttyS0的权限;
然后用android版本的串口助手打开直接崩溃。
...
这个有可能apk没有root权限,需要固件进行root权限,可以尝试在android7.1是否可以,使用你现在的程序 jpchen 发表于 2019-2-26 10:43
这个有可能apk没有root权限,需要固件进行root权限,可以尝试在android7.1是否可以,使用你现在的程序
开发者选项里面root授权已经设置成ADB和应用了;
不知道您说的固件进行root权限如何做?
我现在计划再重新编译一下源码,请指示,谢谢!!
hiking 发表于 2019-2-26 11:12
开发者选项里面root授权已经设置成ADB和应用了;
不知道您说的固件进行root权限如何做?
我现在计划再重 ...
android7.1 在开发者选项有个开关是打开root权限,android8.1应该没添加进去,关于android8.1 root可以参考论坛帖子 本帖最后由 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
谢谢!
页:
[1]
2