* [edk2-devel] RFC: UsbIo extensions
@ 2024-10-24 18:22 Oleg Ilyasov via groups.io
2024-10-25 15:06 ` olegi via groups.io
0 siblings, 1 reply; 2+ messages in thread
From: Oleg Ilyasov via groups.io @ 2024-10-24 18:22 UTC (permalink / raw)
To: devel@edk2.groups.io
[-- Attachment #1.1: Type: text/plain, Size: 2497 bytes --]
Hi, All
As currently defined, UsbIo protocol performs USB transfers on an interface as well as it returns various descriptors data for the selected device configuration.
This functionality is sufficient for common device drivers - mass storage, keyboard/mouse. However, more complex devices implement several types of descriptors that are not supported by UsbIo. These are Class Specific interface and endpoint descriptors, as well as interface association descriptors.
Also, when an interface descriptor contains multiple alternate settings, currently it is impossible to retrieve the data of non-default setting without selecting this setting. And this selection involves USB transaction with SET_INTERFACE command. Issuing this command might change the device state and may not be desirable.
The list of such "complex" devices includes USB cameras, audio devices, communication devices, modems, network controllers. Writing UEFI device driver for these using existing UsbIo is challenging.
A new protocol UsbIoExt extends the functionality of UsbDxeBus and aims to overcome the above mentioned problems.
PR: https://github.com/tianocore/edk2/pull/6368
It implements a protocol that 1) retrieves class specific descriptors 2) allows to get data from different alt setting without switching to this setting
Interface Association descriptor support will be a different PR that makes use of this UsbIoExt protocol.
Please review and respond.
[cid:image001.png@01DB2620.1A038990]
Oleg Ilyasov
BIOS Core Group
American Megatrends International LLC.
+1(770)246-8798
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120683): https://edk2.groups.io/g/devel/message/120683
Mute This Topic: https://groups.io/mt/109195507/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #1.2: Type: text/html, Size: 6818 bytes --]
[-- Attachment #2: image001.png --]
[-- Type: image/png, Size: 5507 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [edk2-devel] RFC: UsbIo extensions
2024-10-24 18:22 [edk2-devel] RFC: UsbIo extensions Oleg Ilyasov via groups.io
@ 2024-10-25 15:06 ` olegi via groups.io
0 siblings, 0 replies; 2+ messages in thread
From: olegi via groups.io @ 2024-10-25 15:06 UTC (permalink / raw)
To: Oleg Ilyasov, devel
[-- Attachment #1: Type: text/plain, Size: 681 bytes --]
It was brought to my attention that USB library would be reasonable alternative to USB extension protocol.
__"One disadvantage of the extended protocol is that a standard UEFI Driver for a USB device would only run if the UEFI implementation was based on edk2 and the platform included this extended protocol."__
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#120708): https://edk2.groups.io/g/devel/message/120708
Mute This Topic: https://groups.io/mt/109195507/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 1115 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-11-04 14:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24 18:22 [edk2-devel] RFC: UsbIo extensions Oleg Ilyasov via groups.io
2024-10-25 15:06 ` olegi via groups.io
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox