问题:
测试做压力测试复现工厂偶现usb不识别问题,插入usb没有任何反应,插入otg后,有时候能恢复,有时候不能恢复。
14:31:31.898] init: processing action (sys.usb.config=mtp && sys.usb.configfs=1) from (/system/etc/init/hw/init.usb.configfs.rc:26)
行 3829: 00EF4 <14> [252595.898666] c2[02-14 14:31:31.898] init: processing action (sys.usb.config=mtp && sys.usb.configfs=1) from (/system/etc/init/hw/init.usb.configfs.rc:26)
行 3830: 00EF5 <14> [252595.900566] c2[02-14 14:31:31.900] init: Command 'symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:28) took 0ms and failed: symlink() failed: File exists
行 3830: 00EF5 <14> [252595.900566] c2[02-14 14:31:31.900] init: Command 'symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:28) took 0ms and failed: symlink() failed: File exists
行 3830: 00EF5 <14> [252595.900566] c2[02-14 14:31:31.900] init: Command 'symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:28) took 0ms and failed: symlink() failed: File exists
行 3830: 00EF5 <14> [252595.900566] c2[02-14 14:31:31.900] init: Command 'symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:28) took 0ms and failed: symlink() failed: File exists
行 3830: 00EF5 <14> [252595.900566] c2[02-14 14:31:31.900] init: Command 'symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:28) took 0ms and failed: symlink() failed: File exists
行 3831: 00EF6 <14> [252595.901330] c2[02-14 14:31:31.901] init: Command 'write /config/usb_gadget/g1/UDC ${sys.usb.controller}' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:29) took 0ms and failed: Unable to write to file '/config/usb_gadget/g1/UDC': Unable to write file contents: Device or resource busy
行 3831: 00EF6 <14> [252595.901330] c2[02-14 14:31:31.901] init: Command 'write /config/usb_gadget/g1/UDC ${sys.usb.controller}' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:29) took 0ms and failed: Unable to write to file '/config/usb_gadget/g1/UDC': Unable to write file contents: Device or resource busy
行 3831: 00EF6 <14> [252595.901330] c2[02-14 14:31:31.901] init: Command 'write /config/usb_gadget/g1/UDC ${sys.usb.controller}' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:29) took 0ms and failed: Unable to write to file '/config/usb_gadget/g1/UDC': Unable to write file contents: Device or resource busy
行 3831: 00EF6 <14> [252595.901330] c2[02-14 14:31:31.901] init: Command 'write /config/usb_gadget/g1/UDC ${sys.usb.controller}' action=sys.usb.config=mtp && sys.usb.configfs=1 (/system/etc/init/hw/init.usb.configfs.rc:29) took 0ms and failed: Unable to write to file '/config/usb_gadget/g1/UDC': Unable to write file contents: Device or resource busy
行 3831: 00EF6 <14> [252595.901330] c2[02-14 14:31:31.901] init: Command 'write /config/usb_gadget
分析:
1、搜索ylog种的usb,发现能正常识别的都有init write的动作
init: processing action (sys.usb.config=mtp && sys.usb.configfs=1) from (/system/etc/init/hw/init.usb.configfs.rc:26)
但是fail都没有,只有 evice connection detected from VBUS GPIO.
01397 <6> [252614.081890] c0[02-14 14:31:51.081] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
01398 <6> [252614.129517] c0[02-14 14:31:51.129] musb-sprd 20200000.usb: device disconnect detected from VBUS GPIO.
01399 <6> [252615.004784] c0[02-14 14:31:52.004] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
怀疑是上层没有写这个属性,或者init进程失效。
2、展锐回复是拔插太快,几百ms触发一次中断,怀疑是硬件问题
行 5016: 01397 <6> [252614.081890] c0[02-14 14:31:51.081] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
行 5016: 01397 <6> [252614.081890] c0[02-14 14:31:51.081] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
行 5017: 01398 <6> [252614.129517] c0[02-14 14:31:51.129] musb-sprd 20200000.usb: device disconnect detected from VBUS GPIO.
行 5017: 01398 <6> [252614.129517] c0[02-14 14:31:51.129] musb-sprd 20200000.usb: device disconnect detected from VBUS GPIO.
行 5018: 01399 <6> [252615.004784] c0[02-14 14:31:52.004] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
行 5018: 01399 <6> [252615.004784] c0[02-14 14:31:52.004] musb-sprd 20200000.usb: device connection detected from VBUS GPIO.
3、看到 connection 和 disconnect是成对出现的,并且时间间隔只有300-500ms,这个时间是非常短,咨询测试人员才知道是故意这样做的压力测试。判定为时间太多,导致usb识别混乱导致。
插入otg后会重新识别,但如果太过混乱,也会导致不能恢复成功。
4、用对比机对比测试验证,我们机器是type c,可以比较容易快速拔插。但是对比机是micro,因为有个倒扣导致拔出比较紧,比较困难,导致拔插频率不够,复测未出现。
5、把扣子压平,打开win电脑主机,多次快速拔插usb,4-8个轮回复现问题。
对比机也存在这个现象,属于操作手法问题,并非软件问题。