Test xHCI ip

Hi, all

Recently, I am developing xHCI USB HOST ip.

It is PCIe based add in cards.

Now it could running on PC with Win8 native xHCI host driver.

For example:
USB Mass storage, bulk, file transfer
USB Video camera, iso in
USB Audio headset, iso in/out
USB hubs.

But it is just pass with the functional aspect, which means, we can just use these USB device with the xHCI USB host.

But before this IP release to customer, we need to stressful and coverage as much as possible test.

For example:
We now test using xHCI CV from USB-IF, it is a test kit cover most of the xHCI spec, but it is not cover as much as possible test.

So we decide to develop our own test software.

Now there are two group:
One linux, base on linux xHCI code, develop some test case,
It is because linux code is transparent, and we can modify the code as we want.
Especially the code relative to xHCI spec: such as TRB ring, interrupt mode, and most important xHCI reginsters.

Other Windows:
As xHCI driver on Win8 is stable(yes or not?)
What can I do to aim for xHCI host IP test?

Any suggestions?
Or can this proposal of develop software on Win8 xHCI driver is not feasible?

BTW

I just setup the windbg usb3.0 extentions environment.

I found maybe 100% of the command let us to capture the information from xhci trees.

Another question is:
can I use windbg usb3.0 extentions for change the xHCI host, such as write a register?

Or does usb3.0 extentions will release such kind intf/windbg command in the future?

workingmailing@163.com wrote:

For example:
We now test using xHCI CV from USB-IF, it is a test kit cover most of the xHCI spec, but it is not cover as much as possible test.

Are you running the WHQL tests as well?

Other Windows:
As xHCI driver on Win8 is stable(yes or not?)

I don’t think that can be answered yet. Win 8 represents the first
release of Microsoft’s xHCI stack. With the long experience they gained
from their EHCI stack, one would hope that all of the silly mistakes
were made long ago. I have not yet heard about any problems with the
Win 8 xHCI stack.

Any suggestions?
Or can this proposal of develop software on Win8 xHCI driver is not feasible?

It all depends on your level of comfort. You will NEVER be able to test
every situation. USB is far too dynamic of an environment. There are
always going to be corner cases and edge conditions and timing problems
that you could not have anticipated. So, you do the best you can. If
you get a USB 3 mass storage device, that will test bulk streams. If
you get a couple of web cams, that will test isochronous.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Sorry, as I know, WHQL is aim for Vendor driver testing for getting a WHQL certify.
And our team is a USB IP team, no resource for WHQL testing.
Actually, we try our best to get rid of driver/software work as much as we can.

The best case is:
Using win8 xhci driver test any case, find every bug.
But our team does not develop any software.

But it is a ideal case.
So we start develop test case on Linux(only one people, resource.)

I still query:
One people is focusing on Linux xHCI IP software test case programming.

Any actions(software test case develop) can be done on Win8 system?
As far as I can do, I have develop a KMDF of USB general driver, but is could only do some transfer such as BULK, ISO, INT, CONTROL.
But it can not touch xHCI aspects:
such as TRB, command ring, event ring, buffer scatter/gather, … most of the aspects.

workingmailing@163.com wrote:

Sorry, as I know, WHQL is aim for Vendor driver testing for getting a WHQL certify.
And our team is a USB IP team, no resource for WHQL testing.
Actually, we try our best to get rid of driver/software work as much as we can.

Sure, the WHQL tests are required if you want a Windows logo for your
product, or if you want your own driver package certified. And I
understand that you want none of that.

But you can just as well run the WHQL tests and never submit the results
to Microsoft, only examine the test logs for yourself. That way, it will
cost you nothing, except the time it takes to set up the client/server
test environment and having this hardware busy for a few days (!)
running all the required tests.

What you need:

  • download HCK 2.0
  • set up fresh installations of one (I think) Server 2008 R2, and at
    least one additional test client, which in your case should be Windows 8

Microsoft has detailed step-by-step instructions,
http://msdn.microsoft.com/en-us/library/windows/hardware/hh833779.aspx
or
http://msdn.microsoft.com/en-us/library/windows/hardware/jj123537.aspx
(where you would only leave out the last step).
Good luck.

thank Wilhelm.

Actually, When I develop AVStream/BDA tv tuner capture drvier.
I have spend time on teaching Testing guys of WHQL test for our PCTV driver.

But now my new employer is different from my former, which is a IP develop, not the driver develop before.
To be honest, now my employer, allocate most of the resource on IP develop, some resource on Firmware develop, such as USB audio ,USB video, and Mass storage, which aim for find issue existed in our IP.
And very little or even no resources on Windows driver/WHQL test.

Any way, maybe I can suggest my boss take consideration of WHQL test for our xHCI IP as a complementary of USB-IF xHCI CV.

After take a view of the HCK test for xHCI host.

It seems that very little test items included by HCK.

Any one have every use HCK for xHCI host?
Does it useful?

If I were your customer, wanting to use your IP in my product, I would want YOU to guarantee the device will pass all WHQL certification tests for the device you claim to implement. If you can’t guarantee that, then you might find customers who want to support the Windows market will not be choosing your IP. This is exactly like someone who uses an FPGA and gets stock PCIe IP for the bus interface from the FPGA vendor. If that IP doesn’t conform to the PCIe standards, I would be looking to the creator of the IP to fix it. Personally, I would put it in any contact for IP I buy. Customers of your IP may not be writing any drivers either, they expect your IP to work flawlessly with the standard drivers.

Jan

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of workingmailing@163.com
Sent: Thursday, July 11, 2013 7:37 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Test xHCI ip

Sorry, as I know, WHQL is aim for Vendor driver testing for getting a WHQL certify.
And our team is a USB IP team, no resource for WHQL testing.
Actually, we try our best to get rid of driver/software work as much as we can.

The best case is:
Using win8 xhci driver test any case, find every bug.
But our team does not develop any software.

But it is a ideal case.
So we start develop test case on Linux(only one people, resource.)

I still query:
One people is focusing on Linux xHCI IP software test case programming.

Any actions(software test case develop) can be done on Win8 system?
As far as I can do, I have develop a KMDF of USB general driver, but is could only do some transfer such as BULK, ISO, INT, CONTROL.
But it can not touch xHCI aspects:
such as TRB, command ring, event ring, buffer scatter/gather, … most of the aspects.


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

It is a pity.

There is no one in our SW group, even my direct manager, pay any attentions to HCK for our xHCI ip.

As my former employer focusing on Windows driver develop for PCTV driver base on USB dongle tv tuner.
We have complete test environment for this driver. Especially WHQL, with specific engineers dedicated for WLK testing, submission and then got certification.

The employer now pay more attentions to usb3.0 ip, such as device and host xHCI ip.
What software guys do mostly is:
for device ip: develop firmwares such as BOT/UASP of mass storage, usb audio, and usb video to find the bugs exists, running the USB-IF CV3.0, InterOP test, along with System engineer’s electrical testing and so on.

For xHCI host ip: even firmware is not needed.
SW guys mainly focusing on USB-IF xHCI CV, InterOp test, 150 USB3.0 device compatible-backward test, actually, I feel xHCI IP development, as a software guys, the role more like a testing guy, but not a sw guy.
No host driver need to debugging, programming, cause Win8 with NATIVE xhci, ucx1100, usb3hub driver USB3 stack.
Maybe some one think xHCI IP is more complex then USB3 device, as it incorporate PCIe, Windows system driver, power management and so on knowledge, but as a software, I feel the work is different than on USB device ip side, very tedious, as a operator with familiar with xHCI spec.

Come back to the HCK on our Xhci ip.
My suggestion is :
As our xHCI IP with very limited test methods, besides the usb-if xhci cv, there is no other sw package for xhci ip test.

On one hand, we ask software guys to develop test case based on linux code, it is time consuming, and also with lots of bugs in the future need to debug, namely, using a unstable software to test another unstable xhci ip, but on the other hand, did not pay attentions to ready-made HCK usb xhci host controller testing sw kit.

Actually, I not very appreciate this ignore.

I try to find out the reason why my manager ignore this suggestion.

Maybe it is different consideration method.

But as I known,
if you pass USB-IF device certification, you can easily got MS HC.

But even you got MS HC for xHCI HOST, you still need to go to USB-IF lab or workshop for USB-IF certification.

Can any one tell me some details, about what the HCK do for xHCI host controller?
Because all the documents on MS web about HCK for XHCI HOST, is one or two sentences about the test items.
No very useful informations, such as test aim, test time, …

Just ask a question about:

Does WHCK test need the host PC using Win server 2012 or 2008 SP1?
Can I use Win7 instead?

Why MS need this configuration, HCK host PC must win server?

The hck server needs windows server for sql and other server services.

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of workingmailing@163.com
Sent: Thursday, July 25, 2013 8:08 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Test xHCI ip

Just ask a question about:

Does WHCK test need the host PC using Win server 2012 or 2008 SP1?
Can I use Win7 instead?

Why MS need this configuration, HCK host PC must win server?


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

thank you Doron.

If I want to test my xhci host IP, how many MUTT microsoft usb test tool – devices is needed?

As both Win2012, and MUTT devices will be charged, and which will approve my supervisor.

If the price is too much ,I don’t think for IP developing company willing to invest it.

Actually, most of the xHCI ip develop company, take USB-IF certificaton more important than HCK.

USB3HWVerifierAnalyzer.exe & xhciwmi.exe in x86 dir of MUTT package can’t not running.

Tips: not a valid Win32 app.

My PC is Win7 32 bit , sp1.

Does any one known the same issue before? How to fix?

workingmailing@163.com wrote:

As both Win2012, and MUTT devices will be charged, and which will approve my supervisor.

If the price is too much ,I don’t think for IP developing company willing to invest it.

This is why most companies doing driver development sign up for an MSDN
subscription. That way, you automatically get 10 licenses to every
version of Windows for exactly this purpose.

Actually, most of the xHCI ip develop company, take USB-IF certificaton more important than HCK.

That’s an awfully small population. There can’t be more than a half
dozen companies worldwide developing xHCI host controller IP.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

workingmailing@163.com wrote:

USB3HWVerifierAnalyzer.exe & xhciwmi.exe in x86 dir of MUTT package can’t not running.
Tips: not a valid Win32 app.
My PC is Win7 32 bit , sp1.
Does any one known the same issue before?

Yes. Read the documentation. This tool relies on the internal behavior
of the Microsoft XHCI driver stack. Since that stack is only available
in Windows 8, the tool is marked to run only on Windows 8.

How to fix?

Upgrade to Windows 8.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

thank you Tim.

I will have a try on Win8 again for these two exe.

I have try both USB3HWVerifierAnalyzer.exe & xhciwmi.exe in x86 dir of MUTT package can’t not
running.

“not compatible with the version of Windows you’re running.”

My PC is Win8 Release Preview

You know, production release Windows 8 has been available for almost a year, I’m not surprised WHQL test tools refuse to run on a prerelease version.

The secret hidden meaning of the error message “not compatible with the version of Windows you’re running” is “not compatible with the version of Windows you’re running”. Error messages don’t get much clearer than that.

Jan

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of workingmailing@163.com
Sent: Tuesday, July 30, 2013 12:25 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Test xHCI ip

I have try both USB3HWVerifierAnalyzer.exe & xhciwmi.exe in x86 dir of MUTT package can’t not running.

“not compatible with the version of Windows you’re running.”

My PC is Win8 Release Preview


NTDEV is sponsored by OSR

Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev

OSR is HIRING!! See http://www.osr.com/careers

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Jan Bottorff wrote:

You know, production release Windows 8 has been available for almost a year, I’m not surprised WHQL test tools refuse to run on a prerelease version.

My guess is that he meant to say he’s running the Win 8.1 preview.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.