Firefly开源社区

打印 上一主题 下一主题

RK3288 & FirePrime 5.1 安卓系统 USB google原生BUG修复

192

积分

0

威望

0

贡献

技术小白

积分
192

RK3288 & FirePrime 5.1 安卓系统 USB google原生BUG修复

发表于 2016-4-27 09:38:10      浏览:8081 | 回复:2        打印      只看该作者   [复制链接] 楼主
本帖最后由 feng3327 于 2016-6-24 16:51 编辑

安卓系统下,系统接入多个USB设备时,系统挂载的第一个USB设备是成功的,之后挂载的USB,能发现设备,但是usb设备的interface为空值,安卓系统可以通过如下代码进行打印,挂载的device设备信息:
[mw_shl_code=java,false]UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE);
        HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
        Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
        while(deviceIterator.hasNext()) {
            UsbDevice device = deviceIterator.next();
            Log.d("xxx","device=" + device.toString());
        }[/mw_shl_code]

在firefly 的RK3288和fire prime上面复现,而且如果3G上网卡插拔,也许会出现第二次、第三次无法识别设备等问题,暂时没有进行测试。
此BUG在google AOSP的5.1.1都存在,https://code.google.com/p/android/issues/detail?id=159529
7楼已详细说明代码的bug产生的原因,修复方式如下:
One solution:
Clear mNewConfiguration and  mNewInterface in endUsbDeviceAdded()
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -669,6 +669,8 @@ public class UsbHostManager {
             mNewConfigurations = null;
             mNewInterfaces = null;
             mNewEndpoints = null;
+            mNewConfiguration = null;
+            mNewInterface = nul;

编辑frameworks/base/core/java/android/hardware/usb/UsbDevice.java---Parcelable[] configurations = in.readParcelableArray(UsbInterface.class.getClassLoader());
+++Parcelable[] configurations = in.readParcelableArray(UsbConfiguration.class.getClassLoader());

在AOSP的最新6.0_r9已修复,google 修复代码见https://android.googlesource.com ... /usb/UsbDevice.java

回复

使用道具 举报

192

积分

0

威望

0

贡献

技术小白

积分
192
发表于 2016-4-27 09:38:49        只看该作者  沙发
望Firefly工作人员对该BUG进行修复,并上传到git中,谢谢!!
回复

使用道具 举报

4

积分

0

威望

0

贡献

游客

积分
4
发表于 2018-6-6 14:36:19        只看该作者  板凳
有没有人出现过带USB设备断电重启无法识别,但热插拔一下又正常的情况啊?
回复

使用道具 举报

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

本版积分规则

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