New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The following are not properly recognized as flash drives #242
Comments
* This should address the improperly listed UFDs from #242
I've just tried alpha version 1.4.2.366 and my SanDisk Extreme 32GB device isn't identified as USB drive. It does show up as fixed drive in Windows Explorer, but even when "List USB Hard Drives" box is checked Rufus says "0 devices found". Can I help you somehow with this? |
Here is log file (not very informative though): Rufus version 1.4.2.366 |
Since you are using Windows 8+, my guess is that your SanDisk Extreme is enumerated as an UASP device rather than a regular USB Mass Storage device. Unfortunately, it looks like SanDisk are putting many different versions of their USB 3.0 Extreme devices out there (some with the removable bit enabled, some disabled, some without UASP, and apparently some with) and of course, they don't bother telling anyone what they may get or offer a tool that allow you to change these properties, so users are left in the dark. I do have an enhancement request to add UASP support in Rufus (#229), but I don't have any UASP hardware to test with yet... I'm trying to see if I can do something about that to try to speed up the inclusion of UASP support if it turns out there are flash drives with UASP support out there. Can I please ask you to try to confirm that your device is seen as UASP in Windows. Can't really help you there, as I have no idea how Windows will report a device is UASP. Maybe the device manager will tell you? For the record, I too have a SanDisk Extreme (16GB model) and it is detected just fine in Windows 8.1 x64. |
OK, I did some debugging and found couple of problems with my SanDisk device. The first problem which immediately disqualifies it from being even considered as UFD is here, as reported enumerator name is SCSI not USBSTOR. Even when I change continue to printing a warning this piece of code doesn't get VID and PID correctly. devid_list seems to be OK, but I'm not sure what goes on here. Because of this IsHDD returns positive value (+3 for DRIVE_FIXED, 0 for 32GB, but not -5 for SanDisk VID). Anyway I tweaked the code just enough to be able to successfully detect my device and make it bootable. I must commend the state of this project, this is one of the rare OS projects which I managed to build "out of box" in VisualStudio. Thanks for that. Anyway, I think you're aware that you are fighting a loosing battle with smart UFD detection as you've already stated in code comments. I understand the importance of not showing real HDD as it is dangerous and can be quite costly for users, but may be you should consider another checkbox in advanced section which would show every detected device. Of course it should come with big fucking warning! PS. Plugging it in USB2.0 port doesn't help. edit: fixed some links... |
Which would be indicative of Windows seeing the device as UASP rather than USB Mass Storage. And for what is worth, I most certainly don't want to blindly list drives with SCSI enumerator, as it would give to much of an opportunity for people to inadvertently format internal SATA HDDs with valuable data, which is the last thing I want. The removal of anything that's not USBSTOR is very very deliberate. Until UASP, no USB mass storage device was ever expected to be listed under anything else but USBSTOR.
No surprise there. If your device is not reported by Windows as being USB, which is exactly what happens if its enumerator is SCSI, then you can't expect much from the regular USB APIs. I do expect to have to modify a lot of code to support UASP, since it changes the deal completely, and I'll also have to make sure that no standard SATA drive, which will also be under the SCSI enumerator, is ever listed.
No. I'm only fighting a losing battle when Microsoft and others starts to call a cat (USB) a dog (SCSI). I'm pretty confident your issue is with UASP, as this is exactly what UASP is all about (make believe that an USB drive is an SCSI drive, and try to hide everything USB under the hood). So this means changing the whole enumeration paradigm and other time consuming stuff. But I already have the enhancement request logged, and I'll be getting UASP hardware to implement it eventually... But there's a reason why UASP support is targeted at a major version rather than the next minor bump: it will take time to implement properly.
You'd be amazed at the number of users that ignore big fucking warnings. I've had quite a few complaints about losing valuable data on a drive they were supposed to know was about to be formatted, even after every single format operation in Rufus does display a massive BIG LETTER warning. So, if I have to take my pick, I'd rather inconvenience users like you for some time, while I add UASP support in as foolproof a way as I can make it, than risk anyone losing valuable data because they fumbled around to try to get any device listed (maybe their USB drive isn't plugged properly) and aren't computer literate enough to understand that the drive they just got listed, and that they are about to format, is not their USB drive at all, but a very valuable internal disk. Believe me, I can see way too many scenarios where grandma Jones is going to format the one drive where she keeps all the pictures of her grandchildren, while thinking she is formatting an USB drive. Rufus is designed to be used by everybody and their grandmother, so avoiding destruction of valuable data, even if this can only be as a result of user error, is paramount!
Interesting... So it looks like the UASP translation layer might also be working over USB 2.0 after all... Still, I'd appreciate if you can see anything that Windows says, confirming that it enabled UASP for your drive. From everything you reported above, your drive is in UASP mode, so I'm hoping their is some means to actually confirm that in one of the Windows UIs. And for the time being, you can just keep following #229, which I'll try to bump if UASP starts to spread more rapidly than I anticipated. |
I couldn't find anything in Windows UI which distinguishes SanDisk from my SSD and HDDs. It is reported as "SanDisk Extreme SCSI Disk Device" and it is listed under Disk Drives in Device Manager. It must be in UASP mode but Windows doesn't say anything about USB part.
Can't argue with this. |
Thanks for the report. I guess since the purpose of UASP is to make an USB drive looks exactly like an SCSI one, Windows not reporting anything different might not be too surprising. Also, I have decided to bite the bullet and just ordered an UASP HDD enclosure, so I'm hoping to be able to check out UASP myself very soon... |
I found the same issue with this SanDisk devices: |
Pretty sure the latest BETA will solve your issue. |
Great! |
Got my UASP enclosure today.
This should tell you, in device manager, if you have a disk running in UASP mode. Won't tell you which one, but if you plug/unplug the device, that should be easy to figure out, as the highlighted entry will disappear if there are no more disks running in UASP mode. I have now added UASP support to the latest v1.4.2 BETA. Can you please download BETA 2 and confirm that it is able to list your drive? |
Hello Pete, I checked Device Manager a week ago, and as I said, couldn't distinguish SanDisk from the rest of the HDDs. In the mean time I found one distinction. USB drive is listed under 'Send To' right-click submenu when you select any file. Anyway, I can now confirm that SanDisk is listed by BETA 2 version. Great work, thanks! Rufus version 1.4.2.375 |
Another remark... I didn't have to check 'List USB Hard Drives' it got detected straight away. |
All the problematic UFD detection issues should now have been fixed with 1.4.2. Closing. |
The TOSHIBA drives are still not detected as of v1.4.3:
Reopened. |
Closed with the 1.4.4 release |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue if you think you have a related problem or query. |
The following is a list of devices improperly identified by Rufus as HDDs and eliminated from the default list (the version in bold is the one in which the drives should be properly recognized):
The text was updated successfully, but these errors were encountered: