RK3288 Android 5.x USB存在的BUG引起的问题

某刷卡模块USB工作不正常:
1.接模块启动系统,工作不正常,查USB驱动信息:
T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0471 ProdID=a112 Rev= 2.00
S: Manufacturer=LC TEC.
S: Product=LC XU HID
S: SerialNumber=?19768J438
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=300mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=2ms
E: Ad=01(O) Atr=03(Int.) MxPS= 32 Ivl=2ms

2.系统启动后接模块,工作正常,USB信息:
T: Bus=02 Lev=02 Prnt=02 Port=03 Cnt=01 Dev#= 11 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0471 ProdID=a112 Rev= 2.00
S: Manufacturer=LC TEC.
S: Product=LC XU HID
S: SerialNumber=?19768J438
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=300mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=(none)
E: Ad=82(I) Atr=03(Int.) MxPS= 32 Ivl=2ms
E: Ad=01(O) Atr=03(Int.) MxPS= 32 Ivl=2ms

区别在于一个是usbhid,一个是none。另外发现打开他们的读卡apk以后,有时候会出现Driver类型的切换,如果最后切换成none就可以正常工作,否则是工作不正常。最后是修改了以下代码解决问题:

diff --git a/services/usb/java/com/android/server/usb/UsbHostManager.java b/services/usb/java/com/android/server/usb/UsbHostManager.java
index e769bda..115c0a7 100644
--- a/services/usb/java/com/android/server/usb/UsbHostManager.java
+++ b/services/usb/java/com/android/server/usb/UsbHostManager.java
@@ -230,6 +230,8 @@ public class UsbHostManager {
             mNewConfigurations = null;
             mNewInterfaces = null;
             mNewEndpoints = null;
+	    mNewConfiguration = null;
+	    mNewInterface = null;
         }
     }
 
-- 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值