From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5434D1A1DFE for ; Wed, 21 Sep 2016 01:34:13 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP; 21 Sep 2016 01:34:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,372,1470726000"; d="scan'208";a="764020143" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by FMSMGA003.fm.intel.com with ESMTP; 21 Sep 2016 01:34:12 -0700 Received: from fmsmsx154.amr.corp.intel.com (10.18.116.70) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 21 Sep 2016 01:34:12 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX154.amr.corp.intel.com (10.18.116.70) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 21 Sep 2016 01:34:12 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.118]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.234]) with mapi id 14.03.0248.002; Wed, 21 Sep 2016 16:34:09 +0800 From: "Tian, Feng" To: Yosuke Katayama1 CC: "edk2-devel@lists.01.org" , "Tian, Feng" Thread-Topic: [EDK2][USB IF]Mismatch between EDK2 and a USB vendor Thread-Index: AdITFZMHVZgoGvsCSa6tGMQRy/m9VwAhhnJAAAzGKxAAA/AQcAABAMOw Date: Wed, 21 Sep 2016 08:34:08 +0000 Message-ID: <7F1BAD85ADEA444D97065A60D2E97EE566E1D97D@SHSMSX101.ccr.corp.intel.com> References: <5F5B41F3CAC51543B46516F1A5F982DC24BCE1F7@APMAILMBX03.lenovo.com> <7F1BAD85ADEA444D97065A60D2E97EE566E1D722@SHSMSX101.ccr.corp.intel.com> <5F5B41F3CAC51543B46516F1A5F982DC24BCE54F@APMAILMBX03.lenovo.com> In-Reply-To: <5F5B41F3CAC51543B46516F1A5F982DC24BCE54F@APMAILMBX03.lenovo.com> Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [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: Wed, 21 Sep 2016 08:34:13 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable If Usb org could double confirm this usage, it would be great. Let's wait for your update:) Thanks Feng -----Original Message----- From: Yosuke Katayama1 [mailto:ykatayama1@lenovo.com]=20 Sent: Wednesday, September 21, 2016 4: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 ven= dor's interpretation of the IF spec is valid or not. I will let you know wh= en the vendor has received the answer from the organization, then you can d= ecide 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 agr= ee 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 me= 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 Yosu= ke 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 discu= ss EDK2's USB IF implementation?"=20 We found a mismatch between EDK2 source code and our USB vendor's implement= ation. Could you give us your opinions? bInterfaceNumber , 9.6.5 Interface from Universal Serial Bus 3.1 Specificat= ion Rev 1.0 says; -- Number of this interface. Zero-based value identifying the index in the arr= ay 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 independ= ently turned on/off * Solution allows any combination of interfaces without= re-defining the interface number * One general lookup table can tell you w= hat 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 products= , and other products before that. * Current interface numbering is supported by all Microsoft OS * Other PC O= EM 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 <<<< bConfigurationValue: 0x01 iConfiguration: 0x00 bmAttributes: 0xA0 -> Bus Powered -> Remote Wakeup ... =3D=3D=3D>Interface Descriptor<=3D=3D=3D ... bInterfaceNumber: 0x0C <<<< Interface Number starts fro= m 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 des= criptor\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 vendors= 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