Tx underruns with 1.2 RC4 - NIC problem ?

  • running pfsense 1.2RC4 on a Dell Optiplex GX240 with HDD and 1 GB RAM.
    Using the onboard NIC (3com 3c905) and a PCI ethernet (Accton MPX 5030/5038 10/100BaseTX).

    XL0 = 3c905
    RL0 = Accton

    Machine stop responding with this message on console:
    xl0 watch dog timeout …

    I restarted the box:

    Jan 23 11:52:57 kernel: FreeBSD is a registered trademark of The FreeBSD Foundation.
    Jan 23 11:52:57 kernel: The Regents of the University of California. All rights reserved.
    Jan 23 11:52:57 kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
    Jan 23 11:52:57 kernel: Copyright (c) 1992-2007 The FreeBSD Project.
    Jan 23 11:52:57 syslogd: kernel boot file is /boot/kernel/kernel
    Jan 23 11:52:57 kernel: xl0: Ethernet address: 00:06:5b:a4:79:43
    Jan 23 11:52:57 kernel: ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    Jan 23 11:52:57 kernel: ukphy0: <generic ieee="" 802.3u="" media="" interface="">on miibus1
    Jan 23 11:52:57 kernel: miibus1: <mii bus="">on xl0
    Jan 23 11:52:57 kernel: xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xe880-0xe8ff mem 0xfe9ff800-0xfe9ff87f irq 11 at device 12.0 on pci2
    Jan 23 11:52:57 kernel: rl0: Ethernet address: 00:10:b5:fb:3c:d1
    Jan 23 11:52:57 kernel: rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
    Jan 23 11:52:57 kernel: rlphy0: <realtek internal="" media="" interface="">on miibus0
    Jan 23 11:52:57 kernel: miibus0: <mii bus="">on rl0
    Jan 23 11:52:57 kernel: rl0: <accton 10="" 5030="" 5038="" mpx="" 100basetx="">port 0xec00-0xecff mem 0xfe9ffc00-0xfe9ffcff irq 11 at device 7.0 on pci2

    3 hours later - I got this message but the box continued to run (the box was pretty busy handling traffic)

    Jan 23 14:22:16 kernel: xl0: tx underrun, increasing tx start threshold to 120 bytes
    Jan 23 14:22:16 kernel: xl0: transmission error: 90

    8 hours later - I got this message (box was not busy at all)

    Jan 23 23:05:48 php: : Processing xl0 - start
    Jan 23 23:05:48 check_reload_status: rc.linkup starting
    Jan 23 23:05:43 kernel: xl0: link state changed to UP
    Jan 23 23:05:40 kernel: xl0: link state changed to DOWN
    Jan 23 23:05:40 kernel: xl0: watchdog timeout

    Should I disable the 3com NIC and use an Intel NIC?
    I found many threads regarding this issue with the 3COM NIC.

    Prior to this, I was running 1.2 RC3 for weeks without any errors.


  • i had that same problem

    i had a setup with a dell optiplex 180
    1ghz processor
    512 ram
    20gb hd
    1 3com on board nic
    and 2 3coms installed on a dell riser board.

    it would work for 8hrs and then quit.

    i ended up throwing out that old machine and using a older machine in its place

    900mhz amd athlon
    768 ram
    same hd
    and 3 pci 3com cards.
    2 of them are from the old machine. since i put the new hardware in place the only issues i get are just tx underruns every once and a while but nothing that shuts the machine down like a brick.

    not sure if this helps but that is what i did to fix it.

  • I've disabled the onboard NIC on the Dell machine, removed the Accton NIC.
    Put in 2 Intel NICs and no more issue.
    So far it looks very good, system log is clean

  • Hi,

    I do have also have an pfsense 1.2 RC4 running. My problem is, that i am getting the well known "watchdog timeout – resetting" error on the network interfaces located on another PCI card. My setup:

    2x onboard Ethernet interfaces (Intel chip)
    2x Ethernet interfaces located on an Intel PRO 1000MT dual PCi/PCi-x card

    all 4 interfaces (the onboard and also the one on the card) work very well under Linux (booted with a  knoppix Linux 5.0 Live CD)

    in pfsense 1.2 RC3 & RC4 i got these message on console:  "em0 watchdog timeout -- resetting" when i assigned an ipadress to the second Ethernet interface on the PCI NIC
    The other Ethernet interface on the Card works well.

    I tried the following solution suggest - but with no success:

    -disabled ACPI
    -assigned other IRQ
    -disabled PnP
    -changed NIC manufacturer (Used a dual compaq NIC PVI-64bit insted of the intel)
    -changed PCI slot

    I started etherreal on my notebook and saw, that the "broken" ethernet port on the NIC is able to send ethernet packets, but not able to receive them.
    I started a "ping" on the server

    It would be great if somebody could give me an iditional hint how i could try to solve the problem
    thanking you in advance for helping me


  • Watchdog happends when you have problems in hardware!

    It might even happen from wrong configured multicast filter on the nic.

    This are hardware/driver issues. But mostly it means the hardware is not behaving well.
    From your config i suspect that you have pci slots(the onboard ones) which are sharing irq so you can not really do much about it.
    Just use something else.

  • Try to disable all onboardhardware that you don't need (printerport, second serial ports, soundcard,…) to free some resources. Also remove any unneeded pci-hardware that you might have in there. Then reset your bios hardware assignments and reboot and see if you somehow manage to get your nics to not share irqs.

  • One last thing you could try is to load the multiprocessor kernel instead of the uniprocessor kernel. If you were already running mp, then never mind.

  • thank you very much for your help - now it works  :)
    i now did a bios update and disabled really all hardware, that is not needed (e.g. USB support)
    its great that i am now able to use the pfsense on that hardware instead of some linux firewall,
    because only pfsense supports features like CARP and pfsync
    so it seams to be an IRQ issue
    thanks again,


Log in to reply