keirf / flashfloppy

Floppy drive emulator for Gotek hardware
Other
1.33k stars 193 forks source link

write-protect BUG? #135

Closed tigerzhou100800 closed 6 years ago

tigerzhou100800 commented 6 years ago

With these settings FlashFloppyV0.9.22a write-protect always Enable, "Press eject button for 2 second" doesn't Disable write-protect. Act like "write-protect = yes" . I have to short GND and RST once to make "write-protect = no" actually work. And next time connect to power , it needs to short GND and RST again. FlashFloppy mod Gotek SFRC9220 with SDcard reader , write able in windows . settings:

interface = ibmpc host = unspecified

write-protect = no

side-select-glitch-filter = 0 track-change = instant index-suppression = yes ejected-on-startup = no image-on-startup = init display-probe-ms = 3000 autoselect-file-secs = 2 autoselect-folder-secs = 255 nav-mode = default nav-loop = yes twobutton-action = zero rotary = half display-type = oled-128x32-rotate oled-font = 6x13 display-off-secs = 60 display-on-activity = yes display-scroll-rate = 200 display-scroll-pause = 2000 nav-scroll-rate = 80 nav-scroll-pause = 300 step-volume = 20 da-report-version = "" extend-image = yes

keirf commented 6 years ago

Your USB stick is reporting it is write protected at power on. Try a different stick, or try pulling and reinserting the stick.

tigerzhou100800 commented 6 years ago

Replug doesn't work , only GND-RST works . Since GND-RST works , why can't it set to "write-protect = no" at power on. USB stick with "write-protect = no" FF.CFG had already plug in when power on.

keirf commented 6 years ago

FF never writes to a USB stick that reports itself read-only, regardless of FF configuration.

After GND-RST, if you replug the stick does it become read-only again? Probably it does. What make is it?

tigerzhou100800 commented 6 years ago

Why USB stick that reports itself read-only , Plug to every computer , all files deletable writable. It's writable on Windows 98se with Asus P2BF, writable on Windows XP with Asrock conroe865GV, writable on Windows 7 with Asrock B85 Pro4. And so this USB stick shall be read-only, Those systems and USB port hardware must be something wrong. And yes, After GND-RST replug it got "write-protect" lock on "yes" again. SDcard reader made by SSK , within it is TFcard wth SDcard-skin , unknown manufacturer , Made in China things like Gotek . SDcard reader respect SDcard write-protect switch, the SDcard-skin (microSD/TF to SD adapter) has a write-protect switch just like a SDcard and it's set to writable .

keirf commented 6 years ago

I'm not sure that ignoring the reported write protect status is a good idea in general. I imagine this setup reports this status for a short while at startup and for some reason Windows probes it in a way that it gets the more correct answer. A lot of these devices are tested to work on Windows, rather than work to spec...

I could add a config option to ignore USB write-protect status, or perhaps an option to delay USB startup for some milliseconds to give the drive a chance to get into the better state you see after GND-RST?

tigerzhou100800 commented 6 years ago

Maybe a SDcard reader with respect SDcard write-protect switch, would first report "write-protect on" when power on , but after check SDcard within itself , it would report write-protect status again according to the SDcard's write-protect switch status. Then FlashFloppy maybe ignore the second report status. So it maybe card reader compatible problem, card reader empty check , new plug in card write-protect check , pull out check, plug in check. For exsample this card reader power on status report is card reader without card plugin , when empty it report itself read-only . When card plugin (or it find out it's power on with card in ) it would report new status, FlashFloppy accept new status's files list content, but ignore read-only disable change.

Squirrel61 commented 6 years ago

Something in this issue tells me that mr. Zhou is a Chinese and the stick he's using is one of these infamous Chinese sticks that you can also find on eBay or AliExpress, that always report a higher capacity than the real capacity of the memory chip(s) used.

I ran into such sticks a few times and even on Windows, also got strange effects including the mysterious write-protect.

Mr. Zhou, can you post some more information on the stick? Maybe a picture or a link to the seller?

keirf commented 6 years ago

It's an unbranded TF card in a USB reader...

Really, the best option here is to just try another stick, or reader. It also gives some more info on the original problem and whether the reader or card is misreporting.

I could add a FF.CFG option to ignore USB wrpro status.

tigerzhou100800 commented 6 years ago

TFcard was from mini DLP projector 's dead body , it's OEM with out brand print on it . Add: Oh, TFcard had a sticker on it ,remove the sticker , it's printed SanDisk 16GB MicroSD HC. SDcard-skin doesn't matter , it extends TFcard pins to SDcard pins. SDcard reader http://en.ssk.cn/Product/Rcard/SD/12.html When set SDcard read-only switch to not writable, plug to windows , mouse right button menu of files wouldn't show delete, and any attempt to modify file would popup "The disk is write-protected" . Set back to writable , file modify OK. This card reader read-only status changing works nornally on windows. And I have been using this card reader since 2010, it always works fine. But, whatever I set read-only or not , FlashFloppy work the same as "write-protect = yes" .

tigerzhou100800 commented 6 years ago

quote: "or perhaps an option to delay USB startup for some milliseconds to give the drive a chance to get into the better state you see after GND-RST?"

Or power on USB reader first , check USB reader status later.

keirf commented 6 years ago

Power to USB is not gated at all. 5v from floppy connector flows straight to Vbus USB.

Squirrel61 commented 6 years ago

I also had my share of unbranded (and branded, but faked) TF-cards from China and although most worked very well, some of them showed similar behaviour. Write-protected for Windows, but still perfectly usable in R4-cards (an R4 is a kind of Gotek for the Nintendo DS ;) ). Many times they became totally unreadable after some extended use.

My advice is to use a genuine TF-card from a good brand (although in China, you never know for sure if it's genuine but if there's one of those oval gold-colored warranty labels on the back, it's definitely fake). That's easier than to reprogram FlashFloppy to accept crappy cards for the few hours of life they have left.

tigerzhou100800 commented 6 years ago

TFcard works fine , IT NEVER MISTAKELY LOCK WRITE-PROTECTED ON WINDOWS. And can operate fine in android phone with TFcard slot. I think it's real SanDisk TF card.
I think QUOTE: "an option to delay USB startup for some milliseconds" would be fine.

keirf commented 6 years ago

Here is a firmware which allows you to ignore the WP status of the attached USB drive. See how that works out for you, including that writes do actually work ;)

You need the following option in FF.CFG: usb-ignore-wp = yes

ff_135_1.zip

tigerzhou100800 commented 6 years ago

Yes, it works. But, I just keep it old way, since I don't write to emulator floppy disk much , it's better be write protected . I add a button to GND-RST , it temporarily remove write-protection. Just forget about this thread .