Third Party Application Using adb to Communicate With USB Device Might Not Work Inside VDA via USB Redirection

Third Party Application Using adb to Communicate With USB Device Might Not Work Inside VDA via USB Redirection

book

Article ID: CTX216319

calendar_today

Updated On:

Description

Some third party application which uses adb to communicate with USB device might not work inside VDA via USB redirection, while it works fine in physical machine.
From CDF traces, we can see "cancelling transmitted URBs" errors:
==
756,0,2015/07/01 13:44:54:97206,3844,5424,-1,icausbb,driver.c,876,GetHcdDriverKeyName,5,CDF_ENTRY,"GetHcdDriverKeyName",""
757,0,2015/07/01 13:44:54:97207,3844,5424,-1,icausbb,driver.c,879,GetHcdDriverKeyName,1,CDF_ERROR,"Driver key name struct too small",""
758,0,2015/07/01 13:45:31:68011,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
759,0,2015/07/01 13:45:31:68034,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
760,0,2015/07/01 13:45:31:68149,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
761,0,2015/07/01 13:45:31:68164,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
762,0,2015/07/01 13:45:31:68333,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
763,0,2015/07/01 13:45:31:68384,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :32, ResponsePacket size: 41, device: 10, Session: -1",""
764,0,2015/07/01 13:45:31:68397,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
765,0,2015/07/01 13:45:31:68523,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :32, ResponsePacket size: 108, device: 10, Session: -1",""
766,0,2015/07/01 13:45:31:68536,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
767,0,2015/07/01 13:45:32:37443,60,4,0,icausbb,urbtracker.c,936,CancelTrackedUrbRequest,1,CDF_ERROR,"I/O request cancelled, cancelling transmitted URBs",""
768,0,2015/07/01 13:45:32:37444,60,4,0,icausbb,urbtracker.c,1475,CancelTransmittedUrbs,1,CDF_ERROR,"Cancelling URB 144 for device 10",""
769,0,2015/07/01 13:45:32:37450,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
770,0,2015/07/01 13:45:32:37580,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
771,0,2015/07/01 13:45:32:37581,4308,4,0,icausbb,urbtracker.c,763,HandleUrbResponse,1,CDF_ERROR,"URB response for unknown handle 0x90",""
772,0,2015/07/01 13:45:32:68934,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
773,0,2015/07/01 13:45:32:68954,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
774,0,2015/07/01 13:45:32:69070,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
775,0,2015/07/01 13:45:32:69086,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
776,0,2015/07/01 13:45:32:69187,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
777,0,2015/07/01 13:45:32:69240,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :32, ResponsePacket size: 41, device: 10, Session: -1",""
778,0,2015/07/01 13:45:32:69257,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
779,0,2015/07/01 13:45:32:69358,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :32, ResponsePacket size: 108, device: 10, Session: -1",""
780,0,2015/07/01 13:45:32:69371,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
781,0,2015/07/01 13:45:33:38846,60,4,0,icausbb,urbtracker.c,936,CancelTrackedUrbRequest,1,CDF_ERROR,"I/O request cancelled, cancelling transmitted URBs",""
782,0,2015/07/01 13:45:33:38847,60,4,0,icausbb,urbtracker.c,1475,CancelTransmittedUrbs,1,CDF_ERROR,"Cancelling URB 149 for device 10",""
783,0,2015/07/01 13:45:33:38852,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
784,0,2015/07/01 13:45:33:38988,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
785,0,2015/07/01 13:45:33:38989,4308,4,0,icausbb,urbtracker.c,763,HandleUrbResponse,1,CDF_ERROR,"URB response for unknown handle 0x95",""
786,0,2015/07/01 13:45:33:70250,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
787,0,2015/07/01 13:45:33:70269,4400,4,0,icausbb,io.c,651,WritePackets,1,CDF_ERROR,"WritePackets:Sending request",""
788,0,2015/07/01 13:45:33:70473,4308,4,0,icausbb,io.c,927,ForwardReceivedPacket,1,CDF_INFO,"ForwardReceivedPacket: URB Cmd :31, ResponsePacket size: 13, device: 10, Session: -1",""
==
 

Resolution

Replace the adb.exe,AdbWinApi.dll and AdbWinUsbApi.dll in customer's testing tool with latest adb tools.

Problem Cause

For some reason, the old version adb tool used by 3rd-party application can't connect to USB device correctly:
Physical machine:
User-added image
VDA machine:
User-added image
As we can see the adb tool show device as offline in VDA, we then downloaded the latest adb tool from official website, and it can correctly connect to device:
User-added image
It is possible that the old version of adb tool is not compatible with VDA.

Issue/Introduction

Third Party Application Using adb to Communicate With USB Device Might Not Work Inside VDA via USB Redirection.