From owner-freebsd-questions Fri Apr 2 17:16:36 1999 Delivered-To: freebsd-questions@freebsd.org Received: from server6.singular.com (server6.singular.com [204.140.208.6]) by hub.freebsd.org (Postfix) with ESMTP id 6DC4215C0F for ; Fri, 2 Apr 1999 17:15:04 -0800 (PST) (envelope-from jbarbee@singular.com) Received: from bleeding-edge ([204.140.208.172]) by server6.singular.com (Post.Office MTA v3.1.2 release (PO205-101c) ID# 0-42397U400L100S0) with SMTP id AAA363; Fri, 2 Apr 1999 17:15:18 -0800 Message-Id: <4.1.19990402171046.00a3b700@server7.singular.com> X-Sender: jbarbee@server7.singular.com X-Mailer: QUALCOMM Windows Eudora Pro Version 4.1 (Demo) Date: Fri, 02 Apr 1999 17:14:45 -0800 To: Bill Paul From: jbarbee@singular.com (John Barbee) Subject: Re: !!! pn0: watchdog timeout Cc: questions@freebsd.org In-Reply-To: <199904022046.PAA13721@skynet.ctr.columbia.edu> References: <4.1.19990402095653.00a3ab20@server7.singular.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG OK, the new driver seems to have fixed it. I didn't even have to try out store and forward mode. I got some errors when I took LeechFTP up to 17 sessions but they seem to be more ftp related. Transferring files via SMB went through without errors. Thank you so very much Bill for the new drivers. Has anyone noticed a latency on these cards? On both the FreeBSD and redhat machine I having trouble pinging a number of hosts on our network right when these machines start up. The ping either hangs or says sendto: host is down, or something like that. After about 30 - 60 seconds things seems to be ok. Strange, but at least it works after not too long. john. At 03:46 PM 4/2/99 -0500, Bill Paul wrote: >Of all the gin joints in all the towns in all the world, John Barbee had >to walk into mine and say: > >> At 09:17 PM 4/1/99 -0500, Bill Paul wrote: >> >> >First of all, you didn't tell me what version of FreeBSD you have, you >> >didn't say in what kind of machine the card is installed, and you didn't >> >say exactly what brand/model of ethernet card you have. It's important >> >that you do so because I can't see your machine from here. The >> >cause of the errors could be one of a few things: >> >> Sorry. Allow me go describe the situation. >[chop] > >Okay. Let's try this. I have made some changes to the PNIC driver since >FreeBSD 3.1-RELEASE. For one thing, I changed the TX queuing mechanism >a little bit. (There are also some changes to make it work on FreeBSD/alpha >but you shouldn't notice them when compiling on FreeBSD/i386.) You can >get the new driver in one of two ways (the files at both locations should >be identical): > >- FTP to ftp.freebsd.org:/pub/FreeBSD/FreeBSD-current/src/sys/pci > and download if_pn.c and if_pnreg.h. > >- Use fetch(1) or a web browser to go to > http://www.freebsd.org/~wpaul/PNIC/3.0 and download if_pn.c and if_pnreg.h > from there instead. NOTE: if you download with Netscape or Internet > Explorer, check that the files aren't littered with ^Ms. If they are, > strip them out otherwise they'll confuse the compiler. > >The revision string in the code should say: > $Id: if_pn.c,v 1.10 1999/03/30 19:33:47 wpaul Exp $ > >Copy the new if_pn.c and if_pnreg.h to /sys/pci on your machine and >compile a new kernel. (If you already have a build directory in >/sys/compile/YOURKERNEL then it should be enough to just cd to >/sys/compile/YOURKERNEL and type make. If you want to recompile from >scratch though, go right ahead.) > >You can also attempt to change the transmit threshold. In if_pn.c, there >is a function called pn_init() which initializes the PNIC chip. There >you'll see the following line of code: > > PN_CLRBIT(sc, PN_NETCFG, PN_NETCFG_STORENFWD); > >Changes this to: > > PN_SETBIT(sc, PN_NETCFG, PN_NETCFG_STORENFWD); > >This will turn on store and forward mode, which is the slowest operating >mode but the most reliable. I don't think it will make a tremendous >difference in terms of speed since you're using 10Mbps. The difference >is more pronounced at 100Mbps. > >You can also experiment with increasing the threshold instead of turning >it off entirely. In the same function, you'll see this: > > PN_SETBIT(sc, PN_NETCFG, PN_TXTHRESH_72BYTES); > >You can try changing this to PN_TXTHRESH_96BYTES, PN_TXTHRESH_128BYTES >or PN_TXTHRESH_160BYTES. > >Just so you know, the transmit threshold is used by the NIC to decide >when to begin transmitting onto the wire. If you turn on store and >forward mode, the chip waits until the entire packet has been loaded >into its internal SRAM before doing a transmission. When store and >forward mode is turned off, it will wait until a certain number of bytes >have been transfered into its memory before starting to transmit. This >certain number of bytes is controller by the threshold value above. > >-Bill > >-- >============================================================================= >-Bill Paul (212) 854-6020 | System Manager, Master of Unix-Fu >Work: wpaul@ctr.columbia.edu | Center for Telecommunications Research >Home: wpaul@skynet.ctr.columbia.edu | Columbia University, New York City >============================================================================= > "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness" >============================================================================= To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message