NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-i386/53494: vte doesn't work on eBox 3352DX3-AP



The following reply was made to PR port-i386/53494; it has been noted by GNATS.

From: Andrius V <vezhlys%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: port-i386-maintainer%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, 
	netbsd-bugs%netbsd.org@localhost
Subject: Re: port-i386/53494: vte doesn't work on eBox 3352DX3-AP
Date: Sat, 19 Jun 2021 01:07:17 +0300

 Though possible I guess by skipping all bmcr checks in rdcphy_status,
 if it's value equals to 0xffff, I doubt it's worth an effort. Since
 status register also doesn't work, I am not sure how Linux was setting
 the speed/duplex, but I believe by BMSR advertised capabilities and
 putting the best possible option, which would mean we would also need
 just to force 100baseTX full duplex. I would imagine patch similar to
 this (untested):
 
 diff --git a/sys/dev/mii/rdcphy.c b/sys/dev/mii/rdcphy.c
 index 613d945bc09..6aaadd9f604 100644
 --- a/sys/dev/mii/rdcphy.c
 +++ b/sys/dev/mii/rdcphy.c
 @@ -218,6 +218,11 @@ rdcphy_status(struct mii_softc *sc)
                 mii->mii_media_status |= IFM_ACTIVE;
 
         PHY_READ(sc, MII_BMCR, &bmcr);
 +
 +       if (bmcr == 0xffff && physts == 0xffff) {
 +               goto broken_reset;
 +       }
 +
         if ((bmcr & BMCR_ISO) != 0) {
                 mii->mii_media_active |= IFM_NONE;
                 mii->mii_media_status = 0;
 @@ -250,4 +255,15 @@ rdcphy_status(struct mii_softc *sc)
                 mii->mii_media_active |= IFM_FDX | mii_phy_flowstatus(sc);
         else
                 mii->mii_media_active |= IFM_HDX;
 +       return;
 +
 +       broken_reset:
 +               if ((bmsr & BMSR_ACOMP) == 0) {
 +                       /* Erg, still trying, I guess... */
 +                       mii->mii_media_active |= IFM_NONE;
 +                       return;
 +               }
 +               mii->mii_media_status |= IFM_ACTIVE;
 +               mii->mii_media_active |= IFM_100_TX;
 +               mii->mii_media_active |= IFM_FDX | mii_phy_flowstatus(sc);
 
 However, I have an easier solution myself by just commenting out all
 vte_reset calls, which cause the issue. It makes Ethernet controller
 to initialize and work without visible issues. Thus, unless someone
 else hits the same problem, I don't think so, that specific quirk is
 necessary in the code.
 
 Regards,
 Andrius V
 
 On Fri, Jun 18, 2021 at 7:35 PM David Holland <dholland-bugs%netbsd.org@localhost> wrote:
 >
 > The following reply was made to PR port-i386/53494; it has been noted by GNATS.
 >
 > From: David Holland <dholland-bugs%netbsd.org@localhost>
 > To: gnats-bugs%netbsd.org@localhost
 > Cc:
 > Subject: Re: port-i386/53494: vte doesn't work on eBox 3352DX3-AP
 > Date: Fri, 18 Jun 2021 16:33:32 +0000
 >
 >  On Fri, Jun 18, 2021 at 02:00:02PM +0000, Andrius V wrote:
 >   >  I would probably recommend to close this bug for now and consider my
 >   >  hardware being faulty until proved differently.
 >   >  [...]
 >
 >  If it's possible to make it work by using only the one register, is it
 >  worth adding a code path for that and treating it as a quirk? (maybe
 >  only selectable explicitly unless/until we figure out how to probe it)
 >
 >  I haven't looked at the code and know nothing about the hw, so I have
 >  no idea how hard or how invasive that would be, but it's a possible
 >  way forward if you want your hw working and want to spend the time.
 >
 >  --
 >  David A. Holland
 >  dholland%netbsd.org@localhost
 >
 


Home | Main Index | Thread Index | Old Index