Date: Sat, 19 Feb 2000 23:49:16 -0600 From: Chris Csanady <cc@137.org> To: "Kenneth D. Merry" <ken@kdm.org> Cc: Chris Csanady <cc@137.org>, freebsd-alpha@freebsd.org Subject: Re: Netbooting.. Message-ID: <38AF805C.68A6F23A@ameslab.gov> References: <38AB2424.C4C9D80D@ameslab.gov> <20000219193644.A81810@panzer.kdm.org> <38AF79AE.15C1FE6E@ameslab.gov> <20000219223054.B82975@panzer.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------41C3B9ACA6B0EC5AEAB48A0E Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit "Kenneth D. Merry" wrote: > > On Sat, Feb 19, 2000 at 23:20:46 -0600, Chris Csanady wrote: > > "Kenneth D. Merry" wrote: > > > FWIW, I'm having similar problems with a DEC3000/300 box I'm trying to > > > netboot. (It took me a while to figure out that I had to boot "ez0" > > > instead of "esa0" to get bootp instead of MOP.) > > [ ... ] > > > > I may try to track this down tomorrow. It seems like it should be > > > solveable. BTW, I'm running with -current as of ~February 12th, I think, > > > and I'm netbooting (bootp, tftp and NFS) off a FreeBSD/alpha box. > > > > Do you have the bootp options in your kernel? Drew pointed out that > > I need these as well as the NFS_ROOT option in my kernel. > > > > options BOOTP # Use BOOTP to obtain IP address/hostname > > options BOOTP_NFSROOT # NFS mount root filesystem using BOOTP info > > options BOOTP_NFSV3 # Use NFS v3 to NFS mount root > > options BOOTP_COMPAT # Workaround for broken bootp daemons. > > options BOOTP_WIRED_TO=dc0 # Use interface fxp0 for BOOTP > > Oops, no, I don't have those. It makes sense that I would need them, > though. :) > > > Also, it turned out that dc0 does not autodetect the media correctly on my > > boxes. If you have xp1000's, you will probably need the included patches. > > Nah, this is a fairly old box with a 10BaseT-only Lance ethernet interface. > > I haven't had any trouble with the dc0 driver detecting the media on a > 433au box. Although I do have the media type hard-coded in SRM, I think. > > What patches are you talking about? Hmm.. Perhaps I forgot to attach them. :) This happens sometimes. The patches basically make the dc driver listen to the SRM settings. Here they are in any case.. Chris --------------41C3B9ACA6B0EC5AEAB48A0E Content-Type: text/plain; charset=iso-2022-jp; name="dc.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="dc.diff" Index: if_dc.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_dc.c,v retrieving revision 1.7 diff -u -r1.7 if_dc.c --- if_dc.c 2000/01/24 17:19:37 1.7 +++ if_dc.c 2000/02/07 17:04:48 @@ -1721,6 +1721,33 @@ bpfattach(ifp, DLT_EN10MB, sizeof(struct ether_header)); +#ifdef __alpha__ + sc->dc_srm_media = 0; + + /* Remember the SRM console media setting */ + if (DC_IS_INTEL(sc)) { + command = pci_read_config(dev, DC_PCI_CFDD, 4); + command &= ~(DC_CFDD_SNOOZE_MODE|DC_CFDD_SLEEP_MODE); + switch ((command >> 8) & 0xff) { + case 3: + sc->dc_srm_media = IFM_10_T; + break; + case 4: + sc->dc_srm_media = IFM_10_T | IFM_FDX; + break; + case 5: + sc->dc_srm_media = IFM_100_TX; + break; + case 6: + sc->dc_srm_media = IFM_100_TX | IFM_FDX; + break; + } + if (sc->dc_srm_media) + sc->dc_srm_media |= IFM_ACTIVE | IFM_ETHER; + } +#endif + + fail: splx(s); @@ -2669,6 +2696,15 @@ sc->dc_stat_ch = timeout(dc_tick, sc, hz); +#ifdef __alpha__ + if(sc->dc_srm_media) { + struct ifreq ifr; + + ifr.ifr_media = sc->dc_srm_media; + ifmedia_ioctl(ifp, &ifr, &mii->mii_media, SIOCSIFMEDIA); + sc->dc_srm_media = 0; + } +#endif return; } @@ -2772,6 +2808,10 @@ case SIOCSIFMEDIA: mii = device_get_softc(sc->dc_miibus); error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); +#ifdef __alpha__ + if (sc->dc_srm_media) + sc->dc_srm_media = 0; +#endif break; default: error = EINVAL; Index: if_dcreg.h =================================================================== RCS file: /home/ncvs/src/sys/pci/if_dcreg.h,v retrieving revision 1.3 diff -u -r1.3 if_dcreg.h --- if_dcreg.h 2000/01/19 19:03:08 1.3 +++ if_dcreg.h 2000/02/07 17:04:49 @@ -655,6 +655,9 @@ struct dc_list_data *dc_ldata; struct dc_chain_data dc_cdata; struct callout_handle dc_stat_ch; +#ifdef __alpha__ + int dc_srm_media; +#endif }; #define DC_TX_POLL 0x00000001 --------------41C3B9ACA6B0EC5AEAB48A0E-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38AF805C.68A6F23A>