Page 1 of 1

Solved the "'the disk drive is empty' - CANCEL/RETRY" error

Posted: Tue Feb 26, 2013 1:01 am
by AquaMan
For anyone else running into this problem where the RISC OS boot says "'the disk drive is empty' - CANCEL/RETRY"

The slot the SD card loads into has a tiny pressure switch that runs orthogonal to the direction the card slides. It has to press against another very small piece of wire to make a contact (picture a tiny pair of tweezers). When I looked closely at the SD slot I noticed that the stationary wire was out of place. It simply rests in a small grove and easily falls out, preventing a connection.

I put the stationary wire back in its place, inserted the SD card, made sure there was a connection, and sure enough RISC OS booted up perfectly.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Wed Mar 13, 2013 3:22 am
by deadkenny
Wow!

Perfect. That's exactly the problem I was having. Assumption was from various posts that it could have been an issue with particular SD cards or even certain Pi models, but turns out it's as simple as this!

I flicked the spring back into place and now RISC OS boots perfectly.

Strange though that even with it out of place, the linux pi images booted fine.

Many thanks. Now I just need to find some old apps and games that actually work under 32bit ARM.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Wed Mar 13, 2013 8:43 am
by AMcS
deadkenny wrote:Wow!

Perfect. That's exactly the problem I was having. Assumption was from various posts that it could have been an issue with particular SD cards or even certain Pi models, but turns out it's as simple as this!

I flicked the spring back into place and now RISC OS boots perfectly.

Strange though that even with it out of place, the linux pi images booted fine.

Many thanks. Now I just need to find some old apps and games that actually work under 32bit ARM.
RISC OS checks if the spring is closed (to see if the card is in place), Linux doesn't.
You can't run Linux without the card being in place (so what's the point in checking?); in RISC OS' case you can swap cards once the OS has booted - so knowing when a card is "in place" or that the card has been changed is useful.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Fri Mar 15, 2013 10:06 am
by Tirpitz
Aquaman: Pictures can say more than 1000 words. Photos are highly welcomed.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Fri Mar 15, 2013 8:12 pm
by deadkenny
Ah, thanks for the explanation. That's actually quite cool then. Didn't think you'd be able to swap the card while running.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Fri Mar 15, 2013 8:53 pm
by AquaMan
Tirpitz wrote:Aquaman: Pictures can say more than 1000 words. Photos are highly welcomed.
Using someone else's photo
http://img.photobucket.com/albums/v470/ ... etTop2.png

There are copper two wires that run horizontally and connect to what I assume are pins 0 and 1 (or 12 and 13). When you insert an SD card the lower wire is pressed into the upper wire which would indicate if there is a card or not.

On my RPi, the upper wire in that picture had popped out of the slot it normally sits in. There is nothing holding it in other than a little bit of spring force. All I had to do was pop it back into the slot, so that the two wires could connect.

If you look at this photo you'll see the wires making contact.
http://www.adrirobot.it/raspberry_pi/im ... d_slot.jpg

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Fri Mar 15, 2013 9:19 pm
by AMcS
deadkenny wrote:Ah, thanks for the explanation. That's actually quite cool then. Didn't think you'd be able to swap the card while running.
No problem, you can use this mechanism for copying files from one card to another (for example) - I believe RISC OS Open's NutPi software collection SDHC card uses it for transferring files from NutPi to your RISC OS "boot card".

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Fri Mar 15, 2013 11:40 pm
by jojopi
AMcS wrote:RISC OS checks if the spring is closed (to see if the card is in place), Linux doesn't.
You can't run Linux without the card being in place (so what's the point in checking?); in RISC OS' case you can swap cards once the OS has booted - so knowing when a card is "in place" or that the card has been changed is useful.
You can hot plug cards in Linux too, provided they have no filesystem or swap active. The kernel logs messages when the cards are plugged in and out, but it is evidently detecting this using the card contacts, not the spring switch on the socket.

Code: Select all

mmc0: card 1234 removed
mmc0: new high speed SDHC card at address 1234

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Sat Mar 16, 2013 12:14 am
by AMcS
jojopi wrote:
AMcS wrote:RISC OS checks if the spring is closed (to see if the card is in place), Linux doesn't.
You can't run Linux without the card being in place (so what's the point in checking?); in RISC OS' case you can swap cards once the OS has booted - so knowing when a card is "in place" or that the card has been changed is useful.
You can hot plug cards in Linux too, provided they have no filesystem or swap active. The kernel logs messages when the cards are plugged in and out, but it is evidently detecting this using the card contacts, not the spring switch on the socket.

Code: Select all

mmc0: card 1234 removed
mmc0: new high speed SDHC card at address 1234
Thanks for the correction Jojopi, indeed an oversight on my part, sorry.

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Sat Mar 16, 2013 9:21 pm
by Tirpitz
What I think about? Impatient user would bridge the pressure switch because he would see in this something what brings only problems. Who really needs hot-swap feature on RasPi system disk?

Re: Solved the "'the disk drive is empty' - CANCEL/RETRY" er

Posted: Sat Mar 16, 2013 9:33 pm
by AMcS
Tirpitz wrote:What I think about? Impatient user would bridge the pressure switch because he would see in this something what brings only problems. Who really needs hot-swap feature on RasPi system disk?
It only brings a problem if there's a defect with the switch I would have thought or if the card hasn't been inserted correctly (which could bring other non-trivial problems). Mind you I can understand your impatience (been there done that !).