CFT: vr(4)

Pyun YongHyeon pyunyh at gmail.com
Sun Feb 17 06:51:24 UTC 2008


On Sun, Feb 10, 2008 at 03:59:16PM +0000, Marcin Wisnicki wrote:
 > On Mon, 04 Feb 2008 17:47:44 +0000, Marcin Wisnicki wrote:
 > 
 > > I'm not 100% sure if this is all that is required for RELENG6, but it
 > > works wonderfully so far.
 > > 
 > > Even fixed Rx errors I was seeing for some time and didn't have the time
 > > to investigate whether they were caused by some recent commit to releng6
 > > (like the last mfc) or simply a hardware failure.
 > > 
 > > Thank you Pyun YongHyeon!
 > > 
 > >>From my dmesg:
 > > vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xd800-0xd8ff mem
 > > 0xdffefd00-0xdffefdff irq 5 at device 18.0 on pci0 vr0: Quirks: 0x0
 > > vr0: Revision: 0x74
 > > miibus1: <MII bus> on vr0
 > > ukphy0: <Generic IEEE 802.3u media interface> on miibus1 ukphy0: 
 > > 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto vr0: Ethernet
 > > address: 42:00:e6:65:9b:11 vr0: [GIANT-LOCKED]
 > > 
 > 
 > Just noticed in dmesg after reboot:
 > 
 > vr0: Tx underrun -- increasing Tx threshold(128 -> 256)
 > vr0: Tx underrun -- increasing Tx threshold(256 -> 512)
 > vr0: Tx underrun -- increasing Tx threshold(512 -> 1024)
 > vr0: Tx underrun -- using store and forward mode
 > vr0: Tx underrun --
 > 
 > at this moment I started copying files in and out using samba
 > and then last message started to repeat for some time with decreasing 
 > frequency until finally:
 > 
 > vr0: watchdog timeout
 > 

Since you're the only user that reported Tx underrun errors and
watchdog timeouts, I'd like to know waht caused the error. If
you can reliably reproduce the Tx underrun, would you change the
vr(4) code as the following and test again?

From:if_vr.c
 689         /* Configure Tx FIFO threshold. */
 690         sc->vr_txthresh = VR_TXTHRESH_MIN;
 691         if ((sc->vr_quirks & VR_Q_CSUM) != 0) {
 692                 ifp->if_hwassist = VR_CSUM_FEATURES;

To:
 689         /* Configure Tx FIFO threshold. */
 690         sc->vr_txthresh = VR_TXTHRESH_MIN;
 691         if (sc->vr_revid < REV_ID_VT6105_A0)
 692                 sc->vr_txthresh = VR_TXTHRESH_MAX;
 693         if ((sc->vr_quirks & VR_Q_CSUM) != 0) {
 694                 ifp->if_hwassist = VR_CSUM_FEATURES;

 > and no more errors were reported.
 > 
 > Despite the errors in dmesg everything seems to work fine at all times 
 > with samba tx performance of 9.5mb/s and rx of 8.5mb/s using Vista as a 
 > client.
 > 

-- 
Regards,
Pyun YongHyeon


More information about the freebsd-current mailing list