From owner-freebsd-net Mon Nov 26 9:45:17 2001 Delivered-To: freebsd-net@freebsd.org Received: from quack.kfu.com (quack.kfu.com [205.178.90.194]) by hub.freebsd.org (Postfix) with ESMTP id 0163037B416 for ; Mon, 26 Nov 2001 09:45:14 -0800 (PST) Received: from morpheus.kfu.com (morpheus.kfu.com [205.178.90.238]) by quack.kfu.com (8.11.6/8.11.6) with ESMTP id fAQHiAD54030 (using TLSv1/SSLv3 with cipher EDH-RSA-DES-CBC3-SHA (168 bits) verified OK); Mon, 26 Nov 2001 09:44:11 -0800 (PST) (envelope-from nsayer@quack.kfu.com) Received: from quack.kfu.com (nospam@localhost [::1]) by morpheus.kfu.com (8.11.6/8.11.6) with ESMTP id fAQHiAn03742; Mon, 26 Nov 2001 09:44:10 -0800 (PST) (envelope-from nsayer@quack.kfu.com) Message-ID: <3C027F6A.3060708@quack.kfu.com> Date: Mon, 26 Nov 2001 09:44:10 -0800 From: Nick Sayer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.5) Gecko/20011112 X-Accept-Language: en, en-US, en-GB MIME-Version: 1.0 To: freebsd-net@freebsd.org Subject: if_dc problem identified Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I have done some more investigating. I believe if_dc is not correctly interpreting the SROM. It turns out that on Znyx cards, the SIA block is not in the format the driver expects (there is a format bit you need to check to see what format it is in). I manually re-interpreted the data in the SROM and put a special case in dc_apply_fixup() and now 10baseT half duplex works correctly (not only that, but the LEDs do the correct thing too). I won't post a patch, since the hack has SROM data that is specific to this card, but it appears that the SROM parsing section of if_dc and the media selection code needs serious work. According to the sample code I've seen (thanks to Andrew Gallatin for pointing me to the sample below), we're not consulting the SROM for _enough_ information, and we're making too many assumptions about its format. 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-net" in the body of the message