While accessing a drive with high error rates (as, for example, here for opensuse) in FreeBSD, the system eventually disconnects the drive and it disappears from /dev. This makes it impossible to run ddrescue or testdrive in any reasonable fashion.
With FreeBSD 9+ the camcontrol utility can be used to control if either a SATA or a SCSI drive is disconnected, or not, in such circumstances:
camcontrol negotiate /dev/<dev> -D disable
Use gmountver; configure it (
gmountver create /dev/adaX) and use
mountver device will stay there while adaX`` disappears, and all the disk IO operations will get retried after it reappears.