Bug 15845

Summary: [if_ed] [patch] Driver for RealTek 8029
Product: Base System Reporter: slavoff <slavoff>
Component: i386Assignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.3-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
diff none

Description slavoff 2000-01-02 20:20:00 UTC
I have RealTek 8029 card, but unable to find a driver for it.
Kernel found a ed0 device on pci0, but unable to swich the card to full-duplex mode
Please help me!
Comment 1 Søren Schmidt freebsd_committer freebsd_triage 2001-05-30 10:19:02 UTC
State Changed
From-To: open->closed

4.3 contains a realtek driver.4.3 contains a realtek driver.4.3 contains a realtek driver.
Comment 2 Kris Kennaway freebsd_committer freebsd_triage 2001-05-30 11:39:18 UTC
State Changed
From-To: closed->open

This is apparently still an issue.
Comment 3 Kris Kennaway 2001-05-30 11:40:30 UTC
----- Forwarded message from Przemyslaw Frasunek <venglin@freebsd.lublin.pl> -----

Delivered-To: kkenn@localhost.obsecurity.org
Date: Wed, 30 May 2001 11:22:26 +0200
From: Przemyslaw Frasunek <venglin@freebsd.lublin.pl>
Subject: Re: i386/15845: Driver for RealTek 8029
In-reply-to: <200105300919.f4U9JP224181@freefall.freebsd.org>; from
 sos@FreeBSD.org on Wed, May 30, 2001 at 02:19:25AM -0700
To: sos@FreeBSD.ORG, freebsd-bugs@FreeBSD.ORG
Precedence: bulk
Delivered-to: kris@freebsd.org
Delivered-to: freebsd-bugs@freebsd.org
User-Agent: Mutt/1.2.5i
List-ID: <freebsd-bugs.FreeBSD.ORG>
List-Archive: <http://docs.freebsd.org/mail/> (Web Archive)
List-Help: <mailto:majordomo?subject=help> (List Instructions)
List-Subscribe: <mailto:majordomo?subject=subscribe%20freebsd-bugs>
List-Unsubscribe: <mailto:majordomo?subject=unsubscribe%20freebsd-bugs>
X-Loop: FreeBSD.org

On Wed, May 30, 2001 at 02:19:25AM -0700, sos@FreeBSD.org wrote:
> Synopsis: Driver for RealTek 8029
> State-Changed-From-To: open->closed
> 4.3 contains a realtek driver.4.3 contains a realtek driver.4.3 contains a realtek driver.


This is still problem. ed(4) driver treats RealTek 8029 chip as NE2000 and 
doesn't work with full duplex and media autoselect. This was already
implemented in OpenBSD's ne(4) driver and should be ported here.

-- 
* Fido: 2:480/124 ** WWW: http://www.frasunek.com/ ** NIC-HDL: PMF9-RIPE *
* Inet: przemyslaw@frasunek.com ** PGP: D48684904685DF43EA93AFA13BE170BF *

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

----- End forwarded message -----
Comment 4 Mike Barcroft freebsd_committer freebsd_triage 2001-07-21 19:27:11 UTC
State Changed
From-To: open->feedback


Does this problem still occur in newer versions of FreeBSD, 
such as 4.3-RELEASE?
Comment 5 Przemyslaw Frasunek 2001-07-22 10:07:26 UTC
Yes, the problem still persists in 4.3-RELEASE; ed(4) should support full
duplex and media autonegotation on Realtek 8029 as ne(4) does it on OpenBSD
and NetBSD:

sys/dev/pci/if_ne_pci.c:

{ PCI_VENDOR_REALTEK,		PCI_PRODUCT_REALTEK_RT8029,
	  rtl80x9_mediachange,		rtl80x9_mediastatus,
	  rtl80x9_init_card,		rtl80x9_media_init,
	  "RealTek 8029" },

sys/dev/ic/rtl80x9.c:

int
rtl80x9_mediachange(dsc)

void
rtl80x9_mediastatus(sc, ifmr)

void
rtl80x9_init_card(sc)

void
rtl80x9_media_init(sc)

--
* Fido: 2:480/124 ** WWW: http://www.frasunek.com/ ** NIC-HDL: PMF9-RIPE *
* Inet: przemyslaw@frasunek.com ** PGP: D48684904685DF43EA93AFA13BE170BF *
Comment 6 Mike Barcroft freebsd_committer freebsd_triage 2001-07-22 17:47:49 UTC
State Changed
From-To: feedback->suspended


The originator's feedback is in the Audit-Trail.  Awaiting fix and 
committer. 


Comment 7 Mike Barcroft freebsd_committer freebsd_triage 2001-07-22 17:47:49 UTC
Responsible Changed
From-To: freebsd-bugs->wpaul


Over to Bill Paul <wpaul@FreeBSD.org>, author of if_rl.c.
Comment 8 Mike Barcroft freebsd_committer freebsd_triage 2001-07-22 20:37:54 UTC
Responsible Changed
From-To: wpaul->freebsd-bugs


Oops, this is an issue with the if_ed driver.
Comment 9 David S Madole 2003-01-05 18:00:19 UTC
I have implemented media selection for the Realtek chips under the ed
driver. I was not fully aware of this PR at the time I did it, but here it
is, against 4.7-RELEASE.

Note that there are some hardware limitations of these simple chips, most
notably that there is no way to tell what media options are valid on a given
card. This code assumes that 10baseT, 10base5, and 10base2 are all always
present.

There is also no way to detect 10baseT link except to set autoselect and see
if the card chooses 10base2 instead. On a card that does not have 10base2,
this would be viable, but because you can't know if 10base2 is present, I
chose not to attempt to report status at all.

Finally, these chips do not support autonegotiation, so media autoselect
only supports half-duplex. Full duplex can however be set manually for
10baseT. This also means that switches that are not able to have the port
duplex set manually will only work half-duplex with these cards.

Still, it adds a tiny bit more versatility to these crufty old workhorses.

I have tested this on both the RTL8019AS (ISA) and the RTL8029AS (PCI) and
it seems to work fine, although my PCI card has only 10baseT media and my
ISA card has only 10baseT and 10base2, so all media types have not been
verified. Still, it's simple enough that I am confident it works for all
options.

Thanks,
David Madole
Comment 10 Warner Losh freebsd_committer freebsd_triage 2003-04-05 08:27:46 UTC
State Changed
From-To: suspended->open

I'll try to integrate the patch and see if I can test it on the 
8029pci that I think I still have. 



Comment 11 Warner Losh freebsd_committer freebsd_triage 2003-04-05 08:27:46 UTC
Responsible Changed
From-To: freebsd-bugs->imp

I'll try to integrate the patch and see if I can test it on the 
8029pci that I think I still have.
Comment 12 Warner Losh freebsd_committer freebsd_triage 2005-10-10 16:03:28 UTC
State Changed
From-To: open->closed

Applied to current, merged to RELENG_6.  Maybe I'll MFC to 5 someday, 
maybe not.