Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 15 Jul 2009 07:13:47 -0400
From:      Adam K Kirchhoff <adamk@voicenet.com>
To:        "Paul B. Mahol" <onemda@gmail.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: bge problems when resuming
Message-ID:  <200907150713.47807.adamk@voicenet.com>
In-Reply-To: <3a142e750907150020h712bfcecq89d5ccf3e00e302c@mail.gmail.com>
References:  <4A5D27F2.50208@voicenet.com> <3a142e750907150020h712bfcecq89d5ccf3e00e302c@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 15 July 2009 03:20:45 Paul B. Mahol wrote:
> On 7/15/09, Adam K Kirchhoff <adamk@voicenet.com> wrote:
> > Hello all,
> >
> > I have a Dell Latitude D610 laptop with 8.0-BETA1 installed.  I hadn't
> > tried suspend/resume for a while and decided to give it a shot.  I was
> > pleasantly surprised to see that I could suspend to ram, resume, and
> > have a (relatively) working system (previously the display would never
> > come back up and the serial console I had hooked up remained dead).
> > Great job to everyone who helped make that possible.
> >
> > The only real issue that I seem to have now is that bge is completely
> > unusable after resume.  Another individual seems to have reported
> > similar problems with bge and resume, but he also had other issues that
> > apparently trumped his networking issues:
> >
> > http://lists.freebsd.org/pipermail/freebsd-current/2009-July/009023.html
> >
> > Like him, resuming from suspend gives me:
> >
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 0,
> > val 32768)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY read timed out (phy 1, reg 0,
> > val 0xffffffff)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 24,
> > val 3072)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 23,
> > val 10)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 21,
> > val 12555)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 23,
> > val 8223)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 21,
> > val 38150)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 23,
> > val 16415)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 21,
> > val 5346)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 24,
> > val 1024)
> > Jul 14 12:35:53 scroll kernel: bge0: PHY write timed out (phy 1, reg 24,
> > val 7)
> >
> > And so on and so forth.
> >
> > I thought that compiling if_bge as a module, unloading it before
> > suspend, and reloading it after resume, might get this working.
> > However, doing a "kldload if_bge" after the resume does nothing.  Well,
> > the module gets loaded, but the device doesn't show up.  No errors from
> > kldload, and there is nothing new in dmesg.
> >
> > Before the suspend, the device shows up as:
> >
> > bge0@pci0:2:0:0:        class=0x020000 card=0x01821028 chip=0x167714e4
> > rev=0x01 hdr=0x00
> >     vendor     = 'Broadcom Corporation'
> >     device     = 'NetXtreme Gigabit Ethernet PCI Express (BCM5750A1)'
> >     class      = network
> >     subclass   = ethernet
> >
> > After resuming,  and reloading the module, it's:
> >
> > none1@pci0:2:0:0:       class=0x020000 card=0x01821028 chip=0x167714e4
> > rev=0x01 hdr=0x00
> >     vendor     = 'Broadcom Corporation'
> >     device     = 'NetXtreme Gigabit Ethernet PCI Express (BCM5750A1)'
> >     class      = network
> >     subclass   = ethernet
> >
> > If there are no ideas, I'll go ahead and open up a pr.  I assume this is
> > just one bug, since both problems (the PHY issues and the inability to
> > reload the driver) are both related to the network device.
>
> Put this lines into loader.conf and reboot.
>
> hw.pci.do_power_nodriver="3"
> hw.pci.do_power_resume="1"
>
> Now, before suspend, unload if_bge and some another driver (sound
> drivers are best candidate) and load sound driver again, suspend and
> resume.
> Now loading if_bge should make it succesfully attach.

Unfortunately, after doing this, reloading the if_bge driver causes the laptop 
to completely lock up...  It gets as far as:

bge0: <Broadcom NetXtreme Gigabit Ethernet Controller, unknown ASIC rev. 
0xffff>
mem 0xdfdf0000-0xdfdfffff irq 16 at device 0.0 on pci2

And then the entire machine hangs.  I'm on ttyv0, so I'd see any kernel panic, 
but nothing like that happens.  The screen stays on, but nothing else happens 
till I force a reboot.

Adam





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907150713.47807.adamk>