Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Dec 1998 09:13:28 -0800 (PST)
From:      Dru Nelson <dnelson@redwoodsoft.com>
To:        freebsd-hackers@FreeBSD.ORG
Subject:   how to support a 21140 board with mii... 
Message-ID:  <Pine.BSF.3.91.981230085914.21335F-100000@pacman.redwoodsoft.com>

next in thread | raw e-mail | index | archive | help

Hi,

 I want to add to if_de.c in order to support this new 21140 
 board that I have.

 In short, it can work, but it needs a little help on the PHY side.
 It is a newer card, so it uses the MII interface to handle what
 media it is using. For those who don't know, this is a standard
 way of communicating to any PHY support chip with a standard
 set of registers. This should make things easy so you don't have
 to guess what General Purpose lines do what.

 I emailed various people who have worked with the if_de.c driver, but I 
 haven't received any replies.

 The board is a Wisecom PCI board. It uses a 21140-AF and has
 a separate DAVICOM PHY chip that uses MII. The board
 can work if I explicity set the mode. However, on boot it
 doesn't work. It gets media timeouts. It shouldn't have this problem.

 Since this board uses the MII interface, I looked at the code for
 the only board in the driver that uses this (the Asante). I tried
 making my board just like the asante (adding an OUI recognizer). This,
 in theory should work, since any board using the 21140 and MII should
 work exactly the same. No joy, it still doesn't do the right thing.

 I don't know where I need to push or pull the code, because I don't really 
 understand the media_poll, select, probe, set calls? Who calls who,
 and who is responsbile for what. There are so many states, the code
 is hard to read, I thought I'd see if there are others more 
 experienced with this before I go further.

 The driver should just come up, read the MII (which is in
 autonegotiate) and notice, aha, we are in 10baseT, half duplex..

 So, what should I do in order to cleanly add to the driver 
 the necessary code to make this board work?
 Should I just concentrate on media_poll? The probe function for the
 asante, merely sets a command register.

 Thanks for any help on this,

Dru Nelson
Redwood City, California





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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.981230085914.21335F-100000>