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));