NetBSD Problem Report #6157

Received: (qmail 13366 invoked from network); 14 Sep 1998 19:40:40 -0000
Message-Id: <199809141937.VAA00563@maus.rz.uni-jena.de>
Date: Mon, 14 Sep 1998 21:37:45 +0200 (MEST)
From: Ingolf Koch <ingolf@djo-jena.de>
Reply-To: Ingolf Steinbach <ingolf@steinba.ch>
To: gnats-bugs@gnats.netbsd.org
Subject: Floppy type (DD/HD) not recognized correctly
X-Send-Pr-Version: 3.95

>Number:         6157
>Category:       port-amiga
>Synopsis:       floppy driver does not always recognize HD disks
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    is
>State:          suspended
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Sep 14 12:50:01 +0000 1998
>Closed-Date:    
>Last-Modified:  Mon Mar 29 19:45:29 +0000 2004
>Originator:     Ingolf Koch
>Release:        1.3.2
>Organization:
Jena-Optronik GmbH
>Environment:
System: NetBSD maus.rz.uni-jena.de 1.3.2 NetBSD 1.3.2 (MAUS) #2: Thu Jun 11 20:03:43 MEST 1998 ingolf@maus.rz.uni-jena.de:/usr/src/sys/arch/amiga/compile/MAUS amiga
A4000 w/ internal 3.5" HD floppy drive
>Description:
	After booting with a HD floppy disk in disk drive #0 (I'm
    not sure if this is still needed to use HD disks), the
    driver does not recognize newly inserted HD disks as such
    every second or third time, e.g.

    ingolf@maus% cat /dev/fd0b > /dev/null
    cat: /dev/fd0b: Input/output error

    (Yes, the disk was MSDOS formatted)
    It seems that these problems are more likely to occur if
    the drive's head has been moved to the innermost cylinder
    before (e.g. by a similar `cat' as above). For determining
    the drive type, it is AFAIK necessary to move the head to
    the outermost cylinder (or even beyond it), so the reason
    might be that the head is not moved enogh steps.

    Another anomaly I noticed was that keyboard input is often
    duplicated during floppy activity. But maybe this is another
    PR...
>How-To-Repeat:
	0. Use an Amiga4000 with an internal HD floppy drive.
    1. Boot it with (not "from") a HD disk in drive #0.
    2. Read the whole disk.
    3. Insert another HD disk.
    4. Try to read it (the whole disk).
    If step 4 succeeded, repeating 3 and 4 should lead to a
    read error after a few retries.
>Fix:
	Maybe the head is not moved far enough to be able to
    determine the disk type.
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->port-amiga-maintainer 
Responsible-Changed-By: fair 
Responsible-Changed-When: Mon Dec 28 09:34:48 PST 1998 
Responsible-Changed-Why:  
This PR is the responsibility of the portmaster, 
not the GNATS database administrator. 
State-Changed-From-To: open->feedback 
State-Changed-By: is 
State-Changed-When: Thu Apr 22 13:34:20 PDT 1999 
State-Changed-Why:  
It looks to me like the new-styld delay()/DELAY() (which can actually  
delay for only one microsecond) has broken the fd.c code, which sometimes 
uses delay(1) where te AHRM demands 1.4 microseconds or more. 
(The old delay() would use a CIA delay, which is at least 1.4 microseconds, 
and DELAY() would use a HBLANK wait, which is uhm, 64 usec more or less, 
minimum) 
I've tried to set delay(2) in a fewrelevant places. Please apply the 
patch below and tell me if it helps. 

--- fd.c.original       Thu Apr 22 22:14:41 1999 
+++ fd.c        Thu Apr 22 22:24:22 1999 
@@ -961,13 +961,14 @@ 
FDDESELECT(FDCUNITMASK); 

FDSETMOTOR(1); 
-       delay(1); 
+       delay(2);               /* AHRM says 1.4 usec */ 
FDSELECT(umask); 
delay(1); 
FDDESELECT(umask); 
+       delay(2);               /* AHRM says 1.4 usec */ 

FDSETMOTOR(0); 
-       delay(1); 
+       delay(2); 
FDSELECT(umask); 
delay(1); 
FDDESELECT(umask); 
@@ -1086,7 +1087,7 @@ 

FDDESELECT(FDCUNITMASK); 
FDSETMOTOR(1); 
-       delay(1); 
+       delay(2);                       /* AHRM says 1.4 usec */ 
FDSELECT(sc->unitmask); 
delay(1); 
if ((sc->flags & FDF_MOTORON) == 0) { 
jocelyn xsrc !% 

From: Ingolf Steinbach <ingolf@steinba.ch>
To: gnats-bugs@netbsd.org
Cc:  
Subject: Re: port-amiga/6157
Date: Mon, 13 Aug 2001 21:57:02 +0200

 Please change the submitter entry to
     Ingolf Steinbach <ingolf@steinba.ch>

Responsible-Changed-From-To: port-amiga-maintainer->is 
Responsible-Changed-By: perry 
Responsible-Changed-When: Fri Apr 4 11:34:34 PST 2003 
Responsible-Changed-Why:  
He's the amiga portmaster, and also seems to know what the problem is. 

From: Ingolf Steinbach <ingolf-200306@steinba.ch>
To: is@netbsd.org
Cc: gnats-bugs@netbsd.org
Subject: Re: port-amiga/6157
Date: Mon, 23 Jun 2003 23:05:02 +0200

 > State-Changed-From-To: open-feedback
 > State-Changed-By: is
 > State-Changed-When: Thu Apr 22 13:34:20 PDT 1999
 > State-Changed-Why:

 Hi,

 as I probably won't have enough spare time to investigate
 this in the foreseeable future, I suggest to change the state
 to "suspended" (or maybe even "dead").

 Sorry, but family has got a much higher priority than hunting
 assumed bugs...

 Kind regards

     Ingolf
State-Changed-From-To: feedback->suspended 
State-Changed-By: fair 
State-Changed-When: Mon Mar 29 19:43:32 UTC 2004 
State-Changed-Why:  

Suspended per request of submitter. 

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.