Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Nov 2001 10:50:01 -0800 (PST)
From:      Nick Sayer <nsayer@clicktosecure.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/32118: 21143 with dc driver will not select 10baseT/UTP media
Message-ID:  <200111261850.fAQIo1r07259@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/32118; it has been noted by GNATS.

From: Nick Sayer <nsayer@clicktosecure.com>
To: freebsd-gnats-submit@FreeBSD.org
Cc:  
Subject: Re: kern/32118: 21143 with dc driver will not select 10baseT/UTP media
Date: Mon, 26 Nov 2001 10:44:43 -0800

 It turns out we are not reading the SROM correctly in if_dc. If I 
 manually interpret the SROM and put a hack in dc_apply_fixup() with the 
 values I manually picked out, then 10baseT/UTP half duplex works correctly.
 
 The problem is twofold:
 
 1. We are not checking the type of leaf node is present. There are 
 multiple formats with different lengths and data and stuff. The Znyx 
 card uses a format we are not expecting.
 
 2. We are not using all of the data present in the SROM. For example, in 
 the SIA leaf node, we only look at the ctl field, whereas we should 
 first poke the ctl value, then the dat value into the upper 16 bits of 
 DC_WATCHDOG. In that format of leaf node, we should also be overriding 
 the contents of CSR13, 14 and 15 (DC_10BTSTAT, DC_10BTCTL and 
 DC_WATCHDOG) with the values specified in the SROM (however, on my Znyx 
 card, the format is a different one that only has the CTL and DAT 
 values, so the present code is picking garbage data to poke in 
 DC_WATCHDOG in any event).
 
 Andrew Gallatin sent me this sample code:
 
 http://www.tru64unix.compaq.com/docs/dev_doc/DOCUMENTATION/HTML/DDK_R2/usr/opt/OSCB505/src/usr/examples/ddk/src/pci/
 
 
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200111261850.fAQIo1r07259>