This is a long shot, but here is my question-
I use Tinycore kernel + my custom core.gz for a specific purpose. I am trying to add one more 'purpose'- erasing hard drives, which I do often enough. Previously, I have been using DBAN, but it has problems booting on some pc's (Tinycore has never failed me). I wrote my own c utility to 'wipe' a hard drive with random data (random enough for my purposes, and not really necessary), which works fine.
Recently, I discovered (about 15? years late), that the ata standard provides for 'secure-erase' commands, which may be nice for spinning hard drives, and may be necessary for ssd's. So I test secure erase using hdparm, and it works ok although it is not any faster than my utility (takes the same time, so at least my program and linux are feeding the drive as fast as possible). The main advantage it seems, is that the enhanced secure erase will erase data in the sectors marked as bad (by the drive).
The problems are- the secure erase does not work with usb-sata adapters (like external usb drives), and it seems the BIOS of the several pc's I used to test put the hard drive in 'security freeze' when they boot.
To 'unfreeze' the drive, you can suspend/resume (I'm told), then because the drive powered down, powered on- it reset itself and since it did not receive the 'freeze' command from BIOS (after the drive powered up), it is now 'not frozen'. My question will be about suspending in Tinycore, but a few more comments before I ask.
What I have tried- I can spin down/spin up the hard drive by sending commands to somewhere in /sys (don't remember what they were now)- which spins down the drive, spins it back up, redetects the drive, but the 'frozen' status does not change (the drive is spinning down, goes offline, but drive controller never resets). There may be a proper way to actually reset the controller, but I have not found it. What does work, but is not really a good solution, is to simply pull the power connector from the drive, plug it back in, then the drive will be 'not frozen'.
I have not been able to properly try the suspend method (echo -n mem > sys/power/state), as I cannot get Tinycore to show video after the resume . The suspend works, resume works, keyboard works, but no video after resume. I am using a framebuffer video mode (800x600x16)- console only, no X.
Question- is there some trick I'm missing to suspend/resume?
Thanks.