Jump to content











Photo
- - - - -

USB3 issues


  • Please log in to reply
94 replies to this topic

#76 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 01 May 2012 - 08:13 PM

When the inf are written in a way, that each driver is accepted by Windows for each hardware, how can darren have all 3 drivers in his build at the same time and have Windows not always pick the same driver as best match?

Friendly coincidence:
no file name conflict
no *.inf HardwareID conflict
That's a predictable condition. PNP canload appropiate driver.

I just don't get, why the tested drivers only work with their specific hardware.

A driver from a hardware manufacturer supports hardware from the same hardware manufacturer.

Unless.... they keyed the binaries to specific hardware ids. :dubbio:

Or ask the device firmware using propriarity command.

Time to ask a setupldr.bin wim and atapi.sys patcher?

in this script, only the pe2/3 part was modified
and I do not know how to write txtsetup.sif for PE1 and AMD, Intel and Renesas3 and drivers

Supporting PE1 to PE3 is more difficult

Renesas DriverVer=03/15/2012,2.1.32.0
http://download.leno...es/8ay208ww.exe
There are two different binaries for XP, Vista and Windows 7

AMD offers three different driver sets for XP, Vista and Windows 7.

The Intel driver is Windows 7 only
http://downloadcente...Y&DwnldID=21129

Note: The Intel® USB 3.0 eXtensible Host Controller Driver is not supported on Windows*XP and Windows* Vista.



and I do not know how to write txtsetup.sif for PE1 and AMD, Intel and Renesas3 and drivers


Be warned: not tested

//AMD
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,amdxhc.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,amdxhc,amdxhc.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,PCI\VEN_1022&DEV_7812,amdxhc
//
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,amdhub30.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,amdhub30,amdhub30.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,AMDUSB30\ROOT_HUB30,amdhub30
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,AMDUSB30\CLASS_09,amdhub30
//
//Renesas2
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,nusb3xhc.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,nusb3xhc,nusb3xhc.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,PCI\VEN_1033&DEV_0194,nusb3xhc
//
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,nusb3hub.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,nusb3hub,nusb3hub.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,NUSB3\ROOT_HUB30,nusb3hub
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,NUSB3\CLASS_09,nusb3hub
//
//Renesas3
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,rusb3xhc.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,rusb3xhc,rusb3xhc.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,PCI\VEN_1912&DEV_0014,rusb3xhc
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,PCI\VEN_1912&DEV_0015,rusb3xhc
//
IniWrite,%target_win%\txtsetup.sif,SourceDisksFiles,rusb3hub.sys,"1,,,,,,4_,4,1,,,1,4"
IniWrite,%target_win%\txtsetup.sif,BusExtenders.Load,rusb3hub,rusb3hub.sys
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,RENESAS_USB3\ROOT_HUB30,rusb3hub
IniWrite,%target_win%\txtsetup.sif,HardwareIdsDatabase,RENESAS_USB3\CLASS_09,rusb3hub

No Intel part, unless someone reports a working driver.

A updated driver set: http://cdob.reboot.pro/files/USB3_3.7z

Edited by cdob, 01 May 2012 - 09:27 PM.


#77 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 01 May 2012 - 09:46 PM

Friendly coincidence:
no file name conflict
no *.inf HardwareID conflict
That's a predictable condition. PNP canload appropiate driver.

Pleaase guys, don't dive me nuts!
If you wanna test, if another driver works with your hardware too, than you first have to make sure tat the HardwareID of your device is in the inf for that driver!

I hope this was clear and we didn't just test, if the HardwareID of device A is in inf file B too. :dubbio:

Or ask the device firmware using propriarity command.

They can internally do whatever they want, but the interface from the firmware to the driver is standardized by the USB-IF. They can't change that or they would need to call their controller a USB 3.0 similar controller.

:cheers:

#78 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 02 May 2012 - 04:30 AM

Pleaase guys, don't dive me nuts!

Sorry, mixing conditions. Reply was to original .inf files. Not to edited ones.

They can internally do whatever they want, but the interface from the firmware to the driver is standardized by the USB-IF. They can't change that or they would need to call their controller a USB 3.0 similar controller.

They can support standardized USB-IF.
And they can add a private command. A driver can use standardized USB-IF and ask the private command too.

In addition: different manufacturer can interpret standardization differently.
And return slightly different data.

E.g. Happened at DVD writer firmware. Work around known firmware bugs.

#79 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 02 May 2012 - 10:13 AM

They can support standardized USB-IF.
And they can add a private command. A driver can use standardized USB-IF and ask the private command too.

They can add other commands as well, that's right. However they can't make it, that the driver needs to support those commands.
Imagine a graphics card, which claims VESA compatibility, but it doesn't support any VESA commands and requires it's own driver for any operation.

In addition: different manufacturer can interpret standardization differently.

And return slightly different data.

No they can't. They can add, but not substract or change from the standard.

E.g. Happened at DVD writer firmware. Work around known firmware bugs.

Don't know from which manufacturer you buy, but if he integrates bugs in his firmware not by accident, but by design, i wouldn't buy from him anymore! ;)

:cheers:

#80 ChrisR

ChrisR

    Silver Member

  • .script developer
  • 777 posts
  •  
    France

Posted 02 May 2012 - 10:22 AM

Thanks guys and thanks cdob for all indications in post #76 with PE1 part :thumbsup:
I think the script is really fine now to supports latest USB3 drivers for hardware manufacturers AMD, Intel (Win7 only), Renesas2/3 and with separate process for PE1/2/3.

RemovableDeviceUSB3_v8

Be warned: not tested


I don't have any USB 3 controller to test but I have a great confidence.
Thank you to all who can test :)

#81 darren rose

darren rose

    Frequent Member

  • Advanced user
  • 367 posts
  • Location:Norwich, Norfolk
  •  
    United Kingdom

Posted 02 May 2012 - 11:51 AM

Thanks guys and thanks cdob for all indications in post #76 with PE1 part :thumbsup:
I think the script is really fine now to supports latest USB3 drivers for hardware manufacturers AMD, Intel (Win7 only), Renesas2/3 and with separate process for PE1/2/3.

RemovableDeviceUSB3_v8



I don't have any USB 3 controller to test but I have a great confidence.
Thank you to all who can test :)

tested on AMD usb 3.0 and Reneas usb 3.0 and works fine!!!

#82 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 02 May 2012 - 01:57 PM

So can i assume, that this whole topic has become pointless, because noone ever did a proper cross driver test and i can now concentrate on other things again?

:cheers:

#83 ChrisR

ChrisR

    Silver Member

  • .script developer
  • 777 posts
  •  
    France

Posted 02 May 2012 - 01:58 PM

tested on AMD usb 3.0 and Reneas usb 3.0 and works fine!!!


Good, thank you for testing :)


I just saw that Gena already support other drivers USB3, ASMEDIA, ETRON, FRESCO, TEXAS INSTRUMENTS, VIA (PE1 script by Nikzzzz)
Not going in the direction of a single driver ;)
By cons on my side, no need to maintain PE1 install drivers in USB 3.0 Support script.

I have to find the latest Win7 32-64bits drivers for them, I take it, if you have links or drivers :)

#84 darren rose

darren rose

    Frequent Member

  • Advanced user
  • 367 posts
  • Location:Norwich, Norfolk
  •  
    United Kingdom

Posted 02 May 2012 - 02:01 PM

So can i assume, that this whole topic has become pointless, because noone ever did a proper cross driver test and i can now concentrate on other things again?

:cheers:

Well I had been doing any testing you asked me to do?! and I have also tested suggestions made by others

The updated removeabledevicesusb3.script seems to work well for both AMD and Renesas so not sure if it is really worth the time trying to get "one" driver to work for all? but if you want me to test anything else you only have to ask! but I'm sure you have much more exciting things to do anyway!!

#85 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 02 May 2012 - 06:15 PM

Since cdob last post, i don't know anymore, if you did the tests, i thought you did or some other tests. You two give contradictory info on the same drivers.

You say that the drivers will install fine, just not work. Which means the problem is in the binaries not the inf.

cdob says that the inf files do not have overlaping hardwareid. Hence driver A can not be tested on hardware B.
Ergo, the binaries have never been tested on any other than their own hardware.

:cheers:

#86 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 02 May 2012 - 07:06 PM

What about a private command: who are you?
A driver may ask the private command.
Given a friendly answer, driver continues, initialisation message to the OS.
Given a unfriendly answer, driver holds.

However they can't make it, that the driver needs to support those commands.

Yes, they have to support the specificied commands.

They can add, but not substract or change from the standard.

A specification is a paper only.
http://www.intel.com...sb/xhcispec.htm
Diffenrent people may interpret words differently.
There are different implementations based on the same specification.
It's compatible to 99.9 per cent. What about the other cases?

USB 3 is a new technology still.
Read:
Most current sold machines dosn't support USB 3.
Specification author dosn't support USB 3 in main stream chipset yet. A 7x chipset is new.
MS dosn't provide a driver for a current active OS.

Wait two to five years:
USB 3 is part of all main stream chipsets
USB 3 drivers are part of all main stream OS
Hardware manufacturer test devices, to be compatible to usbxhci.sys.

Real life shows real compatibility.
There are compatibility issues at USB 3 hardware/software currently.

Search for: usbxhci.sys BSOD
http://social.msdn.m...2b-adee1675a46e
http://www.win8heads...i-sys-win8.html
http://www.eightforu...ot_handled.html

Why does generic usbxhci.sys BSOD currently?

if he integrates bugs in his firmware not by accident, but by design, i wouldn't buy from him anymore!

It's by accident and ignorance. This goes to all manufacturers.
Don't buy anything. Nothing is 100 per cent compatible.

You two give contradictory info on the same drivers.

A lot of confusion currently.

cdob says that the inf files do not have overlaping hardwareid.

I clarified this references to original .inf files.

Hence driver A can not be tested on hardware B.

What about editing .inf files?

Ergo, the binaries have never been tested on any other than their own hardware.

Manufacturer drivers had been tested at other hardware last february.
Yes, current drivers are not tested so far.
Which test do you like to do?

#87 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 02 May 2012 - 08:27 PM

What about a private command: who are you?

In the real world no hardware asks the driver and blocks, it's always the other way, when done.
That's why one can not always use a driver from another graphics card manufacturer, with ones own card, but always the reference ones from the chip vendor.

A specification is a paper only.

No it's not. i don't know if it was ever done that way, but today it works like this:
- A group, a consortium or alike is founded.
- It registers a trademark.
- Then it releases a standard.
- Everyone, who following this standard, get's the right to carry that trademark.
- Everyone not following that standard, does not get the right to carry that trademark.
- If someone uses the trademark without authorization, he breaks the law and gets sued.

Yes, USB is not a technical term but a trademark.

Diffenrent people may interpret words differently.
There are different implementations based on the same specification.
It's compatible to 99.9 per cent. What about the other cases?

Check out the site of the USB-IF. They're selling devices to munufacturers, to verify that their product conforms to the standard.
Nothing to misunderstand here.

I clarified this references to original .inf files.

Yes, you did. Question is, which set darren used. I have the bad feeling he switched inbetween tests.

Why does generic usbxhci.sys BSOD currently?

Because it's a Beta? :dubbio:
btw. Darren tested Win8 and both his controllers worked fine.

Which test do you like to do?

I would like to know, if the binaries are all incompatible or not. That's all.
Cause then one (i) could check the binaries, if they're keyed or like you put it, if they ask , who are you, before going to work.

:cheers:

#88 darren rose

darren rose

    Frequent Member

  • Advanced user
  • 367 posts
  • Location:Norwich, Norfolk
  •  
    United Kingdom

Posted 02 May 2012 - 08:36 PM

Yes, you did. Question is, which set darren used. I have the bad feeling he switched inbetween tests.


Please explain what you mean and I will clarify or retest if you tell me exactly what tests you want done and what results you want me to supply?!

#89 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 02 May 2012 - 09:46 PM

I would like to know, if the binaries are all incompatible or not.


Can you clarify this?

Take small steps at available hardware.

Given:
AMD
PCI\VEN_1022&DEV_7812&CC_0C03
PCI\VEN_1022&DEV_7812&REV_03

Chipset: D720200AF1
PCI\VEN_1033&DEV_0194&REV_04
PCI\VEN_1033&DEV_0194&CC_0C03

Which OS and which drivers do you like to test?

#90 MedEvil

MedEvil

    Platinum Member

  • .script developer
  • 7,689 posts

Posted 02 May 2012 - 10:40 PM

Which OS and which drivers do you like to test?

Since we're talking here about a script for Windows12PE, i would like it to be tested on Windows 1.0 obviously. :frusty:

:drunk:

#91 ChrisR

ChrisR

    Silver Member

  • .script developer
  • 777 posts
  •  
    France

Posted 02 May 2012 - 11:26 PM

Since we're talking here about a script for Windows12PE, i would like it to be tested on Windows 1.0 obviously. :frusty:


If the generic USB5 driver of Win12 works with Win7PE and all Manufacturers, even in USB3 degraded mode, I take it :lol:

For my part, I do not have USB3 controller, if someone offered me one, I am ready to test things ;)

:drunk:

#92 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 03 May 2012 - 08:05 PM

Since we're talking here about a script for Windows12PE, i would like it to be tested on Windows 1.0 obviously. :frusty:

Well, here is Win7PE section. OP is about Win7PE SE.
Can we use Windows 7.files as first step?

There are different Windows 7. Windows 7 gold x86, gold x64, SP1 x86, SP1 x64.
And there are hotfixes, e.g.
http://support.micro....com/kb/2621491
http://support.micro....com/kb/2601456

A driver may behave differently at different OS, SP and hotfixes.
A clarification would have be nice before testing.


Win7PE SE builded with Windows 7 gold x86 files.
One USB 3.0 driver set (device and hub) added at each run by zz_Drivers.script.

1) Renesas2: nusb3xhc.inf
[Version]

Provider=%RENESAS%

DriverVer=03/15/2012,2.1.32.0



[RENESAS]

;%NUSB3XHC.DeviceDesc% = NUSB3XHC, PCI\VEN_1033&DEV_0194&REV_03

;%NUSB3XHC.DeviceDesc% = NUSB3XHC, PCI\VEN_1033&DEV_0194&REV_04

%NUSB3XHC.DeviceDesc% = NUSB3XHC, PCI\CC_0C0330

PCI\VEN_1022&DEV_7812&REV_03 fails. device manager: This device cannot start. (Code 10)
PCI\VEN_1033&DEV_0194&REV_04 works, USB flash is writable


2) AMD: amdxhc.INF
[Version]

Provider=%AMD%

DriverVer=01/03/2012,1.0.0.0072



[AMD.NTx86.5.1.1]

;%AMDXHC.DeviceDesc% = AMDXHC, PCI\VEN_1022&DEV_7812

%AMDXHC.DeviceDesc% = AMDXHC, PCI\CC_0C0330

PCI\VEN_1022&DEV_7812&REV_03 works, USB flash is writable
PCI\VEN_1033&DEV_0194&REV_04 fails, Code 10 in device manager


3.1) Renesas3: rusb3xhc.inf
[Version]

Provider=%RENESAS%

DriverVer=03/15/2012,3.0.16.0



[RENESAS]

;%PCI\VEN_1912&DEV_0014&REV_01.DeviceDesc% = RUSB3XHC, PCI\VEN_1912&DEV_0014&REV_01

;%PCI\VEN_1912&DEV_0014&REV_02.DeviceDesc% = RUSB3XHC, PCI\VEN_1912&DEV_0014&REV_02

;%PCI\VEN_1912&DEV_0014&REV_03.DeviceDesc% = RUSB3XHC, PCI\VEN_1912&DEV_0014&REV_03

;%PCI\VEN_1912&DEV_0015&REV_01.DeviceDesc% = RUSB3XHC, PCI\VEN_1912&DEV_0015&REV_01

;%PCI\VEN_1912&DEV_0015&REV_02.DeviceDesc% = RUSB3XHC, PCI\VEN_1912&DEV_0015&REV_02



%PCI\VEN_1912&DEV_0015&REV_02.DeviceDesc% = RUSB3XHC, PCI\CC_0C0330


PCI\VEN_1022&DEV_7812&REV_03 fails, Code 10 in device manager

PCI\VEN_1033&DEV_0194&REV_04 driver rusb3xhc.sys loaded
Child device RENESAS_USB3\ROOT_HUB30\5&15538f67&0

HardwareIDs
RENESAS_USB3\ROOT_HUB30&VID_1033&PID_0194&REV_0004&SID_FFFFFFFF
RENESAS_USB3\ROOT_HUB30&VID_1033&PID_0194&REV_0004
RENESAS_USB3\ROOT_HUB30&VID_1033&PID_0194

CompatibleIDs
RENESAS_USB3\ROOT_HUB30


RENESAS_USB3\ROOT_HUB30 : unknown device in device manager
USB flash is not available


3.2) Renesas3: above edited rusb3xhc.inf and rusb3hub.inf
[Version]

Provider=%RENESAS%

DriverVer=03/15/2012,3.0.16.0



[RENESAS]

%RENESAS_USB3\ROOT_HUB30&VID_1912&PID_0014.DeviceDesc% = RUSB3HUB, RENESAS_USB3\ROOT_HUB30

%RENESAS_USB3\ROOT_HUB30&VID_1912&PID_0014.DeviceDesc% = RUSB3HUB, RENESAS_USB3\ROOT_HUB30&VID_1912&PID_0014

%RENESAS_USB3\ROOT_HUB30&VID_1912&PID_0015.DeviceDesc% = RUSB3HUB, RENESAS_USB3\ROOT_HUB30&VID_1912&PID_0015

%RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_00.DeviceDesc% = RUSB3HUB, RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_00

%RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_01.DeviceDesc% = RUSB3HUB, RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_01

%RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_02.DeviceDesc% = RUSB3HUB, RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_02

%RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_03.DeviceDesc% = RUSB3HUB, RENESAS_USB3\CLASS_09&SUBCLASS_00&PROT_03

%RENESAS_USB3\CLASS_09&SUBCLASS_01.DeviceDesc% = RUSB3HUB,RENESAS_USB3\CLASS_09&SUBCLASS_01

PCI\VEN_1022&DEV_7812&REV_03 fails, Code 10 in device manager
PCI\VEN_1033&DEV_0194&REV_04 driver works, USB flash is writable

A Renesas 3 driver package works at NEC HardwareID.



4) Intel: iusb3xhc.inf
[Version]

Provider=Intel® Corporation

DriverVer=03/27/2012,1.0.4.225



[Intel.NTx86.6.1]

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\VEN_8086&DEV_1E31&REV_00

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\VEN_8086&DEV_1E31&REV_01

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\VEN_8086&DEV_1E31&REV_02

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\VEN_8086&DEV_1E31&REV_03

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\VEN_8086&DEV_1E31&REV_04

%IUsb3XhcDeviceDesc01% = IUsb3XhcModel, PCI\CC_0C0330

PCI\VEN_1022&DEV_7812&REV_03 fails, Code 10 in device manager
PCI\VEN_1033&DEV_0194&REV_04 fails, Code 10 in device manager

#93 ChrisR

ChrisR

    Silver Member

  • .script developer
  • 777 posts
  •  
    France

Posted 04 May 2012 - 01:03 PM

Compatibility, compatibility manufacturers, bad boys !
So unless a crazy idea ;)

I added Asmedia, Etron, Fresco Logic, Texas Instruments and Via Drivers to "USB 3.0 Support" script.
And I have removed the process for PE1 (different process) which already has its own script "RemovableDeviceUSB3 More" in Gena.

RemovableDeviceUSB3_v9 (12 Mb)


For other USB3 drivers, we can use 'Driver Integration' script" (same Installation with dism).

:cheers:

#94 cdob

cdob

    Silver Member

  • Expert
  • 806 posts

Posted 20 May 2012 - 04:11 PM

A special case would be flat file booting from USB3 port.

Windows 7 is prepared to USB boot.
http://msdn.microsof...dded.1001).aspx
USB3 flat file boot would be nice.

I added Asmedia, Etron, Fresco Logic, Texas Instruments and Via Drivers to "USB 3.0 Support" script.

Can you check [Extract_Driver_Win7] section?
If,%ChkBox_Asmedia%,Equal,True,Unpack,,Archive,AMD
What about Asmedia folder?

Windows native USB boot added and [Extract_Driver_Win7] adjusted.
http://cdob.reboot.p...leDeviceUSB3.7z

Flat file booting works at AMD USB 3.0 controller and Renesas2 USB 3.0 controller.
Other hardware is not tested.

Added:
at second glance: enable or disable native USB boot by default?
It's seldom used and should be disabled by default.

Edited by cdob, 20 May 2012 - 04:14 PM.


#95 ChrisR

ChrisR

    Silver Member

  • .script developer
  • 777 posts
  •  
    France

Posted 20 May 2012 - 05:36 PM

Thanks master Cdob :thumbsup:

I looked at your changes (fix folder in extract driver), simplification for (zPeIMG and Dism) and your addition for native USB boot. Looks very good :)
I put it on the server.

:cheers:




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users