Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results
The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
Hi everyone.
I have been reading about UFX class extension for WDF.
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/function-client-driver
The only sample I saw "ufxclientsample" mention about installing it on Windows 10 Mobile.
Also, opening the sample, I saw it refers to header files I don't have on my WDK (10.0.22.621.382).
Can this kind of driver be built using regular WDK or do I need to get the environment for a BSP for WIndows Mobile?
Can it be installed on a regular Windows for desktop instead of Windows Mobile?
Regards,
—
Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br
Upcoming OSR Seminars | ||
---|---|---|
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead! | ||
Kernel Debugging | 16-20 October 2023 | Live, Online |
Developing Minifilters | 13-17 November 2023 | Live, Online |
Internals & Software Drivers | 4-8 Dec 2023 | Live, Online |
Writing WDF Drivers | 10-14 July 2023 | Live, Online |
Comments
I don't see any reason why this wouldn't work on desktop. Do you REALLY need to create your own USB Function Driver? You're bringing up an entirely new platform, with an entirely new USB controller? Really?
It's all pretty well described on the architecture summary page of the WDK, I thought.
Have you just TRIED it? Are we missing something?
Peter
Peter Viscarola
OSR
@OSRDrivers
Right. Do you understand what a "function controller" is? Microsoft's documentation doesn't provide a clear definition of this term that they invented. A function controller allows your Windows system to act like a USB device, to be plugged into someone else's USB host. However, that depends on having "USB device" hardware, and desktop systems do not have "USB device" hardware.
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
Great to hear from you guys.
That's exactly what I understood. We must interact to a closed system, in which no software should be installed. We must send keyboard and mouse inputs to that system, so that we can make things to happen automatically. So, our plan is to have our system pretending to be such devices (mouse and keyboard), so that we can interact with it the way we must, but without installing any software.
So, it seems I'm on the rigth track. (I hope so)
From the picture at this page:
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-device-side-drivers-in-windows
What I need is to have my driver using the UFX class extension to make it to behave like a device, handling URBs the way a device would do. However, if the USB controller is not one of the supported by Windows (UfxSynopsys or UfxChipidea), then I also need to write a USB function controller client driver. That would make our mission much harder to achieve.
Am I getting this right?
Thanks for your help.
Regards,
—
Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br
I'm expecting to make use of USB Dual Role Driver Stack.
https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/usb-dual-role-driver-stack-architecture
I thought this was possible on a dektop system.
"USB Dual Role controllers are now supported in Windows, starting with Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) and Windows 10 Mobile."
—
Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br
Isn't a third-party driver just software to be installed?
In the same way a network driver can only be used with a network card, a USB Dual Role Driver Stack can only be used with a USB Dual Role host controller, also called "USB-On-The-Go". Desktop host controllers almost never support USB On-The-Go. Are you designing your own motherboard?
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
This is not a general use product, but a specific need to be implemented.
Thanks,
—
Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br
Great, then the manufacturer will be supplying the function controller driver. You just have to supply the "function class driver", for which you will use UFX. Forgive the heresy, but if I were doing what you're describing, I'd use Linux. The function driver world there is more mature and has wider adoption.
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
Maybe Linux is the path to go, but I know nothing about Linux. However, that is a valuable advise to give to team heads.
Thanks for your help.
Regards,
Fernando.
—
Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br