From owner-freebsd-hardware@FreeBSD.ORG Tue Nov 21 01:54:15 2006 Return-Path: X-Original-To: freebsd-hardware@freebsd.org Delivered-To: freebsd-hardware@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 763B516A416 for ; Tue, 21 Nov 2006 01:54:15 +0000 (UTC) (envelope-from mstolp@teltronics.com) Received: from srqech02.teltronics.com (srqech02.teltronics.com [63.119.78.150]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30B3643D45 for ; Tue, 21 Nov 2006 01:53:54 +0000 (GMT) (envelope-from mstolp@teltronics.com) X-MimeOLE: Produced By Microsoft Exchange V6.0.6487.1 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C70D0F.F14D9E55" Date: Mon, 20 Nov 2006 20:54:12 -0500 Message-ID: <11C803742910E84E9CDBFD344773B81401B9D7FF@srqech02.teltronics.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: RE: rtl8139D Thread-Index: AccND/EYV0Ftr7ffTE6kDR/Npfq7jA== From: "Mark Stolp" To: X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: RE: rtl8139D X-BeenThere: freebsd-hardware@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General discussion of FreeBSD hardware List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2006 01:54:15 -0000 This is a multi-part message in MIME format. ------_=_NextPart_001_01C70D0F.F14D9E55 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable I've ported the following version of the 8139 driver to another proprietary OS that runs on a Pentium PC (originally written by Intel): =20 * $FreeBSD: src/sys/pci/if_rl.c,v 1.38.2.7 2001/07/19 18:33:07 wpaul Exp $ =20 I can get it to run in polled mode but when I try to run in interrupt mode after about 15-20 transmit packets the transmit interrupt stops firing. After a while the receive interrupt stops firing also. I tried to add recovery when the transmit queue is full (I'm only using 4 packets at this point in time) but that doesn't help. I've checked the 8139 IMR and also checked the PC ports to make sure interrupts are being disabled. I also checked my Interrupt Descriptor Table to make sure the OS isn't clobbering it. Can you think of a reason why resetting and restarting the 8139 would not allow interrupts to start up again? =20 Any ideas would be greatly appreciated. I've been struggling with this for several weeks now. =20 I've attached my source code but I don't know if you'll be able to follow it. =20 Mark Stolp =20 ------_=_NextPart_001_01C70D0F.F14D9E55--