Date: Tue, 25 Nov 2008 20:37:49 +0100 From: "Paul B. Mahol" <onemda@gmail.com> To: freebsd-acpi@freebsd.org Subject: Re: Resume on hp nx7300 Message-ID: <3a142e750811251137se5091f8vc1ca13e5469413c3@mail.gmail.com> In-Reply-To: <3a142e750811241658i39097018x3c6f49aa62805fa7@mail.gmail.com> References: <3a142e750811240748o1923fdc4xca1ae55f44bf664d@mail.gmail.com> <3a142e750811241658i39097018x3c6f49aa62805fa7@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/25/08, Paul B. Mahol <onemda@gmail.com> wrote: > On 11/24/08, Paul B. Mahol <onemda@gmail.com> wrote: >> Hi, >> >> I managed somehow to succesfully resume laptop from suspend, >> setting hw.acpi.osname="Windows 2001" > It appears that it's not required at all. > >> but lcd output is off and can not be turned on. > > It will work if vesa is kldloaded _before_ suspend. > Also kldload i915 (agp+drm+i915) _before_ suspend will do it. > >> sysctl hw.acpi.reset_video=1 does'nt work, instead to resume, machine >> remain in unknown state, keyboard input doesnt work. >> >> Also if powerd + cpufreq combination is used, some time after resume >> system will reboot itself: >> >> db:0:kdb.enter.unknown> show pcpu >> cpuid = 0 >> curthread = 0xc3ff0240: pid 667 "powerd" >> curpcb = 0xc3a72d90 >> fpcurthread = none >> idlethread = 0xc3d2fd80: pid 10 "idle: cpu0" >> APIC ID = 0 >> currentldt = 0x50 >> spin locks held: >> db:0:kdb.enter.unknown> bt >> Tracing pid 667 tid 100036 td 0xc3ff0240 >> mtrash_ctor(c3e21000,400,0,1,0,...) at mtrash_ctor+0x60 >> uma_zalloc_arg(c108ba20,0,1,0,c3e2c400,...) at uma_zalloc_arg+0x137 >> malloc(36c,c06d1bc0,1,210,c049b0c3,...) at malloc+0xcb >> cf_levels_method(c3e0ae80,c446f000,c3a72b4c,c3a72ba8,c446f3b4,...) at >> cf_levels_method+0x23d >> cpufreq_curr_sysctl(c3e414c0,c3e4f000,0,c3a72ba8,c3a72ba8,4,4,c3e414c0) >> at cpufreq_curr_sysctl+0x169 >> sysctl_root(c3a72ba8,0,c069a48a,587,c3ff0240,...) at sysctl_root+0x138 >> userland_sysctl(c3ff0240,c3a72c14,4,0,0,...) at userland_sysctl+0x115 >> __sysctl(c3ff0240,c3a72cf8,18,c06a0480,c06ce1b0,...) at __sysctl+0xb7 >> syscall(c3a72d38) at syscall+0x261 >> Xint0x80_syscall() at Xint0x80_syscall+0x20 >> --- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x28172533, esp = >> 0xbfbfe84c, ebp = 0xbfbfe878 --- >> >> >> acpi_ec0: wait timed out (response), forcing polled mode >> <5>wakeup from sleeping state (slept 00:00:14) >> acpi_tz0: _CRT value is absurd, ignored (256.0C) >> agp0: <Intel 82945GM (945GM GMCH) SVGA controller> on vgapci0 >> agp0: detected 7932k stolen memory >> agp0: aperture size is 256M >> Memory modified after free 0xc3e21000(1020) val=0 @ 0xc3e21000 >> > > powerd + cpufreq combination just works, above panic > probably happened because agp is loaded _after_ resume. > >> >> Fatal trap 12: page fault while in kernel mode >> cpuid = 0; apic id = 00 >> fault virtual address = 0xffff0020 >> fault code = supervisor read, page not present >> instruction pointer = 0x20:0xc062c350 >> stack pointer = 0x28:0xc3a72a04 >> frame pointer = 0x28:0xc3a72a24 >> code segment = base 0x0, limit 0xfffff, type 0x1b >> = DPL 0, pres 1, def32 1, gran 1 >> processor eflags = interrupt enabled, resume, IOPL = 0 >> current process = 667 (powerd) >> exclusive sx cpufreq lock (cpufreq lock) r = 0 (0xc3e4f000) locked @ >> /usr/src/sys/kern/kern_cpu.c:528 >> exclusive sx sysctl lock (sysctl lock) r = 0 (0xc070f404) locked @ >> /usr/src/sys/kern/kern_sysctl.c:1415 >> exclusive sleep mutex Giant (Giant) r = 0 (0xc070edf0) locked @ >> /usr/src/sys/kern/kern_sysctl.c:1353 >> exclusive sx cpufreq lock (cpufreq lock) r = 0 (0xc3e4f000) locked @ >> /usr/src/sys/kern/kern_cpu.c:528 >> exclusive sx sysctl lock (sysctl lock) r = 0 (0xc070f404) locked @ >> /usr/src/sys/kern/kern_sysctl.c:1415 >> exclusive sleep mutex Giant (Giant) r = 0 (0xc070edf0) locked @ >> /usr/src/sys/kern/kern_sysctl.c:1353 >> >> >> Do I need to build/install UP kernel, or I can use SMP one with smp >> disabled via loader.conf? > > kern.smp.disabled="1" just works, and disabling dual core from bios is > not required. > > Restarting moused after resume is must. > pccard and ndis powered broadcom card do not work after resume, > even if right driver was never loaded during/after boot - before suspend. > > Main problem is that shutdown button (S5) doesnt work after resume. > Is there any know reason why that could happen? Problem with cardbus controller appears to be that it never got into D3 state, because its hdr=0x02 I encountered also that setting hw.pci.do_power_nodriver=2 in /boot/loader.conf have same nasty effect when using it with suspend/resume. After resume all devices will be put back into D0 state, but if you kldunload one driver, for example snd_hda and kldload it again, all devices that do not have driver attached (and with hdr=0x00) will be put into D3 again. Same scenario happen when unloading driver, device will remain in D0 state until some other driver is loaded/attached to correct device. Current devices power state can be monitored with "pciconf -lvc". I think this is more general problem. -- Paul
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3a142e750811251137se5091f8vc1ca13e5469413c3>