Return to BSD News archive
#! rnews 2449 bsd Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!howland.reston.ans.net!vixen.cso.uiuc.edu!uwm.edu!fnnews.fnal.gov!gw1.att.com!cnn.Princeton.EDU!usenet From: Lewis Chen <chenl@lasorda.princeton.edu> Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: IDE NEC 260 ATAPI CDROM Date: Fri, 26 Jan 1996 20:08:01 -0500 Organization: Princeton University Lines: 50 Message-ID: <31097AF1.2781E494@lasorda.princeton.edu> References: <822466221.20556@loddon.demon.co.uk> NNTP-Posting-Host: drysdale.princeton.edu Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 2.0b4 (X11; I; FreeBSD 2.1.0-RELEASE i386) To: Stuart Broderick <stuart@loddon.demon.co.uk> Stuart Broderick wrote: > > Hi, > > Anyone got the NEC260 ATAPI cdrom to work ? My 2.1R doesn't recognise > it, any clues please ? All help appreciated. > > TIA > > Stuart. Try this patch to /usr/src/sys/i386/isa/atapi.c --------cut here------- *** atapi.c Fri Jan 26 19:58:56 1996 --- atapi.c.old Fri Jan 26 20:00:28 1996 *************** *** 319,325 **** char tb [DEV_BSIZE]; /* Wait for controller not busy. */ - outb (port + AR_DRIVE, unit ? ARD_DRIVE1 : ARD_DRIVE0); if (atapi_wait (port, 0) < 0) { print (("atapiX.%d at 0x%x: controller busy, status=%b\n", unit, port, inb (port + AR_STATUS), ARS_BITS)); --- 319,324 ---- *************** *** 362,371 **** * Mitsumi and NEC drives don't need this. */ if (! ((ap->model[0] == 'N' && ap->model[1] == 'E') || ! (ap->model[0] == 'F' && ap->model[1] == 'X'))) bswap (ap->model, sizeof(ap->model)); ! bswap (ap->serial, sizeof(ap->serial)); ! bswap (ap->revision, sizeof(ap->revision)); /* Clean up the model name, serial and revision numbers. */ btrim (ap->model, sizeof(ap->model)); --- 361,371 ---- * Mitsumi and NEC drives don't need this. */ if (! ((ap->model[0] == 'N' && ap->model[1] == 'E') || ! (ap->model[0] == 'F' && ap->model[1] == 'X'))) { bswap (ap->model, sizeof(ap->model)); ! bswap (ap->serial, sizeof(ap->serial)); ! bswap (ap->revision, sizeof(ap->revision)); ! } /* Clean up the model name, serial and revision numbers. */ btrim (ap->model, sizeof(ap->model));