From: "Guomin Jiang" <guomin.jiang@intel.com>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"lbfeng@zd-tech.com.cn" <lbfeng@zd-tech.com.cn>
Cc: "jeremy.linton@arm.com" <jeremy.linton@arm.com>,
"Wu, Hao A" <hao.a.wu@intel.com>, "Ni, Ray" <ray.ni@intel.com>
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration.
Date: Tue, 11 Aug 2020 11:17:05 +0000 [thread overview]
Message-ID: <DM6PR11MB2955F0B59B68A8D10262D3969D450@DM6PR11MB2955.namprd11.prod.outlook.com> (raw)
In-Reply-To: <13e9ce33.a5e4.173dced479d.Coremail.lbfeng@zd-tech.com.cn>
[-- Attachment #1: Type: text/plain, Size: 4138 bytes --]
+Hao, Ray,
Hi Libo, thanks for your explanation.
So I think the patch is improvement for current logic.
Hi Hao and Ray,
Can you give some comments for the change.
Hi Jeremy,
It may be helpful for the ASSERT issue https://edk2.groups.io/g/devel/message/62651,can you try it?
Best Regards
Guomin
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Feng Libo
Sent: Tuesday, August 11, 2020 5:50 PM
To: Jiang, Guomin <guomin.jiang@intel.com>
Cc: devel@edk2.groups.io; jeremy.linton@arm.com
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration.
Hello, Mr. Jiang,
Thank for the review.
The original enumeration steps in the function of UsbEnumerateNewDev of file UsbEnumer.c: 1 reset the port, 2 set the usb device address, 3 get the Max Packet Size, 4 get the full device descriptor. However, when plugging a USB PenDisk with Innostor USB
controller chip (VID=0x1F75, PID=0x917, USB3.1), the fourth step always fails, trace as below:
========
XhcCheckUrbResult: TRANSACTION_ERROR! Completecode = 4 XhcControlTransfer: error - Device Error, transfer - 40 UsbGetOneConfig: failed to get full descript Device Error UsbBuildDescTable: failed to get configure (index 0) UsbEnumerateNewDev: failed to build descriptor table - Device Error
=======
The host controller need to get the full device descriptor, but this moment, the Pendisk device doesn't response any more. Then timeout. and UsbEnumerateNewDev complains : failed to build descriptor.
We have three Pendisks from different manufacturers, all with Innostor USB controller chip. they all can't be enumerated all. And we observed the problem on both Huawei KunPeng(华为鲲鹏)and Loognson(龙芯)platforms.
The three Pendisks always fail the USB enumeration. Other USB 2.0 and USB 3.0 on hand can work well.
With the patch, the three pendisks and other pendisks can all work well.
THanks
--
Best Regards
Feng Libo
ZD Technology (Beijing) Co., Ltd
发件人:"Jiang, Guomin" <guomin.jiang@intel.com<mailto:guomin.jiang@intel.com>>
发送日期:2020-08-11 08:21:10
收件人:"devel@edk2.groups.io<mailto:devel@edk2.groups.io>" <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>,"Jiang, Guomin" <guomin.jiang@intel.com<mailto:guomin.jiang@intel.com>>,"lbfeng@zd-tech.com.cn<mailto:lbfeng@zd-tech.com.cn>" <lbfeng@zd-tech.com.cn<mailto:lbfeng@zd-tech.com.cn>>
抄送人:"jeremy.linton@arm.com<mailto:jeremy.linton@arm.com>" <jeremy.linton@arm.com<mailto:jeremy.linton@arm.com>>
主题:RE: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration.
+Jeremy,
I review the patch and think it is reasonable, but I want to know some more detail information
1. Can you provide the detail debug log about USB?
2. The symptom always can be seen or have fail rate?
Best Regards
Guomin
From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Guomin Jiang
Sent: Thursday, August 6, 2020 12:29 PM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io>; lbfeng@zd-tech.com.cn<mailto:lbfeng@zd-tech.com.cn>
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration.
I will review it by next weekend(8/14).
Thanks.
From: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>> On Behalf Of Feng Libo
Sent: Thursday, August 6, 2020 9:25 AM
To: Feng Libo <lbfeng@zd-tech.com.cn<mailto:lbfeng@zd-tech.com.cn>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration.
Hello,
could anyone review this PATCH?
We encountered the USB enumeration problem and the patch is based on the Microsoft post as below.
https://techcommunity.microsoft.com/t5/microsoft-usb-blog/how-does-usb-stack-enumerate-a-device/ba-p/270685#:~:text=%20How%20does%20USB%20stack%20enumerate%20a%20device%3F,a%20request%20for%20the%20USB%20Device...%20More%20
Thanks
Best Regards
Feng Libo
[-- Attachment #2: Type: text/html, Size: 19469 bytes --]
next prev parent reply other threads:[~2020-08-11 11:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 2:49 [PATCH] MdeModulePkg/UsbBusDxe: some USB PenDisk fails enumeration Feng Libo
2020-08-06 1:25 ` [edk2-devel] " Feng Libo
2020-08-06 4:28 ` Guomin Jiang
[not found] ` <16289366B25D4B9F.5756@groups.io>
2020-08-11 0:21 ` Guomin Jiang
2020-08-11 9:50 ` Feng Libo
2020-08-11 11:17 ` Guomin Jiang [this message]
[not found] ` <162A3294EE88D661.26440@groups.io>
2020-08-12 8:03 ` Guomin Jiang
2020-08-13 2:49 ` Feng Libo
2020-08-27 1:07 ` Feng Libo
2020-08-28 7:50 ` Wu, Hao A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DM6PR11MB2955F0B59B68A8D10262D3969D450@DM6PR11MB2955.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox