*BSD News Article 60706


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