Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 May 2012 19:09:55 -0500
From:      Terence Telkamp <Terence_Telkamp@DELL.com>
To:        "freebsd-scsi@freebsd.org" <freebsd-scsi@freebsd.org>
Cc:        John Partridge <J_Partridge@DELL.com>
Subject:   Problem with Removable Disk Device on FreeBSD
Message-ID:  <975552A94CBC0F4DA60ED7B36C949CBA03E75B33D9@shandy.Beer.Town>

next in thread | raw e-mail | index | archive | help
Hello,

I am having trouble using an RD1000 device with FreeBSD 8.1 and 9.0.  The R=
D1000 that I'm using is a device that has a removable SATA disk cartridge a=
nd connects to a host system through USB.  There are other similar devices =
out there such as the RDX:

http://www.imation.com/en-US/Scalable-Storage/Scalable-Storage-Products/RDX=
-Removable-Hard-Disk-Storage/RDX-Removable-HDD-Storage-System-USB-30/

My problem is that FreeBSD does not recognize when the cartridge is inserte=
d or ejected from the device.  If I attach the RD1000 to the host with a ca=
rtridge already inserted a dev node entry shows up (e.g. da0) as well as a =
slice entry (e.g. da0s1), but the slice entry does not go away after I ejec=
t the cartridge.  Conversely, if I attach the RD1000 that doesn't have a ca=
rtridge inserted, a dev node entry for the device shows up (e.g. da0), but =
no slice entery shows up.  Inserting a cartridge after the RD1000 has alrea=
dy been attached still does not cause the slice entry that I expect to show=
 up.  No dmesg shows up to indicate that anything has changed when the cart=
ridge is inserted or ejected after the device has alread been attached.  Do=
ing a camcontrol rescan had no effect on FreeBSD recogizing if there is  a =
cartridge inserted in the RD1000 or not.

Searching the internet, I found that people have run into similar issue usi=
ng zip drives.  They were able to work around the issue by redirecting a tr=
ue command to the device (e.g. true > da0).  After doing that FreeBSD will =
recognize an inserted cartridge in the RD1000 and create a dev slice entry =
for it.  However, that doesn't help me recognize eject events.  Also, I wou=
ld like to understand the root cause and hopefully find a more direct solut=
ion instead of just a workaround.

I've experimented with hosts running other other operating systems.  Both L=
inux and Windows hosts respond to the insertion and removal of the cartridg=
e.

I tried the version of the RD1000 that connects to the host through a SATA =
port and saw similar results.  If I booted with a cartridge already inserte=
d in the RD1000 I would get an afd dev entry, but if I booted without a car=
tridge inserted the afd entry would not be present.  Inserting or ejecting =
the cartridge after boot would have no effect.    Doing an atacontrol detac=
h would cause the afd dev entry to disappear whether the cartridge was inse=
rted or not.  Doing a subsequent atacontrol attach would cause the afd entr=
y to reappear only if a cartridge was inserted.  Since the behavior is simi=
lar whether the RD1000 is attached through USB or SATA, I am wondering if t=
here is a problem in the CAM or SCSI layers of FreeBSD.

Does anybody have any ideas on how I can narrow this issue down further?


Terence Telkamp
Storage Development Associate Engineer II
Dell | Compellent





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?975552A94CBC0F4DA60ED7B36C949CBA03E75B33D9>