Suspend Issues or Soft Kernel Locks and no wireless; which is worse?

Eric Griffith egriffith92 at gmail.com
Wed Aug 10 03:24:15 UTC 2011


Alright so basically...suspend's not working right; bomb of information below

Laptop Model: ASUS N73JQ-X2
Kernel: 2.6.40-4.fc15.i686
Desktop Enviro: KDE 4.6.5

The last time Suspend worked with no issues was Linux Mint 10 which
had, I think, kernel 2.6.35 (with ubuntu mods).

Alright, here's what's happening: KDE Power Management is set that if
I close my laptop lid, it should go into sleep mode. When I close the
lid, I give it a few seconds to enter sleep, and then I open it back
up. I'm met with a black screen, with a blinking cursor in the top
left. Fedora (15) is non-responsive to keyboard and mouse events
(SysRQ is enabled and doesn't work, so thats out the window), only
solution is to power it down and power it back up.  Little googling
around and I'm met with a post by an owner of an ASUS N71, one
generation back. With a custom sleep script for ehci-hcd that worked
for them. Figure I'll give it a shot. Throw the script into
/etc/pm/sleep.d/, give it the necessary permissions. Reboot to make
sure it loads it, and then try sleep again.

It works!

...kinda.

Closed the lid, gave it a few seconds. Opened the lid back up, black
screen, and moved the mouse, my desktop appears a second later. I see
that knetworkmanager says I have no network; no problem, sleep always
kills the network interface before bringing it back up. Wait a second
wireless to come back....its not coming back. Mouse over
knetworkmanager in the systray: ethernet + wireless = 'unmanaged.'
*blink blink* Bug report pops up! Not for knetworkmanager... CPU #0 is
having soft kernel locks, and a lot of them. More and more bug reports
kept coming in, non stop until I powered down the laptop. Looking at
Fedora's automatic bug reporting, it says CPU#0 locked up for
23seconds, followed by the name of the custom sleep script I just
added. I'm pasting the sleep script below, if anyone is familiar with
suspend / sleep and can look it over, maybe give me a few hints on
what to do

Below is the backtrace for the kernel lockups, I do have more
information related to the lockup, but since Fedora keeps a bug report
inside 20+ different files each detailing 1 and only 1 thing, I'm not
sure which is relevant and which isn't.  Also below is the script, and
pm-suspend.log

Backtrace first:


BUG: soft lockup - CPU#0 stuck for 23s! [20_custom-ehci_:3920]
Modules linked in: ebtable_nat ebtables ipt_MASQUERADE iptable_nat
nf_nat xt_CHECKSUM iptable_mangle bridge sunrpc 8021q garp stp llc
cpufreq_ondemand acpi_cpufreq mperf ip6t_REJECT nf_conntrack_ipv6
nf_defrag_ipv6 ip6table_filter ip6_tables rfcomm nf_conntrack_ipv4
nf_defrag_ipv4 xt_state nf_conntrack bnep btusb snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer snd soundcore arc4 ath9k mac80211
ath9k_common ath9k_hw ath cfg80211 bluetooth snd_page_alloc
asus_laptop sparse_keymap rfkill virtio_net kvm_intel kvm fglrx(P)
iTCO_wdt xhci_hcd iTCO_vendor_support microcode i7core_edac uvcvideo
edac_core videodev joydev atl1c media serio_raw uas usb_storage video
radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
scsi_wait_scan]
Modules linked in: ebtable_nat ebtables ipt_MASQUERADE iptable_nat
nf_nat xt_CHECKSUM iptable_mangle bridge sunrpc 8021q garp stp llc
cpufreq_ondemand acpi_cpufreq mperf ip6t_REJECT nf_conntrack_ipv6
nf_defrag_ipv6 ip6table_filter ip6_tables rfcomm nf_conntrack_ipv4
nf_defrag_ipv4 xt_state nf_conntrack bnep btusb snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep snd_seq
snd_seq_device snd_pcm snd_timer snd soundcore arc4 ath9k mac80211
ath9k_common ath9k_hw ath cfg80211 bluetooth snd_page_alloc
asus_laptop sparse_keymap rfkill virtio_net kvm_intel kvm fglrx(P)
iTCO_wdt xhci_hcd iTCO_vendor_support microcode i7core_edac uvcvideo
edac_core videodev joydev atl1c media serio_raw uas usb_storage video
radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core [last unloaded:
scsi_wait_scan]
Pid: 3920, comm: 20_custom-ehci_ Tainted: P
2.6.40-4.fc15.i686 #1 ASUSTeK Computer Inc.         N71Jq/N71Jq
EIP: 0060:[<c0604a29>] EFLAGS: 00000203 CPU: 0
EIP is at dma_pte_free_pagetable+0xcf/0x1a0
EAX: 3000000f EBX: 00000004 ECX: 08000000 EDX: 00000005
ESI: 28000010 EDI: f3ada428 EBP: efe49e68 ESP: efe49e38
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process 20_custom-ehci_ (pid: 3920, ti=f400e000 task=f2853280 task.ti=efe48000)
Stack:
 efe49e58 08000000 00000004 07ffffff f389c100 00000000 f3ada000 ffffffff
 00000004 00000024 f389c100 f401f060 efe49e94 c0604fd9 ffffffff 00000000
 f389c10c 00000292 00000000 f401f000 f389c100 00000006 f401f060 efe49ea8
Call Trace:
 [<c0604fd9>] domain_exit+0xc5/0x18c
 [<c0605d79>] device_notifier+0x58/0x5f
 [<c081748f>] notifier_call_chain+0x2b/0x4d
 [<c045813e>] __blocking_notifier_call_chain+0x40/0x52
 [<c045816f>] blocking_notifier_call_chain+0x1f/0x21
 [<c067fda2>] __device_release_driver+0x98/0x9c
 [<c067fdc3>] device_release_driver+0x1d/0x28
 [<c067f2cb>] driver_unbind+0x4d/0x7b
 [<c067f27e>] ? store_drivers_probe+0x33/0x33
 [<c067edd6>] drv_attr_store+0x25/0x2a
 [<c0533e50>] sysfs_write_file+0xc3/0xee
 [<c04eb4a4>] vfs_write+0x8f/0xd7
 [<c0533d8d>] ? sysfs_open_file+0x1dc/0x1dc
 [<c04eb666>] sys_write+0x42/0x63
 [<c08143cc>] syscall_call+0x7/0xb
Code: e8 00 75 0f 8d 46 01 8d 53 01 e8 0b ed ff ff 89 c6 eb 70 8d 4b
ff b8 01 00 00 00 8b 7d e8 8d 0c c9 d3 e0 89 c1 8d 40 ff 89 45 dc <f6>
07 03 74 26 89 f8 89 4d d4 e8 23 ed ff ff 31 d2 2d 00 00 00



__________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________

/var/log/pm-suspend.log:

Initial commandline parameters:
Sun Aug  7 21:26:13 EDT 2011: Running hooks for suspend.
Running hook /usr/lib/pm-utils/sleep.d/00logging suspend suspend:
Linux eric-laptop 2.6.40-4.fc15.i686 #1 SMP Fri Jul 29 18:54:39 UTC
2011 i686 i686 i386 GNU/Linux
Module                  Size  Used by
ebtable_nat             1451  0
ebtables               12183  1 ebtable_nat
ipt_MASQUERADE          1716  3
iptable_nat             3734  1
nf_nat                 15054  2 ipt_MASQUERADE,iptable_nat
xt_CHECKSUM              921  1
iptable_mangle          1247  1
bridge                 60481  0
ppdev                   6216  0
parport_pc             17816  0
lp                      6973  0
parport                26550  3 ppdev,parport_pc,lp
sunrpc                168805  1
8021q                  14146  0
garp                    4938  1 8021q
stp                     1391  2 bridge,garp
llc                     3726  3 bridge,garp,stp
cpufreq_ondemand        4782  8
acpi_cpufreq            8212  1
mperf                   1137  1 acpi_cpufreq
ip6t_REJECT             3395  2
nf_conntrack_ipv6       6429  1
nf_defrag_ipv6          7174  1 nf_conntrack_ipv6
ip6table_filter         1215  1
ip6_tables              9828  1 ip6table_filter
rfcomm                 49712  8
nf_conntrack_ipv4       6874  5 iptable_nat,nf_nat
nf_defrag_ipv4          1093  1 nf_conntrack_ipv4
xt_state                 942  3
nf_conntrack           56146  6
ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv6,nf_conntrack_ipv4,xt_state
bnep                   11740  2
snd_hda_codec_hdmi     20135  1
snd_hda_codec_realtek   241838  1
snd_hda_intel          20567  2
snd_seq                43528  0
snd_hda_codec          71160  3
snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_seq_device          5033  1 snd_seq
snd_hwdep               4905  1 snd_hda_codec
snd_pcm                63457  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              15237  2 snd_seq,snd_pcm
snd                    48471  13
snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_seq,snd_seq_device,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer
soundcore               5027  1 snd
arc4                    1085  2
ath9k                  87478  0
mac80211              211951  1 ath9k
ath9k_common            1984  1 ath9k
ath9k_hw              256555  2 ath9k,ath9k_common
ath                    12198  2 ath9k,ath9k_hw
btusb                  12468  1
asus_laptop            12357  0
cfg80211              126267  3 ath9k,mac80211,ath
bluetooth             165011  23 rfcomm,bnep,btusb
sparse_keymap           2746  1 asus_laptop
snd_page_alloc          6035  2 snd_hda_intel,snd_pcm
fglrx                2542058  139
rfkill                 12939  4 asus_laptop,cfg80211,bluetooth
microcode              11178  0
joydev                  7219  0
serio_raw               3394  0
i7core_edac            13106  0
edac_core              33238  3 i7core_edac
uvcvideo               51089  0
videodev               64085  1 uvcvideo
media                   9214  2 uvcvideo,videodev
iTCO_wdt               10436  0
iTCO_vendor_support     2070  1 iTCO_wdt
xhci_hcd               88848  0
atl1c                  26732  0
virtio_net             10262  0
kvm_intel              38794  0
kvm                   274764  1 kvm_intel
video                  10684  0
radeon                622900  0
ttm                    45930  1 radeon
drm_kms_helper         23178  1 radeon
drm                   156049  3 radeon,ttm,drm_kms_helper
i2c_algo_bit            4206  1 radeon
i2c_core               21572  5 videodev,radeon,drm_kms_helper,drm,i2c_algo_bit
            total       used       free     shared    buffers     cached
Mem:       1987012     793700    1193312          0      27432     325660
-/+ buffers/cache:     440608    1546404
Swap:      8000508          0    8000508

/usr/lib/pm-utils/sleep.d/00logging suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00powersave suspend suspend:

/usr/lib/pm-utils/sleep.d/00powersave suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/01grub suspend suspend:

/usr/lib/pm-utils/sleep.d/01grub suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend:

/usr/lib/pm-utils/sleep.d/49bluetooth suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend:
Having NetworkManager put all interaces to sleep...Done.

/usr/lib/pm-utils/sleep.d/55NetworkManager suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/56atd suspend suspend:

/usr/lib/pm-utils/sleep.d/56atd suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/56dhclient suspend suspend:

/usr/lib/pm-utils/sleep.d/56dhclient suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/75modules suspend suspend:

/usr/lib/pm-utils/sleep.d/75modules suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/90clock suspend suspend:

/usr/lib/pm-utils/sleep.d/90clock suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend:

/usr/lib/pm-utils/sleep.d/94cpufreq suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95led suspend suspend:

/usr/lib/pm-utils/sleep.d/95led suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/95packagekit suspend suspend:

/usr/lib/pm-utils/sleep.d/95packagekit suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend:
ATI Catalyst driver detected, not using quirks.

/usr/lib/pm-utils/sleep.d/98video-quirk-db-handler suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/99video suspend suspend:
kernel.acpi_video_flags = 0

/usr/lib/pm-utils/sleep.d/99video suspend suspend: success.
Sun Aug  7 21:26:14 EDT 2011: performing suspend


__________________________________________________________________________________________________________________________________________________
__________________________________________________________________________________________________________________________________________________

SCRIPT:

#!/bin/sh
# copy to /etc/pm/sleep.d/,   chmod 755, and install acpi(d)
#inspired by http://art.ubuntuforums.org/showpost.php?p=9744970&postcount=19
#...and http://thecodecentral.com/2011/01/18/fix-ubuntu-10-10-suspendhibernate-not-working-bug
# tidied by tqzzaa :)

VERSION=1.1
DEV_LIST=/tmp/usb-dev-list
DRIVERS_DIR=/sys/bus/pci/drivers
DRIVERS="ehci xhci" # ehci_hcd, xhci_hcd
HEX="[[:xdigit:]]"
MAX_BIND_ATTEMPTS=2
BIND_WAIT=0.1

unbindDev() {
 echo -n > $DEV_LIST 2>/dev/null
 for driver in $DRIVERS; do
   DDIR=$DRIVERS_DIR/${driver}_hcd
   for dev in `ls $DDIR 2>/dev/null | egrep "^$HEX+:$HEX+:$HEX"`; do
     echo -n "$dev" > $DDIR/unbind
     echo "$driver $dev" >> $DEV_LIST
   done
 done
}

bindDev() {
 if [ -s $DEV_LIST ]; then
   while read driver dev; do
     DDIR=$DRIVERS_DIR/${driver}_hcd
     while [ $((MAX_BIND_ATTEMPTS)) -gt 0 ]; do
         echo -n "$dev" > $DDIR/bind
         if [ ! -L "$DDIR/$dev" ]; then
           sleep $BIND_WAIT
         else
           break
         fi
         MAX_BIND_ATTEMPTS=$((MAX_BIND_ATTEMPTS-1))
     done
   done < $DEV_LIST
 fi
 rm $DEV_LIST 2>/dev/null
}

case "$1" in
 hibernate|suspend) unbindDev;;
 resume|thaw)       bindDev;;
esac



THINGS THAT DONT HELP:

1) Bluetooth device is powered off, so not that piece of hardware
2) USB mouse plugged in / unplugged, doesnt matter.
3) MicroSD - SD card adapter plugged in, or not, doesn't matter, still nothing.
4) Using the free drivers; so its not (limited) to me using FGLRX

All available updates are applied; the KDE mailing list couldn't help,
so I'm tossing it to you guys in hopes something can come out from
this. Again... sorry for the sudden, massive email >.>


More information about the users mailing list