Re: bge problems when resuming

From: Paul B. Mahol <onemda_at_gmail.com>
Date: Sat, 18 Jul 2009 00:09:22 +0200
On 7/17/09, Gonzalo Nemmi <gnemmi_at_gmail.com> wrote:
> On Wednesday 15 July 2009 8:13:47 am Adam K Kirchhoff wrote:
>> On Wednesday 15 July 2009 03:20:45 Paul B. Mahol wrote:
>> > On 7/15/09, Adam K Kirchhoff <adamk_at_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/0090
>> > >23.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_at_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_at_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
>
> Hi Adam, Paul ...
> I'm the "another individual" from you OP.
> I have the same problems you have regarding bge, but they weren't
> trumped .. I just had an order of priorities ;)
>
> Anyways, I tried the solution Paul posted and, just as in your case, I
> got a hard lock too ...
>
> I tried loading if_bge through /boot/loader.conf
> Then issued a:
>
> kldunload if_bge coretemp

coretemp is wrong module, it must be one of modules that attach to pci.

> acpiconf -s 3
>
> machine suspended
>
> As soon as I woke it up I got the following message followed by a hard
> lock:
>
> fwohci0: Phy 1394a available S400, 1 ports.
> fwohci0: Link S400, max_rec 2048 bytes.
> fwohci0: Initiate bus reset
> fwohci0: fwohci_intr_core: BUS reset
> fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=1,
> CYCLEMASTER mode
> firewire0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
> firewire0: bus manager 0
> fwohci0: unrecoverable error
> bge0: <Broadmcom NetXtreme Ethernet Controller, unknown ASIC rev,
> 0xffff> mem 0xf69f0000-0xf69fffff irq 17 at device 0.0 on pci9
>
> All this happens on a Dell 1318, FreeBSD 8.0-BETA1, i386, Intel(R)
> Celeron(R) CPU 560_at_2.13GHz.
>
> bge0_at_pci0:9:0:0:	class=0x020000 card=0x02861028 chip=0x171314e4 rev=0x02
> hdr=0x00
>     vendor     = 'Broadcom Corporation'
>     device     = 'Broadcom NetLink (TM) Fast Ethernet (BCM5906m)'
>     class      = network
>     subclass   = ethernet
>     bar   [10] = type Memory, range 64, base 0xf69f0000, size 65536,
> enabled
>     cap 01[48] = powerspec 3  supports D0 D3  current D0
>     cap 03[50] = VPD
>     cap 09[58] = vendor (length 120)
>     cap 05[e8] = MSI supports 1 message, 64 bit enabled with 1 message
>     cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
>
> If somebody needs more info, just ask me for it and I'll try to answer
> as soon as I can.
>
> Adam, if you do file a PR, please let me know so I can follow it.
>
> Best Regards
> --
> Blessings
> Gonzalo Nemmi
>


-- 
Paul
Received on Fri Jul 17 2009 - 20:09:24 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC