Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Home NTDEV

Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging


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/


XHCI Host Driver

DibyaDibya Member Posts: 5

I am trying to write USB XHCI HOST and HUB driver over Kernel Mode Driver Framework ,
Challenge is to support as old as Windows XP/Server2003.
Where shall i start to implement the driver?

Comments

  • Doron_HolanDoron_Holan Member - All Emails Posts: 10,714

    Path to madness. You are doomed to fail. The only tiny slim hope you have is if you control all client drivers in addition to the host and hub. Why are you doing this? Why are you targeting an unsupported OS that is close to 20 years old?

    d
  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,349

    It's not immediately clear to me that hardware capable of running WIndows XP can keep up with USB 3.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • DibyaDibya Member Posts: 5

    @Tim_Roberts said:
    It's not immediately clear to me that hardware capable of running WIndows XP can keep up with USB 3.

    I have a Z77 motherboard , it has Asmedia chipset and driver came with it , It can do fine, yes a i7 3770K and heck even i7 8700K (on certain motherboard) can run Windows XP.
    I want a XHCI driver to use in VM

  • DibyaDibya Member Posts: 5
    edited June 15

    @Doron_Holan said:
    Path to madness. You are doomed to fail. The only tiny slim hope you have is if you control all client drivers in addition to the host and hub. Why are you doing this? Why are you targeting an unsupported OS that is close to 20 years old?

    People in VIA , Asmedia,NEC , Renesas,AMD are mad then? They made XHCI driver for XP>
    Jokes and anger aside , No Engineering challenge are less.
    Why are you targeting an unsupported OS that is close to 20 years old? Their something called legacy software which dont like NT6 ,
    It was designed to run on NT3.1 but runs fine on XP/2K3 bur hates anything to do with Vista and higher ,
    Their many such driver and software in industrial use,

  • DibyaDibya Member Posts: 5

    Keeping XP aside , then where to start to write a XHCI driver for Windows 7 then?

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,349

    If Asmedia has a driver, why don't you use it? I did encounter the Renesas XHCI driver for Windows 7. That was a multi-man-year effort, and even then it didn't work reliably, because so many client drivers make assumptions about their environment. Lots of the communication between the host controller drivers and the USB upper layers is not documented. Doron is exactly right in his assessment. If you have a team of experienced driver developers who thoroughly understand the XHCI specification, you might be able to produce something by next year, but otherwise the project is doomed.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • DibyaDibya Member Posts: 5

    If Asmedia has a driver, why don't you use it? Unfortunately its works only on Asmedia chipset , i wish KVM provided a XHCI driver themselves.

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 8,996

    Mr. Holan and Mr. Roberts have it exactly correct. What you’re proposing is a full time multi-year project, that requires very significant specialized knowledge of the XHCI spec (like as a result of being a participating member of the implementers forum) … and even if you HAVE such knowledge, you’d also need a whole lot of knowledge of how the Windows USB stack works, and the “traditions” of how Windows discovers and initializes USB devices.

    What you’re proposing is a “fool’s errand”

    Peter Viscarola
    OSR
    @OSRDrivers

  • kameshkamesh Member Posts: 3
    > @Dibya said:
    > I am trying to write USB XHCI HOST and HUB driver over Kernel Mode Driver Framework ,
    > Challenge is to support as old as Windows XP/Server2003.
    > Where shall i start to implement the driver?

    Hi can I know more about xhci, actually can you give some presentation on xHCI please
  • kameshkamesh Member Posts: 3
    > @Dibya said:
    > I am trying to write USB XHCI HOST and HUB driver over Kernel Mode Driver Framework ,
    > Challenge is to support as old as Windows XP/Server2003.
    > Where shall i start to implement the driver?

    Hii please i really need your help in understanding of xHCI
  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,349

    Why do you think you need this? The tone of your posts tells me you aren't serious. The XHCI specificaiton is publicly available here:

    https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf

    However, it is 645 pages long, and is highly technical. Why do you think you need this?

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • kameshkamesh Member Posts: 3
    I'm doing my thesis in xHCI DBC so i want it learn
  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 8,996

    @kamesh … please stop posting requests with your email address asking people to help you… so I can stop deleting them. Keep your activities within the context of this forum.

    Also, you’re hijacking the OPs thread here. Please don’t do that.

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 14,349

    The way you learn this is by (a) reading the spec, and (b) comparing it to an existing implementation, like the Linux XHCI driver. You have months of work ahead of you to understand this specification. No one here can explain it in a few emails.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • MBond2MBond2 Member Posts: 466

    I disagree - the worst thing for a novice to do is to consult a reference implementation. The understanding of foundational concepts can be no more easily obscured by over reliance on the method that someone has used to implement them. If you are already conversant in the concepts, then the reference implementation accelerates your progress because specifications written in English (or any other verbal language) are necessarily less efficient at conveying the same information. There is still no royal road to geometry

  • Xiaofan_ChenXiaofan_Chen Member - All Emails Posts: 240

    Their something called legacy software which dont like NT6 ,
    It was designed to run on NT3.1 but runs fine on XP/2K3 bur hates anything to do with Vista and higher

    Other than going the route of developing the XHCI driver which will be very difficult, why not try the following two potential solution.
    1) Keep some old PCs (or even some new industrial PCs) to run the legacy applications. At work we have old MCU development tools which only runs on DOS and Windows 2K/XP since our product can be in the market for more than 30 years.

    2) port the legacy application to Windows 7/10. But I understand that this may be difficult.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

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!
Writing WDF Drivers 12 September 2022 Live, Online
Internals & Software Drivers 23 October 2022 Live, Online
Kernel Debugging 14 November 2022 Live, Online
Developing Minifilters 5 December 2022 Live, Online