CDROMEJECT (or START_STOP(2)) completely disables USB flash stick
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
While working on some HAL issues I hit some not clear - to me at least - behavior. I was testing HAL Eject method that under Linux effectively calls 'eject /dev/block'. Now for USB stick - at least, that I have, this results in "ejecting medium" without apparently any way to get it back (the only way is to replug stick).
UEVENT[1152175788.114199] remove@/block/sda/sda1
ACTION=remove
DEVPATH=/block/sda/sda1
SUBSYSTEM=block
SEQNUM=1332
MINOR=1
MAJOR=8 PHYSDEVPATH=/devices/pci0000:00/0000:00:02.0/usb1/1-1/1-1:1.0/host1/target1:0:0/1:0:0:0 PHYSDEVBUS=scsi
PHYSDEVDRIVER=sd
In this state I do see device:
{pts/0}% sudo sdparm -a /dev/sda
/dev/sda: 128MB 2.00
{pts/0}% cat /proc/scsi/scsi
Attached devices:
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Model: 128MB Rev: 2.00
Type: Direct-Access ANSI SCSI revision: 02
but any attempt to get partition back results in
{pts/0}% LC_ALL=C sudo blockdev --rereadpt /dev/sda /dev/sda: No medium found
I tried 'sdparm -C start' without much success as well:
{pts/0}% LC_ALL=C sudo sdparm -v -C start /dev/sda
/dev/sda: 128MB 2.00
Start stop unit command: 1b 00 00 00 01 00
{pts/0}% LC_ALL=C sudo blockdev --rereadpt /dev/sda /dev/sda: No medium found
Well, I just try to understand if this is a expected (and reasonable) behaviour or a bug in hardware or possibly software?
Thank you
- -andrey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
iD8DBQFErNN2R6LMutpd94wRAg1DAJ9EITRTZCm/ej5PXzxAK71s7sUCVACgiNFx KXOuNAwwhPKYcogaK6LgMZM=
=MHVX
-----END PGP SIGNATURE-----
Quoted 6 lines
While working on some HAL issues I hit some not clear - to me at least - behavior. I was testing HAL Eject method that under Linux effectively calls 'eject
/dev/block'. Now for USB stick - at least, that I have, this results in "ejecting medium" without apparently any way to get it back (the only way is to replug stick).
I suppose eject does the same as sdparm -C eject, and yes, it does not seem like you can reload an USB stick with the opposite of eject, sdparm -C load (at least these are the commands that work for CDROM devices).
Quoted 5 lines
{pts/0}% LC_ALL=C sudo blockdev --rereadpt
/dev/sda/dev/sda: No medium foundI tried 'sdparm -C start' without much success as well:
Quoted 8 lines
{pts/0}% LC_ALL=C sudo sdparm -v -C start
/dev/sda
/dev/sda: 128MB 2.00
Start stop unit command: 1b 00 00 00 01 00
{pts/0}% LC_ALL=C sudo blockdev --rereadpt/dev/sda/dev/sda: No medium foundWell, I just try to understand if this is a expected (and reasonable) behaviour or a bug in hardware or possibly software?
I cannot close the tray of the CDROM drive with -C start (or -C ready), so I doubt the same will be true for USB sticks.
Maybe all of this is a limitation of USB sticks - I got to check it with real USB harddisks or hotswap SCA disks.
Jan Engelhardt