--- stream.c.orig 2017-01-02 16:53:04.635846000 +0000 +++ stream.c 2017-01-02 16:55:21.419714000 +0000 @@ -1153,7 +1153,10 @@ #ifndef __FreeBSD__ if(err == ERR_TTYHUP) { #else - if(err == ERR_TTYHUP || err == ENXIO) { + /* Try to reopen our file descriptor even on errno 6, FreeBSD bug 200429 + * Also try on errno 5, FreeBSD bug 211033 + */ + if(err == ERR_TTYHUP || err == ENXIO || err == EIO) { #endif /* __FreeBSD__ */ close(pThis->fd); CHKiRet(doPhysOpen(pThis));