Kernel: re0: PHY read failed



  • Hi all,

    i switched from current stable to RC on one of my pfsense boxes more than 3 weeks ago.
    And from time to time, the on-board nic (Realtek) "lost" its connection:

    
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: link state changed to DOWN
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    Jul  6 09:28:31 pfsense kernel: re0: PHY read failed
    
    

    The webui shows the interface as "offline" with 10 Mbit HD and the only way to get it back online is rebooting the box.

    devinfo:

    
    # devinfo -rv
    nexus0
      cryptosoft0
      apic0
      padlock0
      ram0
          I/O memory addresses:
              0x0-0x9f7ff
              0x100000-0xbff9ffff
      acpi0
          Interrupt request lines:
              9
          I/O ports:
              0x10-0x1f
              0x22-0x3f
              0x60
              0x62-0x63
              0x64
              0x65-0x6f
              0x72-0x7f
              0x80
              0x84-0x86
              0x88
              0x8c-0x8e
              0x90-0x9f
              0xa2-0xbf
              0xe0-0xef
              0x280-0x28f
              0x290-0x29f
              0x40b
              0x4d0-0x4d1
              0x4d6
              0x800-0x89f
              0x900-0x90f
              0x910-0x91f
              0xb00-0xb0f
              0xb20-0xb3f
              0xc00-0xc01
              0xc14
              0xc50-0xc51
              0xc52
              0xc6c
              0xc6f
              0xcd0-0xcd1
              0xcd2-0xcd3
              0xcd4-0xcd5
              0xcd6-0xcd7
              0xcd8-0xcdf
              0xfe00-0xfefe
          I/O memory addresses:
              0xc0000-0xcffff
              0xe0000-0xfffff
              0xc0000000-0xcfffffff
              0xe0000000-0xefffffff
              0xfec00000-0xffffffff
        cpu0 pnpinfo _HID=none _UID=0 at handle=\_PR_.P001
            ACPI I/O ports:
                0x814
                0x815
          acpi_perf0
          acpi_throttle0
              ACPI I/O ports:
                  0x810-0x813
          powernow0
          cpufreq0
        cpu1 pnpinfo _HID=none _UID=0 at handle=\_PR_.P002
          acpi_perf1
          powernow1
          cpufreq1
        pcib0 pnpinfo _HID=PNP0A03 _UID=0 at handle=\_SB_.PCI0
          pci0
              I/O ports:
                  0x7000-0x7003
                  0x8000-0x8007
                  0x9000-0x9003
                  0xa000-0xa007
            hostb0 pnpinfo vendor=0x1022 device=0x9601 subvendor=0x1849 subdevice=0x9601 class=0x060000 at slot=0 function=0 handle=\_SB_.PCI0.RS78
            pcib1 pnpinfo vendor=0x1849 device=0x9602 subvendor=0x1849 subdevice=0x9602 class=0x060400 at slot=1 function=0 handle=\_SB_.PCI0.P0P1
              pci1
                  I/O ports:
                      0xb000-0xb0ff
                  I/O memory addresses:
                      0xd0000000-0xdfffffff
                      0xfe700000-0xfe7fffff
                      0xfe8f0000-0xfe8fffff
                vgapci0 pnpinfo vendor=0x1002 device=0x9710 subvendor=0x1849 subdevice=0x9710 class=0x030000 at slot=5 function=0 handle=\_SB_.PCI0.P0P1.IGFX
                  vgapm0
                    scpm0
                  drm0
            pcib2 pnpinfo vendor=0x1022 device=0x9603 subvendor=0x1849 subdevice=0x9601 class=0x060400 at slot=2 function=0 handle=\_SB_.PCI0.PCE2
              pci2
                  I/O ports:
                      0xc400-0xc41f
                      0xc800-0xc81f
                  I/O memory addresses:
                      0xfe960000-0xfe97ffff
                      0xfe9c0000-0xfe9dffff
                em0 pnpinfo vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x115e class=0x020000 at slot=0 function=0
                    Interrupt request lines:
                        256
                    I/O memory addresses:
                        0xfe9e0000-0xfe9fffff
                em1 pnpinfo vendor=0x8086 device=0x105e subvendor=0x8086 subdevice=0x115e class=0x020000 at slot=0 function=1
                    Interrupt request lines:
                        257
                    I/O memory addresses:
                        0xfe980000-0xfe99ffff
            pcib3 pnpinfo vendor=0x1022 device=0x9609 subvendor=0x1849 subdevice=0x9601 class=0x060400 at slot=10 function=0 handle=\_SB_.PCI0.PCEA
              pci3
                  I/O ports:
                      0xd800-0xd8ff
                re0 pnpinfo vendor=0x10ec device=0x8168 subvendor=0x1849 subdevice=0x8168 class=0x020000 at slot=0 function=0
                    Interrupt request lines:
                        258
                    I/O memory addresses:
                        0xfdff8000-0xfdffbfff
                        0xfdfff000-0xfdffffff
                  miibus0
                    rgephy0 pnpinfo oui=0x732 model=0x11 rev=0x2 at phyno=1
            atapci0 pnpinfo vendor=0x1002 device=0x4390 subvendor=0x1849 subdevice=0x4390 class=0x01018f at slot=17 function=0 handle=\_SB_.PCI0.SATA
                Interrupt request lines:
                    22
                I/O ports:
                    0x6000-0x600f
                I/O memory addresses:
                    0xfe6ffc00-0xfe6fffff
              ata2 at channel=0
                ad4
                  subdisk4
              ata3 at channel=1
              ata4 at channel=2
              ata5 at channel=3
            ohci0 pnpinfo vendor=0x1002 device=0x4397 subvendor=0x1849 subdevice=0x4397 class=0x0c0310 at slot=18 function=0 handle=\_SB_.PCI0.UHC1
                Interrupt request lines:
                    16
                I/O memory addresses:
                    0xfe6fe000-0xfe6fefff
              usbus0
                uhub0
            ohci1 pnpinfo vendor=0x1002 device=0x4398 subvendor=0x1849 subdevice=0x4398 class=0x0c0310 at slot=18 function=1 handle=\_SB_.PCI0.UHC2
                Interrupt request lines:
                    16
                I/O memory addresses:
                    0xfe6fd000-0xfe6fdfff
              usbus1
                uhub1
            ehci0 pnpinfo vendor=0x1002 device=0x4396 subvendor=0x1849 subdevice=0x4396 class=0x0c0320 at slot=18 function=2 handle=\_SB_.PCI0.UHC3
                Interrupt request lines:
                    17
                I/O memory addresses:
                    0xfe6ff800-0xfe6ff8ff
              usbus2
                uhub2
            ohci2 pnpinfo vendor=0x1002 device=0x4397 subvendor=0x1849 subdevice=0x4397 class=0x0c0310 at slot=19 function=0 handle=\_SB_.PCI0.USB4
                Interrupt request lines:
                    18
                I/O memory addresses:
                    0xfe6fc000-0xfe6fcfff
              usbus3
                uhub3
            ohci3 pnpinfo vendor=0x1002 device=0x4398 subvendor=0x1849 subdevice=0x4398 class=0x0c0310 at slot=19 function=1 handle=\_SB_.PCI0.UHC5
                Interrupt request lines:
                    18
                I/O memory addresses:
                    0xfe6fb000-0xfe6fbfff
              usbus4
                uhub4
            ehci1 pnpinfo vendor=0x1002 device=0x4396 subvendor=0x1849 subdevice=0x4396 class=0x0c0320 at slot=19 function=2 handle=\_SB_.PCI0.UHC6
                Interrupt request lines:
                    19
                I/O memory addresses:
                    0xfe6ff400-0xfe6ff4ff
              usbus5
                uhub5
            unknown pnpinfo vendor=0x1002 device=0x4385 subvendor=0x1849 subdevice=0x4385 class=0x0c0500 at slot=20 function=0 handle=\_SB_.PCI0.SMBS
            atapci1 pnpinfo vendor=0x1002 device=0x439c subvendor=0x1849 subdevice=0x439c class=0x01018a at slot=20 function=1 handle=\_SB_.PCI0.IDEC
                I/O ports:
                    0x170-0x177
                    0x1f0-0x1f7
                    0x376
                    0x3f6
                    0xff00-0xff0f
              ata0 at channel=0
                  Interrupt request lines:
                      14
              ata1 at channel=1
                  Interrupt request lines:
                      15
            isab0 pnpinfo vendor=0x1002 device=0x439d subvendor=0x1849 subdevice=0x439d class=0x060100 at slot=20 function=3 handle=\_SB_.PCI0.SBRG
              isa0
                orm0
                    I/O memory addresses:
                        0xd0000-0xd0fff
                    ACPI I/O memory addresses:
                        0xcf000-0xcffff
                sc0
                vga0
                    I/O ports:
                        0x3c0-0x3df
                    I/O memory addresses:
                        0xa0000-0xbffff
                atkbdc0
                    ACPI I/O ports:
                        0x60
                        0x64
                  atkbd0
                      Interrupt request lines:
                          1
                  psm0
                fdc0
                uart1
                    Interrupt request lines:
                        3
                    I/O ports:
                        0x2f8-0x2ff
            pcib4 pnpinfo vendor=0x1002 device=0x4384 subvendor=0x0000 subdevice=0x0000 class=0x060401 at slot=20 function=4 handle=\_SB_.PCI0.P0PC
              pci4
                  I/O memory addresses:
                      0xfeb60000-0xfeb7ffff
                      0xfebc0000-0xfebdffff
                em2 pnpinfo vendor=0x8086 device=0x107c subvendor=0x8086 subdevice=0x1476 class=0x020000 at slot=5 function=0
                    Interrupt request lines:
                        20
                    I/O ports:
                        0xe800-0xe83f
                    I/O memory addresses:
                        0xfebe0000-0xfebfffff
                em3 pnpinfo vendor=0x8086 device=0x107c subvendor=0x8086 subdevice=0x1376 class=0x020000 at slot=6 function=0
                    Interrupt request lines:
                        21
                    I/O ports:
                        0xe400-0xe43f
                    I/O memory addresses:
                        0xfeb80000-0xfeb9ffff
            ohci4 pnpinfo vendor=0x1002 device=0x4399 subvendor=0x1849 subdevice=0x4399 class=0x0c0310 at slot=20 function=5 handle=\_SB_.PCI0.UHC7
                Interrupt request lines:
                    18
                I/O memory addresses:
                    0xfe6fa000-0xfe6fafff
              usbus6
                uhub6
            hostb1 pnpinfo vendor=0x1022 device=0x1100 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=0
            hostb2 pnpinfo vendor=0x1022 device=0x1101 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=1
            hostb3 pnpinfo vendor=0x1022 device=0x1102 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=2
            hostb4 pnpinfo vendor=0x1022 device=0x1103 subvendor=0x0000 subdevice=0x0000 class=0x060000 at slot=24 function=3
        acpi_sysresource0 pnpinfo _HID=PNP0C02 _UID=20 at handle=\_SB_.PCI0.RS78.BROD
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE3
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE4
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE5
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE6
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE7
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCE9
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCEB
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.PCEC
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.PRID
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.PRID.P_D0
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.PRID.P_D1
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.SECD
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.SECD.S_D0
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.IDEC.SECD.S_D1
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SBAZ
        unknown pnpinfo _HID=PNP0000 _UID=0 at handle=\_SB_.PCI0.SBRG.PIC_
        atdma0 pnpinfo _HID=PNP0200 _UID=0 at handle=\_SB_.PCI0.SBRG.DMAD
        attimer0 pnpinfo _HID=PNP0100 _UID=0 at handle=\_SB_.PCI0.SBRG.TMR_
        atrtc0 pnpinfo _HID=PNP0B00 _UID=0 at handle=\_SB_.PCI0.SBRG.RTC0
            Interrupt request lines:
                8
            I/O ports:
                0x70-0x71
        unknown pnpinfo _HID=PNP0800 _UID=0 at handle=\_SB_.PCI0.SBRG.SPKR
        fpupnp0 pnpinfo _HID=PNP0C04 _UID=0 at handle=\_SB_.PCI0.SBRG.COPR
        unknown pnpinfo _HID=PNP0510 _UID=2 at handle=\_SB_.PCI0.SBRG.UAR2
        unknown pnpinfo _HID=PNP0700 _UID=0 at handle=\_SB_.PCI0.SBRG.FDC_
        acpi_hpet0 pnpinfo _HID=PNP0103 _UID=0 at handle=\_SB_.PCI0.SBRG.HPET
        acpi_sysresource1 pnpinfo _HID=PNP0C02 _UID=0 at handle=\_SB_.PCI0.SBRG.OMSC
        acpi_sysresource2 pnpinfo _HID=PNP0C02 _UID=16 at handle=\_SB_.PCI0.SBRG.RMSC
        ppc0 pnpinfo _HID=PNP0401 _UID=0 at handle=\_SB_.PCI0.SBRG.LPTE
            Interrupt request lines:
                7
            DMA request lines:
                3
            I/O ports:
                0x378-0x37f
          ppbus0
            plip0
            lpt0
            ppi0
        unknown pnpinfo _HID=PNP0303 _UID=0 at handle=\_SB_.PCI0.SBRG.PS2K
        unknown pnpinfo _HID=PNP0F03 _UID=0 at handle=\_SB_.PCI0.SBRG.PS2M
        uart0 pnpinfo _HID=PNP0501 _UID=1 at handle=\_SB_.PCI0.SBRG.UAR1
            Interrupt request lines:
                4
            I/O ports:
                0x3f8-0x3ff
        acpi_sysresource3 pnpinfo _HID=PNP0C02 _UID=46 at handle=\_SB_.PCI0.SBRG.SIOR
        acpi_sysresource4 pnpinfo _HID=PNP0C02 _UID=17 at handle=\_SB_.PCI0.PCIE
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.PRID
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.PRID.P_D0
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.PRID.P_D1
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.SECD
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.SECD.S_D0
        unknown pnpinfo _HID=none _UID=0 at handle=\_SB_.PCI0.SATA.SECD.S_D1
        unknown pnpinfo _HID=AWY0001 _UID=0 at handle=\_SB_.AWY_
        acpi_sysresource5 pnpinfo _HID=PNP0C01 _UID=1 at handle=\_SB_.RMEM
        acpi_button0 pnpinfo _HID=PNP0C0C _UID=170 at handle=\_SB_.PWRB
        pci_link0 pnpinfo _HID=PNP0C0F _UID=1 at handle=\_SB_.LNKA
        pci_link1 pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.LNKB
        pci_link2 pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.LNKC
        pci_link3 pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.LNKD
        pci_link4 pnpinfo _HID=PNP0C0F _UID=5 at handle=\_SB_.LNKE
        pci_link5 pnpinfo _HID=PNP0C0F _UID=2 at handle=\_SB_.LNKF
        pci_link6 pnpinfo _HID=PNP0C0F _UID=3 at handle=\_SB_.LNKG
        pci_link7 pnpinfo _HID=PNP0C0F _UID=4 at handle=\_SB_.LNKH
        unknown pnpinfo _HID=PNP0C14 _UID=0 at handle=\AOD_
        acpi_timer0 pnpinfo unknown at unknown
            ACPI I/O ports:
                0x808-0x80b
    
    

    As described in http://lists.freebsd.org/pipermail/freebsd-current/2012-January/031329.html unplugging and re-plugging the cable is not working.

    When i switch back to stable 2.0, the error is gone and the interface keeps up and running for weeks.

    Any suggestions or patches I could try? More infos needed?

    thanks and br
    stephan



  • Instead of struggling to make use of RealTek nic (which has very bad reputation of working with BSDs), I suggest you to install any Intel or BroadCom (the former preferred). They are not expensive and worth the investment. ;-)


  • Rebel Alliance Developer Netgate

    @zenny:

    Instead of struggling to make use of RealTek nic (which has very bad reputation of working with BSDs), I suggest you to install any Intel or BroadCom (the former preferred). They are not expensive and worth the investment. ;-)

    Fixed that for you. :-)



  • Hi,

    since space is very rare, and i already have 2 dual-port NICs in place (2x WAN, 2x DMZ), the only NIC left is the onboard. I know, RT is not the first choice, but in my case, i have to use it.
    So are there no plans to investigate this issue or even provide a patch from the upstream project?
    I'm kinda worried, because using the stable images fix this issue and if the RC becomes final, I will not be the only one facing the RT issue.

    Just let me know, if I can help.

    br,
    stephan



  • @stephan_:

    since space is very rare, and i already have 2 dual-port NICs in place (2x WAN, 2x DMZ), the only NIC left is the onboard.

    Depending on your bandwidth requirements, you could use a VLAN capable switch acting as a port multiplier for one of your existing NICs.


  • Netgate Administrator

    That's a small patch from a good while ago? Are you sure it didn't make it into 8.3?
    Worst case you can always compile your own kernel module with that patch and load it.

    Steve



  • @stephan_:

    Hi,

    since space is very rare, and i already have 2 dual-port NICs in place (2x WAN, 2x DMZ), the only NIC left is the onboard. I know, RT is not the first choice, but in my case, i have to use it.
    So are there no plans to investigate this issue or even provide a patch from the upstream project?
    I'm kinda worried, because using the stable images fix this issue and if the RC becomes final, I will not be the only one facing the RT issue.

    Just let me know, if I can help.

    br,
    stephan

    The easiest and more reliable would be go for two quad-port intel/broadcom NIC (a bit expensive option but worth your time, imho). Forget about RealTek it gave me immense problem in the past and lost several hours to make it work, fyi.

    FreeBSD 9.1 does not seem to have this problem (http://forums.nas4free.org/viewtopic.php?f=58&t=953#p3465), but pfSense 2.1 is still based on FreeBSD 8.3!

    According to jimp (read somewhere in the forum), the next version of pfSense would be based on FreeBSD 10 as the pfSense developers are skipping v 9.x!



  • @wallabybob:

    Depending on your bandwidth requirements, you could use a VLAN capable switch acting as a port multiplier for one of your existing NICs.

    Yes, it would be a nice workaround, but streaming from and to the mediaservers in the DMZ would be slowed down. Not that it would take the full Gbit link, but I gave it a try before I bought 2 dual port NICs ;)

    @zenny:

    The easiest and more reliable would be go for two quad-port intel/broadcom NIC (a bit expensive option but worth your time, imho). Forget about RealTek it gave me immense problem in the past and lost several hours to make it work, fyi.

    Well, then i will have to buy one or build a new box.

    @zenny:

    FreeBSD 9.1 does not seem to have this problem (http://forums.nas4free.org/viewtopic.php?f=58&t=953#p3465), but pfSense 2.1 is still based on FreeBSD 8.3!

    According to jimp (read somewhere in the forum), the next version of pfSense would be based on FreeBSD 10 as the pfSense developers are skipping v 9.x!

    Thanks for this info :) But it will take much too long to wait for the next release ;)

    br,
    stephan