Subject: External SIA on Multia (A FIX!!!!)
To: None <port-alpha@NetBSD.ORG>
From: Greg Oster <oster@cs.usask.ca>
List: port-alpha
Date: 01/25/1997 18:42:16
Hi

I'm happy to report that I think I've tracked down the little bug that was not
letting the External SIA port work on my Multia.  

I'm not sure if this will fix the bug Chris has been seeing recently, but it 
may
fix  PR 3141 (just posted by Matthias Scheler)

The fix is relative to /src/sys/dev/pci/if_de.c (as of Jan 13 12:20 -- i.e. 
-current), and basically consists of changing a "300" to a "3000".  (I'm not 
sure if the other minor change is strictly needed)  (The 300 (which was likely 
just a typo) wasn't a long enough delay, and interrupts were being lost 
somewhere... (at least that's my theory).)

(I've included a diff at the end.. not sure how well it will travel through 
the mail though :-/ )

My multia now says:
 de0: enabling External SIA port
when it boots (although the message sometimes takes a little while to appear) 
and the BNC connection works like a charm...

Later...

Greg Oster

oster@cs.usask.ca
Department of Computer Science
University of Saskatchewan, Saskatoon, Saskatchewan, CANADA
----8<----8<----8<----
oster@rizzo-7> diff -p if_de.c if_de.c.orig
*** if_de.c     Sat Jan 25 18:06:44 1997
--- if_de.c.orig        Thu Jan 23 19:48:37 1997
*************** tulip_media_poll(
*** 773,779 ****
               event == TULIP_MEDIAPOLL_TXPROBE_FAILED ? "txprobe failed" : 
"timeout",
               tulip_mediums[sc->tulip_probe_media]);
  #endif
!       sc->tulip_probe_timeout = TULIP_IS_MEDIA_TP(sc->tulip_probe_media) ? 
2500 : 3000;
        sc->tulip_probe_state = TULIP_PROBE_MEDIATEST;
        sc->tulip_probe.probe_txprobes = 0;
        tulip_reset(sc);
--- 773,779 ----
               event == TULIP_MEDIAPOLL_TXPROBE_FAILED ? "txprobe failed" : 
"timeout",
               tulip_mediums[sc->tulip_probe_media]);
  #endif
!       sc->tulip_probe_timeout = TULIP_IS_MEDIA_TP(sc->tulip_probe_media) ? 
2500 : 300;
        sc->tulip_probe_state = TULIP_PROBE_MEDIATEST;
        sc->tulip_probe.probe_txprobes = 0;
        tulip_reset(sc);
*************** tulip_21040_mediainfo_init(
*** 853,859 ****
        TULIP_MEDIAINFO_SIA_INIT(sc, &sc->tulip_mediainfo[2], 21040, AUIBNC);
      }
  
!     if (media == TULIP_MEDIA_EXTSIA || media == TULIP_MEDIA_UNKNOWN) {
        TULIP_MEDIAINFO_SIA_INIT(sc, &sc->tulip_mediainfo[3], 21040, EXTSIA);
      }
  }
--- 853,859 ----
        TULIP_MEDIAINFO_SIA_INIT(sc, &sc->tulip_mediainfo[2], 21040, AUIBNC);
      }
  
!     if (media == TULIP_MEDIA_UNKNOWN) {
        TULIP_MEDIAINFO_SIA_INIT(sc, &sc->tulip_mediainfo[3], 21040, EXTSIA);
      }
  }