Enable USB UASP (& faster BOT) on older OS & hardware using MCCI ExpressDisk Host Drivers

Hi guys
Its been ages!

There have been a lot of questions here about enabling UASP on older hardware (perhaps even USB 2) and OS’s like Win 7.
This is possible using MCCI ExpressDisk Host Drivers:
http://www.mcci.com/mcci-v5/hostside/expressdisk.html

NB: That this driver seems to perform better than the Windows UASP driver…!?
This means that it’'s possible that even more USB performance is available, using this driver, than with the excellent modded drivers available here??

There is an great write up on doing so on Tom’s Hardware, detailing the prerequisits of accomplishing this, here:
https://www.tomshardware.co.uk/usb-3-uas…view-32467.html

This method uses the MCCI ExpressDisk Host Drivers licensed from MCCI by Asus.
The driver is available as part of of Asus AISuite 3, downloadable here:
https://dlcdnets.asus.com/pub/ASUS/misc/…149_for_Z97.rar

Asus has implemented a check to make sure you are using an Asus MB, but but this can be circumvented by modifying "your SMBIOS string using a special tool"
https://www.tomshardware.co.uk/usb-3-uas…ew-32467-5.html

I have been unable to find the MCCI driver without the check and am getting out of my depth when it comes to Modding SMBIOS strings.
I am hoping that the possibility of even faster USB performance on a wider range of hardware and OS’s may spark a fire here!? :slight_smile:

Notes on the faster MCCI BOT driver:
The driver is faster due to increasing a USB buffer size from 64K to up to 2MB as explained in Tom’s article, but is not as easy as they say IMHO and required deciphering this article to implement successfully:
https://support.microsoft.com/en-za/help…-in-windows-7-a

My Notes/Step by step guide:

After you install this update, to increase the maximum transfer size of USB storage devices, follow these steps:
Look up the vender and device ID of the drive you wish to mod in Device Manager.
Click Start button, type regedit in the Start Search box, and then press Enter.
Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbstor\VVVVPPPP
Click Edit, point to New, and then click DWORDValue.
Type MaximumTransferLength, and then press Enter.
Click Edit, and then click Modify.
In the Value data box, type a value in the 64 KB-to-2 MB range. For example, select Decimal,and type a value in the range of 65535 (64 KB) to 2097120 (2 MB).
Exit Registry Editor.
Notes:
VVVV represents device descriptor idVendor in hexadecimal.
PPPP represents device descriptor idProduct in hexadecimal.


Apparently one can also tweak the USB wait, ready, and acknowledge commands/latencies?
An app that automated the above would be great and probably worth some money!? :slight_smile:

NB that this large BOT buffer slows down random 4K, so is NOT suitable for use with ReadyBoost etc.

Thoughts?

1 Like

Increase the buffer to 512k, should more or less get best of both worlds for performance. Don’t know who around here would be interested in playing with this though, maybe @Lost_N_BIOS for the SMBIOS stuff? Not really anything that interests me and I’ve got my hands full modding Biostar and GB firmwares.

Thx Ket.

I would guess that the buffer should = the flash write block size (plus any overhead) which is over 512KB for today’s large drives IIRC.
The write block and read page size of various USB flash drives and SD cards is a problem to find out…?

I do recall an app that did so however.
IIRC it was Russian so it’s difficult to find a download that isn’t infected with malware. I’ll look in my backups.

512k would be the tradeoff you make to keep decent 4k, think of it kinda like load balancing. Would work in theory but in practice you might find you need to set lower or higher to balance both.

I can edit your SMBIOS string if you want, but this would need to be done again each time you updated the BIOS to a new version.
Link me to your current BIOS and I will make the change for you. If this is an Intel brand board, you will need to get a flash programmer and dump the BIOS, then send me that to modify, otherwise for most other brands I’m sure we can figure out how to flash modified BIOS for your board.

Thx Lost_N_BIOS

The 1st machine I want to try it on is in fact an Asus EEEPC (Intel Atom and 2GB of un-upgradable RAM) to hopefully get more out of the ReadyBoost setup.
ie: The Asus driver may just work when I get around to downloading the 200+ MB AISuite ((@ $5 GB here) and extricating the files pertinent files from it.

There are a # of other machines I would like to try this on too.
Would it not be easier to post what the 'special tool is and a guide to modding the BIOS ourselves?

(Other Readyboost tweaks:
Aligned Partition and format and over-provisioning with BootIce:
https://sites.google.com/site/gbrtools/h…otice-downloads

Windows only pretends to enable write caching for anything but the NTFS Fie sys to give their FS a fake shine.
A Reg Mod is required to actually do so for other FS’s. Even exFAT.
Uwe Sieber’s USB-WriteCache app is convenient:
https://www.uwe-sieber.de/drivetools_e.html#USB-WriteCache
This should decrease writes to the SD card, as well as speed up writes by hopefully caching complete write blocks. I have not found a way to set write cache?

Making the SD Card appear as a fixed drive may just make the ReadyBoost cache persist through a reboot. (Untested)
Uwe Sieber’s r2f.zip is a filter driver that does this.
https://www.uwe-sieber.de/usbtrouble_e.html

Wait and don’t download AI Suite, I’ll help you get what you need out of it. Link me to the AI Suite version you want, and let me know what all files you want out of it, I’ll show you image of the folders in there once I download
Link me to the BIOS you want edited as well and I can do the edits, I need to know what exactly you want it edited to be though, unless the article says this already (I didn’t re-read this time around).

“Special Tool” I don’t know what you mean? If you mean tools I would use to edit SMBIOS string, they are not special, I’d use UEFITool and a hex editor.