Microsoft added native support for UAS to Windows 8. Drives supporting UAS load Uaspstor.sys instead of the older Usbstor.sys. Windows 8 supports UAS by default over USB 2.0 as well.
That explains why my UASP device works in "UASP" mode even if I plug it in on a USB 2.0 port.
I then thought: what if I replace uaspstor.sys with usbstor.sys?
And you know what? It worked!
- boot into safe mode: within Windows, hold the SHIFT key and click Restart
- click on the Troubleshoot button
- select Advanced Options
- choose Command Prompt
- login into your admin account
- from command prompt, type C: and press Enter
- type cd windows\system32\drivers and press Enter
- type ren uaspstor.sys uaspstor.sys.old and press Enter to rename the file uaspstor.sys into uaspstor.sys.old (or whatever you like)
- type copy usbstor.sys uaspstor.sys and press Enter to have an additional copy of usbstor.sys renamed into uaspstor.sys
- close your command prompt by clicking on the "X" in the upper right corner
- click on the Continue button to exit and reboot into Windows 8/8.1
Set "WriteProtect" to "1" in the registry, plug in your UASP device and finally enjoy it in read-only mode!
Since I applied the workaround, I haven't had any BSOD or software issue. So far it appears to be a stable workaround.
Your feedback is appreciated, thanks.