Hi! So I put the problematic optical drive on a siis pcie card now because I wanted to play with esata too which seems to be kinda broken on the jmicron that I used before at least with _this_ esata drive (hw issue most likely, has been reported by users of other OSes too) - and I noticed two things: 1. cd(4) (which the new ahci and siis drivers now also use) fails to do any reads when a drive fails the read toc command as seems to happen with bluray (data) discs at least; I was able to work around this by moving the bailout: label up a few lines in scsi_cd.c:cdcheckmedia(): Index: sys/cam/scsi/scsi_cd.c _at__at_ -2868,12 +2868,18 _at__at_ } softc->flags |= CD_FLAG_VALID_TOC; + +bailout: softc->disk->d_maxsize = DFLTPHYS; softc->disk->d_sectorsize = softc->params.blksize; softc->disk->d_mediasize = (off_t)softc->params.blksize * softc->params.disksize; +/* if bailout: + * is here read requests will fail when the toc cant be read although + * CD_FLAG_VALID_MEDIA is set. + */ /* * We unconditionally (re)set the blocksize each time the (I say work around because I don't know if there might be stuff somewhere that depends on the old behaviour, although thats probably unlikely; also acd(4) seems to behave similarly.) 2. cdda/dae seems to be broken entirely with ahci(4) as well as siis(4) (I remember a report about it being broken for usb optical drives too so maybe this is related?) - I tested with the audio/cdparanoia port as well as with mplayer -cdrom-device /dev/cd{0,1} cdda://... (mplayer needs to be built with the libparanoia knob on for this) - this does work with atapicam(4) without ahci/siis so it can't be cd(4)'s fault alone. On siis(4) it seems to just fail while on ahci(4) (I still have another optical drive on there, it's on the board's amd sb700) it causes the sata channel to be reset endlessly until I ^C mplayer: ahcich1: AHCI reset... ahcich1: hardware reset ... ahcich1: SATA connect time=0ms status=00000113 ahcich1: ready wait time=144ms ahcich1: AHCI reset done: devices=00000001 ahcich1: AHCI reset... ahcich1: hardware reset ... ahcich1: SATA connect time=0ms status=00000113 ahcich1: ready wait time=144ms ahcich1: AHCI reset done: devices=00000001 (Remeber if you want to reproduce this libparanoia needs permissions on the optical drive's pass(4) device node and possibly /dev/xpt0 too. And of course you need an audio cd. :) Soo, anyone have ideas/patches/things they want me to check for this? Thanx, Juergen PS: I have built quite a few more ports with ahci(4) enabled on this box now after I updated it to RELENG_8 and the ncq(?) hang hasn't reappeared yet, so _maybe_ it works now *knock-on-wood*...Received on Thu Aug 06 2009 - 16:48:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:53 UTC