Possible fxp regression



  • Running:
    2.1-BETA1 (i386)
    built on Fri Apr 12 04:55:08 EDT 2013
    FreeBSD 8.3-RELEASE-p7
    Setting up a couple of identical servers, both have fxp and bge onboard with a second bge on a riser card.
    Configured the fxp interfaces for the CARP sync and connected with a crossover. Boxes would not sync.
    Noticed the interfaces were constantly going up and down. Replaced the crossover cable, ran them into a switch, another switch…
    I could see the lights go off and on ever thirty seconds or so... Put the crossover back in, hard set the interfaces for 100/full and bingo- everything syncs.
    Solid link, everything seems fine.


  • Rebel Alliance Developer Netgate

    I have plenty of boxes with fxp NICs, some on current snapshots, with zero issues. Are you sure those NICs worked in that configuration on a previous version?



  • They were running 1.2.3 previously, they got shelved then pulled back into production.
    I still have several running stock FreeBSD (6.2, 7.0, 8.1) using the fxp interfaces.
    Here's a sysctl off of one of the firewalls:
    $ sysctl -a dev.fxp
    dev.fxp.0.%desc: Intel 82562ET/EZ/GT/GZ PRO/100 VE Ethernet
    dev.fxp.0.%driver: fxp
    dev.fxp.0.%location: slot=8 function=0
    dev.fxp.0.%pnpinfo: vendor=0x8086 device=0x1065 subvendor=0x8086 subdevice=0x27dc class=0x020000
    dev.fxp.0.%parent: pci10
    dev.fxp.0.int_delay: 1000
    dev.fxp.0.bundle_max: 6
    dev.fxp.0.rnr: 0
    dev.fxp.0.stats.rx.good_frames: 243374
    dev.fxp.0.stats.rx.crc_errors: 0
    dev.fxp.0.stats.rx.alignment_errors: 0
    dev.fxp.0.stats.rx.rnr_errors: 0
    dev.fxp.0.stats.rx.overrun_errors: 0
    dev.fxp.0.stats.rx.cdt_errors: 0
    dev.fxp.0.stats.rx.shortframes: 0
    dev.fxp.0.stats.rx.pause: 0
    dev.fxp.0.stats.rx.controls: 0
    dev.fxp.0.stats.rx.tco: 0
    dev.fxp.0.stats.tx.good_frames: 355
    dev.fxp.0.stats.tx.maxcols: 0
    dev.fxp.0.stats.tx.latecols: 0
    dev.fxp.0.stats.tx.underruns: 0
    dev.fxp.0.stats.tx.lostcrs: 0
    dev.fxp.0.stats.tx.deffered: 0
    dev.fxp.0.stats.tx.single_collisions: 0
    dev.fxp.0.stats.tx.multiple_collisions: 0
    dev.fxp.0.stats.tx.total_collisions: 0
    dev.fxp.0.stats.tx.pause: 0
    dev.fxp.0.stats.tx.tco: 0



  • Revisiting this issue after seeing a possibly related problem posted.

    Loaded up an old P4 flex-atx system with dual onboard Intel 10/100 interfaces.
    Used the same build as before, had it handy. Config was default, fxp0 as lan, fxp1 as wan.
    Connected to a laptop with a crossover, link kept cycling up and down.
    Set to 100/full-duplex via the console and the link stayed up.
    Logs show this:
    php: : DEVD Ethernet attached event for lan
    php: : HOTPLUG: Configuring interface lan
    check_reload_status: Linkup starting fxp0
    kernel: fxp0: link state changed to DOWN
    check_reload_status: Linkup starting fxp0
    kernel: fxp0: link state changed to UP
    php: : DEVD Ethernet detached event for lan

    Here's the Interfaces:
    fxp0: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
    options=4009b <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso>ether 00:e0:81:61:05:3d
    inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
    inet6 fe80::1:1%fxp0 prefixlen 64 scopeid 0x1
    nd6 options=1 <performnud>media: Ethernet 100baseTX <full-duplex>status: active
    fxp1: flags=8843 <up,broadcast,running,simplex,multicast>metric 0 mtu 1500
    options=4009b <rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso>ether 00:e0:81:61:05:3c
    inet6 fe80::2e0:81ff:fe61:53c%fxp1 prefixlen 64 scopeid 0x2
    nd6 options=3 <performnud,accept_rtadv>media: Ethernet autoselect (none)
    status: no carrier</performnud,accept_rtadv></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso></up,broadcast,running,simplex,multicast></full-duplex></performnud></rxcsum,txcsum,vlan_mtu,vlan_hwtagging,vlan_hwcsum,vlan_hwtso></up,broadcast,running,simplex,multicast>

    Plugged the fxp1/wan port into an old GB switch- link goes up and down.
    This cycle starts repeating in logs:
    May 15 16:55:43 php: : DEVD Ethernet attached event for wan
    May 15 16:55:43 php: : HOTPLUG: Configuring interface wan
    May 15 16:55:43 dhclient: PREINIT
    May 15 16:55:43 check_reload_status: Linkup starting fxp1
    May 15 16:55:43 kernel: fxp1: link state changed to DOWN
    May 15 16:55:43 dhclient: Starting delete_old_states()
    May 15 16:55:43 dhclient[50759]: DHCPDISCOVER on fxp1 to 255.255.255.255 port 67 interval 1
    May 15 16:55:44 dhclient[50759]: DHCPDISCOVER on fxp1 to 255.255.255.255 port 67 interval 1
    May 15 16:55:45 dhclient[50759]: DHCPDISCOVER on fxp1 to 255.255.255.255 port 67 interval 2
    May 15 16:55:45 kernel: fxp1: link state changed to UP
    May 15 16:55:45 check_reload_status: Linkup starting fxp1
    May 15 16:55:45 php: : DEVD Ethernet detached event for wan
    May 15 16:55:45 dhclient[50775]: connection closed
    May 15 16:55:45 dhclient[50775]: exiting.
    May 15 16:55:45 php: : The command '/sbin/dhclient -c /var/etc/dhclient_wan.conf fxp1 > /tmp/fxp1_output 2> /tmp/fxp1_error_output' returned exit code '15', the output was ''
    May 15 16:55:46 php: : Accept router advertisements on interface fxp1



  • This is a driver issue.
    Merge all posts from last 2 weeks and you will clearly see that:
    a) Cables are OK
    b) NICs are OK
    c) Switches are OK
    d) On some installs like mine there was no change other than pfsense snapshot update…

    Regards,
    Greg


  • Rebel Alliance Developer Netgate

    Sounds oddly similar to this:
    http://www.mail-archive.com/freebsd-stable@freebsd.org/msg126756.html

    Though that's with 8.4, and I don't think we touch the fxp driver…



  • Hey jimp!
    Yes, this is exactly what has been happening here for a while now.
    I have problem just with 1 NIC out of 4.
    I just reboot my server (to which pfsense is connected) and here we go.
    If I reboot pfsense and dont touch the server all is working fine. This is a strange one, maybe we could try driver update and test it out? Im willing to help on this one!

    Regards,
    Greg



  • I noticed something on my test setup- The LAN remained stable after setting to 100/full even after powering off the box.
    The LAN is connected to a crossover to a laptop, but somehow when the firewall booted the LAN didn't flap. Ifconfig shows the interface on autoselect- manual settings were done from the console and were not saved in the config. Connecting the WAN to a switch still causes it to flap. I thought maybe the problem was with the system booting with the Interface disconnected, so I rebooted with the WAN still plugged into a switch. The WAN still flapped after reboot. I don't understand it. If it hadn't happened on a separate machine, I would attribute it to flakey hardware…


  • Netgate Administrator

    @maverick_slo:

    I just reboot my server (to which pfsense is connected) and here we go.
    If I reboot pfsense and don`t touch the server all is working fine.

    I have seen this exact same thing. Booting the boxes in the right order works around the issue.

    [2.1-BETA1][root@pfsense.localdomain]/root(1): sysctl -a |grep fxp
    dev.fxp.0.%desc: Intel 82801GB (ICH7) 10/100 Ethernet
    dev.fxp.0.%driver: fxp
    dev.fxp.0.%location: slot=8 function=0
    dev.fxp.0.%pnpinfo: vendor=0x8086 device=0x27dc subvendor=0x8086 subdevice=0x27dc class=0x020000
    dev.fxp.0.%parent: pci1
    dev.fxp.0.int_delay: 1000
    dev.fxp.0.bundle_max: 6
    dev.fxp.0.rnr: 0
    dev.fxp.0.stats.rx.good_frames: 161843
    dev.fxp.0.stats.rx.crc_errors: 0
    dev.fxp.0.stats.rx.alignment_errors: 0
    dev.fxp.0.stats.rx.rnr_errors: 0
    dev.fxp.0.stats.rx.overrun_errors: 0
    dev.fxp.0.stats.rx.cdt_errors: 0
    dev.fxp.0.stats.rx.shortframes: 0
    dev.fxp.0.stats.rx.pause: 0
    dev.fxp.0.stats.rx.controls: 0
    dev.fxp.0.stats.rx.tco: 0
    dev.fxp.0.stats.tx.good_frames: 161080
    dev.fxp.0.stats.tx.maxcols: 0
    dev.fxp.0.stats.tx.latecols: 0
    dev.fxp.0.stats.tx.underruns: 0
    dev.fxp.0.stats.tx.lostcrs: 0
    dev.fxp.0.stats.tx.deffered: 0
    dev.fxp.0.stats.tx.single_collisions: 0
    dev.fxp.0.stats.tx.multiple_collisions: 0
    dev.fxp.0.stats.tx.total_collisions: 0
    dev.fxp.0.stats.tx.pause: 0
    dev.fxp.0.stats.tx.tco: 0
    dev.miibus.0.%parent: fxp0
    
    

    That's after the correct boot order.

    Steve



  • Hi!

    What happens if you set to 100 full duplex?
    For me, this remediates the issue completley…


Log in to reply