Reattach/redetect allways connected umass device - is it
possible ?
Bernd Walter
ticso at cicely12.cicely.de
Mon Mar 28 06:38:51 PST 2005
On Mon, Mar 28, 2005 at 04:24:30PM +0200, Poul-Henning Kamp wrote:
> In message <20050328134856.GF14532 at cicely12.cicely.de>, Bernd Walter writes:
>
> >> Driver support for this is not really meaterialized and therefore
> >> the model now is that when the media is ejected the geom device
> >> is removed and a new one created right away, even if a new media
> >> is not inserted right away.
> >
> >Do you get eject notifications from any device type?
>
> Right now I belive floppy disks DTRT.
Interesting.
> >One of my problems is that it is possible with SCSI MO drives to
> >eject the media, reinsert a new one and errously continue to work
> >with the old GEOM layout.
> >I already trashed the data on one media by forgetting to trigger
> >a reprobe - since then I use a mount script.
>
> Well, I have no idea how to pull the information out of the CAM/SCSI
> code, but I'm sure there is _some_ way it can be done.
There is the test unit ready command.
Either it returns OK, or you may get usefull sense data.
Here is an example:
No media in the drive:
[60]cicely13# camcontrol tur -n da -u 0 -v
Unit is not ready
(pass0:ahc0:0:1:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(pass0:ahc0:0:1:0): CAM Status: SCSI Status Error
(pass0:ahc0:0:1:0): SCSI Status: Check Condition
(pass0:ahc0:0:1:0): NOT READY asc:3a,0
(pass0:ahc0:0:1:0): Medium not present
Exit 1
Media just inserted and give the drive some time to spin up:
[61]cicely13# camcontrol tur -n da -u 0 -v
Unit is not ready
(pass0:ahc0:0:1:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(pass0:ahc0:0:1:0): CAM Status: SCSI Status Error
(pass0:ahc0:0:1:0): SCSI Status: Check Condition
(pass0:ahc0:0:1:0): UNIT ATTENTION asc:28,0
(pass0:ahc0:0:1:0): Not ready to ready change, medium may have changed
Exit 1
Just retry TUR command:
[62]cicely13# camcontrol tur -n da -u 0 -v
Unit is ready
Media ejected:
[63]cicely13# camcontrol tur -n da -u 0 -v
Unit is not ready
(pass0:ahc0:0:1:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(pass0:ahc0:0:1:0): CAM Status: SCSI Status Error
(pass0:ahc0:0:1:0): SCSI Status: Check Condition
(pass0:ahc0:0:1:0): NOT READY asc:3a,0
(pass0:ahc0:0:1:0): Medium not present
Exit 1
Media reinserted without waiting the drive to spin up:
[64]cicely13# camcontrol tur -n da -u 0 -v
Unit is not ready
(pass0:ahc0:0:1:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(pass0:ahc0:0:1:0): CAM Status: SCSI Status Error
(pass0:ahc0:0:1:0): SCSI Status: Check Condition
(pass0:ahc0:0:1:0): NOT READY asc:98,0
(pass0:ahc0:0:1:0): Vendor Specific ASC
Exit 1
After the drive spun up:
[65]cicely13# camcontrol tur -n da -u 0 -v
Unit is not ready
(pass0:ahc0:0:1:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
(pass0:ahc0:0:1:0): CAM Status: SCSI Status Error
(pass0:ahc0:0:1:0): SCSI Status: Check Condition
(pass0:ahc0:0:1:0): UNIT ATTENTION asc:28,0
(pass0:ahc0:0:1:0): Not ready to ready change, medium may have changed
Exit 1
Retry TUR:
[66]cicely13# camcontrol tur -n da -u 0 -v
Unit is ready
--
B.Walter BWCT http://www.bwct.de
bernd at bwct.de info at bwct.de
More information about the freebsd-mobile
mailing list