Cisco VPN Client freezes system with dual core CPU

 

It’s annoying as hell ! Not only we need to patch to use Cisco client on 64 bit systems, recently i find out Cisco don’t support SMP (multi core) in its VPN client. It means after you load the cisco module, there’s a big chance you will run into a kernel panic: oops, the whole desktop freezes and the only thing you can do is a hard restart. Nice.

There’s a way out of this: turn off SMP aka turn one core of your CPU off before the module is loaded:

  • sudo  echo 0 > /sys/devices/system/cpu/cpu1/online (to turn the 2nd core off, replace cpu1 with cpu2 for 3rd core and so on)
  • sudo  echo 1 > /sys/devices/system/cpu/cpu1/online (turn it back on)

But why the hell do we have to use one core only ?? I mean, if we buy multi core CPU, we want to use it ! It’s ok if you only use VPN occasionally, however for folks like me who is forced to use VPN all day then this is just plain dumb. Good work Cisco, i will stick with vpnc afterall, ktnxbye !

  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • Ma.gnolia
  • Reddit

Related posts:

  • Luca
    I'm Having this exact behaviour......
  • Phil
    Same issue here. This occurs only when I use wifi. Must be the Intel drivers as the suspend/hibernate also need to turn off the extra core to work. With ethernet, vpn seems to be ok.
  • on my computer (dell xpsm1330 ubuntu), vpn without wifi works, but vpn with wifi freezes my computer.
    I will try your solution, because I am only
    an occasional user.
  • I have tried
    sudo echo 0 > /sys/devices/system/cpu/cpu1/online
    But I have a bash message "Permission not allowed"
  • jc
    permission issue can be resolved via:
    echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online
  • Gleepwurp
    Thanks for the Tip! I was actually enabling my cores via the BIOS Setup! Now, if theyh can just come out with a SMP-compatible Cisco VPN Client...
  • patou
    Well, I am having the same issue, but I am not sure mine is related to SMP...

    I disabled the second CPU both through the BIOS and by using the suggested command (sudo echo 0 > /sys/devices/system/cpu/cpu1/online) without any success.

    Some people mentionned it might be related to the Kernel version...

    I just hope someone will come up with a good fix soon; I need the VPN to work...
  • bell1996
    I was experiencing this same problem when using my wifi with Cisco VPN. Worked okay with ethernet interface. I tried your solution above and it worked!!! Been looking for a solution for the past 4 months. Thanks!!
  • boynas
    This is before loading the kernel module???

    This means that loading the module at startup will be stupid since I got kernel panic only while using the Wifi!

    I remember I tried this long time ago, but I think that I was disabling the core while the module was loaded just after "vpnclient connect XXXX". Can you confirm this?
  • Hmm, i'm not sure whether a core should be turn off before or after loading Cisco module. But definitely before connecting.

    If a cpu core must be turn off before module loading, you can add the off-command to "start" section in vpnclient_init script, and add on-command to "stop" section.
  • boynas
    I am very interested in creating this script. Can you point me in a good direction to learn to do it?

    /etc/init.d/vpn_init is a script, so , I could edit it?

    Thanks for all your help!
  • boynas
    Neither:

    sudo echo 0 > /sys/devices/system/cpu/cpu1/online

    or

    echo 1 | sudo tee /sys/devices/system/cpu/cpu1/online

    worked, both gave me permission problems!

    Any ideas?
  • I've experiencing this freeze problem only when I use vpnclient over a wifi connection, not over a wired connection.

    I've been using this solution for a while, after finding it here. I mentioned my problems to a friend of mine and he suggested playing with processor affinity - assigning the vpnclient to a particular CPU.

    I've had a pretty good success this evening.

    Check out the command
    taskset

    and assign vpnclient to processor 0
    taskset -pc 0 vpnclient connect PCF_file
  • Very interesting ! Thanks a lot for mentioning this command. I haven't even heard about it before.
  • i haven't applied this line of command.i'm learning new things from you.thanks
  • Jack
    By far this article and the corresponding comments are the best info on this subject on the web. I've suffered with this issue for over a year - and still do unfort.

    I've tried EVERYTHING. Can't get OpenVPN or vpnc to work. I get a panic with cisco with wifi or ethernet on a duo core system (Lenovo T60) or on a single cpu Comcrap Presario.

    I have upgraded my kernel from 2.6.24.x to 2.6.31.x. Still no luck - though, interestingly enough Mandriva 2010 provides a cisco client with cpu1 shutdown commands built-in. Still doesn't help me though.

    I've tried shutting down cpu1 on my Lenovo and I still have the issue. I haven't tried loading cisco before the shutdown nor have I tried the cpu affinitytaskset trick. Sounds promising.
blog comments powered by Disqus