From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.bemta8.messagelabs.com (mail1.bemta8.messagelabs.com [216.82.243.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id CD18F1A1E3A for ; Mon, 24 Oct 2016 04:07:34 -0700 (PDT) Received: from [216.82.241.83] by server-3.bemta-8.messagelabs.com id 01/F7-30707-57BED085; Mon, 24 Oct 2016 11:07:33 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrNIsWRWlGSWpSXmKPExsWS8eIhk27pa94 Ig/OPJC32HDrKbDFpN7sDk8fiPS+ZPLpn/2MJYIpizcxLyq9IYM3Yu2wSc8Fu3Yqz96oaGG+o dDFycQgJvGCU+PZ1FSOEs5hRYueibUAOJwebgJ7E9VWnmUBsEQE1iYtr97KD2MwC5hJvX78Gq xEW8JT437mMFaLGS2LVp0dQtpVE86xvYDUsAqoSnVP2gtm8Ar4Sl++9YYJYNo1RYsqRtywgCU 6BEIn/l1eBLWAUEJP4fmoNE8QycYlLkxexgdgSAgISS/acZ4awRSVePv7HCmErSvR8XA91nI7 Egt2f2CBsbYllC18zQywWlDg58wnLBEaRWUjGzkLSMgtJyywkLQsYWVYxqhenFpWlFuma6SUV ZaZnlOQmZuboGhpY6OWmFhcnpqfmJCYV6yXn525iBEYKAxDsYPzU73yIUZKDSUmUd+FF3gghv qT8lMqMxOKM+KLSnNTiQ4wyHBxKErwVL4FygkWp6akVaZk5wJiFSUtw8CiJ8K4ASfMWFyTmFm emQ6ROMSpKifPuAkkIgCQySvPg2mBp4hKjrJQwLyPQIUI8BalFuZklqPKvGMU5GJWEeYNApvB k5pXATX8FtJgJaLFgPA/I4pJEhJRUA2P7rUwG96mHn7EYTuHiP2LyN/fTi59bpG0vJR7ZsD7U Q11h2q+sUzuUamYtFX/2ctbsB+zfPPOevGx69+IfMzP7nzMO381tlhcWKF5nC5gQFWUxx1Z5y UUXw6XGW8uyVx61kTU86J/+oNZm1nyd6G/SXQtlg1RsIl8m71LccWjBdH9NRlOn2eeUWIozEg 21mIuKEwHVS80FDgMAAA== X-Env-Sender: ykatayama1@lenovo.com X-Msg-Ref: server-11.tower-37.messagelabs.com!1477307253!65351461!1 X-Originating-IP: [104.232.225.2] X-StarScan-Received: X-StarScan-Version: 9.0.13; banners=-,-,- X-VirusChecked: Checked Received: (qmail 17736 invoked from network); 24 Oct 2016 11:07:33 -0000 Received: from unknown (HELO maesmtp01.lenovo.com) (104.232.225.2) by server-11.tower-37.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 24 Oct 2016 11:07:33 -0000 Received: from APMAILCH01.lenovo.com (unknown [10.128.246.253]) by maesmtp01.lenovo.com with smtp (TLS: TLSv1/SSLv3,256bits,ECDHE-RSA-AES256-SHA) id 1a94_d3a7_ae1e4582_e239_4c8f_b413_2b3335ca301d; Mon, 24 Oct 2016 11:07:30 +0000 Received: from APMAILMBX03.lenovo.com ([fe80::fc60:7d0e:ecc3:f655]) by APMAILCH01.lenovo.com ([::1]) with mapi id 14.03.0248.002; Mon, 24 Oct 2016 19:06:50 +0800 From: Yosuke Katayama1 To: "Tian, Feng" CC: "edk2-devel@lists.01.org" Thread-Topic: [RESEND][EDK2][USB IF]Mismatch between EDK2 and a USB vendor Thread-Index: AdIqyATqMWx+ME2CT/erFJo0nrASQQAlE/hgAKJmBTA= Date: Mon, 24 Oct 2016 11:06:50 +0000 Message-ID: <5F5B41F3CAC51543B46516F1A5F982DC24BD66A9@APMAILMBX03.lenovo.com> References: <5F5B41F3CAC51543B46516F1A5F982DC24BD5B69@APMAILMBX03.lenovo.com> <7F1BAD85ADEA444D97065A60D2E97EE566E37B14@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <7F1BAD85ADEA444D97065A60D2E97EE566E37B14@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.128.115.10] MIME-Version: 1.0 Subject: Re: [RESEND][USB IF]Mismatch between EDK2 and a USB vendor X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Oct 2016 11:07:35 -0000 Content-Language: ja-JP Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hello Feng, Thank you for working on it. When do you think you can prepare the patch? I just want to know it to make our BIOS release plan.=20 By the way, the USB vendor haven't received from USB.org yet. Kind regards, Yosuke Katayama -----Original Message----- From: Tian, Feng [mailto:feng.tian@intel.com]=20 Sent: Friday, October 21, 2016 2:31 PM To: Yosuke Katayama1 Cc: edk2-devel@lists.01.org; Tian, Feng Subject: RE: [RESEND][EDK2][USB IF]Mismatch between EDK2 and a USB vendor I am working on a patch, will get back to you when I am ready. Thanks Feng -----Original Message----- From: Yosuke Katayama1 [mailto:ykatayama1@lenovo.com]=20 Sent: Thursday, October 20, 2016 7:50 PM To: Tian, Feng Cc: edk2-devel@lists.01.org Subject: RE: [RESEND][EDK2][USB IF]Mismatch between EDK2 and a USB vendor Hello Feng, This is just a reminder. Thank you for all your support! Kind regards, Yosuke Katayama -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf=20Of Y= osuke Katayama1 Sent: Tuesday, October 18, 2016 7:01 PM To: Tian, Feng Cc: edk2-devel@lists.01.org Subject: Re: [edk2] [EDK2][USB IF]Mismatch between EDK2 and a USB vendor Hello Feng, We haven't get any feedback from USB.org yet but could you provide us with= the patch? We found a new issue probably caused by this mismatch in our current produ= cts and I want to check if the patch could fix the issue or not at least. Thank you for all your support! Kind regards, Yosuke Katayama -----Original Message----- From: Yosuke Katayama1=20 Sent: Wednesday, September 21, 2016 5:15 PM To: 'Tian, Feng' Cc: edk2-devel@lists.01.org Subject: RE: [EDK2][USB IF]Mismatch between EDK2 and a USB vendor Hello Feng, Thank you for the reply. Please wait for creating the fix.=20 Currently the USB vendor is contacting USB organization to check if the ve= ndor's interpretation of the IF spec is valid or not. I will let you know = when the vendor has received the answer from the organization, then you ca= n decide whether to fix or not.=20 What do you think of this plan? PS: We are using XHCI. Kind regards, Yosuke Katayama -----Original Message----- From: Tian, Feng [mailto:feng.tian@intel.com]=20 Sent: Wednesday, September 21, 2016 3:14 PM To: Yosuke Katayama1; edk2-devel@lists.01.org Cc: Tian, Feng Subject: RE: [EDK2][USB IF]Mismatch between EDK2 and a USB vendor Hi, Katayama We never receive such feedback on inconsecutive usb interface number. I ag= ree EDKII usb driver should be able to handle this. I am working on a fix, but I have no such device at hand. Could you help m= e verify it when the patch is ready?=20 PS: what host controller are you using? EHCI or XHCI? Thanks Feng -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Yos= uke Katayama1 Sent: Wednesday, September 21, 2016 8:05 AM To: edk2-devel@lists.01.org Subject: [edk2] [EDK2][USB IF]Mismatch between EDK2 and a USB vendor Hello,=20 This is relating to my previous post "[edk2] Is this a right place to disc= uss EDK2's USB IF implementation?"=20 We found a mismatch between EDK2 source code and our USB vendor's implemen= tation. Could you give us your opinions? bInterfaceNumber , 9.6.5 Interface from Universal Serial Bus 3.1 Specifica= tion Rev 1.0 says; -- Number of this interface. Zero-based value identifying the index in the ar= ray of concurrent interfaces supported by this configuration. -- Regarding this. EDK2 source code (UsbDesc.c) says: -- // // If a configuration has several interfaces, these interfaces are // numbered from zero to n... // -- The USB vendor says: -- * Numbering is not necessarily consecutive * Each interface can be indepen= dently turned on/off * Solution allows any combination of interfaces witho= ut re-defining the interface number * One general lookup table can tell yo= u what interface is assigned to what interface number. * For these reasons, the interface definition is like this on our products= . * The interface definition has remained the same from the previous product= s, and other products before that. * Current interface numbering is supported by all Microsoft OS * Other PC = OEM customers have never raised this issue -- As a result, the vendor's USB IF looks like below. =3D=3D=3D>Configuration Descriptor<=3D=3D=3D ... bNumInterfaces: 0x02=09=09=09=09<<<< bConfigurationValue: 0x01 iConfiguration: 0x00 bmAttributes: 0xA0 -> Bus Powered -> Remote Wakeup ... =3D=3D=3D>Interface Descriptor<=3D=3D=3D ... bInterfaceNumber: 0x0C=09=09=09=09<<<<=09Interface Number= starts from 0x0C instead of 0. [comment from Yosuke] bAlternateSetting: 0x00 bNumEndpoints: 0x01 ... =3D=3D=3D>Interface Descriptor<=3D=3D=3D ... bInterfaceNumber: 0x0D <<<< bAlternateSetting: 0x00 bNumEndpoints: 0x00 ... and it hits the following ON_ERROR in UsbDesc.c. -- } else if (Setting->Desc.InterfaceNumber >=3D NumIf) { DEBUG (( EFI_D_ERROR, "UsbParseConfigDesc: mal-formated interface de= scriptor\n")); UsbFreeInterfaceDesc (Setting); goto ON_ERROR; } -- What do you think the vendor's implementation? Also, have you ever had such a USB IF mismatch between EDK2 and USB vendor= s before? If so, how are you handling such cases in general? Kind regards, Yosuke _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel