Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I tried installing cisco vpnclient in my linux embedded device running vmlinux compiled from linux-2.6.39. I could successfully insert driver 'cisco_ipsec.ko' . however, while inserting it showed the log

cipsec0: Features changed: 0x00004800 -> 0x00004000

Cisco Systems VPN Client Version 4.8.02 (0030) kernel module loaded

which I ignored. But then while doing 'vpnclient verify', I got kernel oops. Logs below:

Cisco Systems VPN Client Version 4.8.02 (0030) kernel module loaded
logrotate due, not forced
BUG: unable to handle kernel paging request at fc61ae98
IP: [<c1026cf7>] task_rq_lock+0x27/0x70
*pdpt = 00000000017a3001 *pde = 0000000000000000
Thread overran stack, or stack corrupted
Oops: 0000 [#1] PREEMPT SMP
last sysfs file: /sys/devices/virtual/net/cipsec0/uevent
Modules linked in: cisco_ipsec(P) fusion hardwareinfo gp500 intelce3100_io intelce3100_spi pd_hdmi SiI9XXX vidcap_ce4X00 sec_kernel ismdavcap_shim zvbi_intelce ismdvidenc ismdmux ismdviddec_v3 ismddemux_v3 ismdces_viddec_mux ismdces_vidparse_videnc ismdces_router ismdvidrend ismdvidpproc ismdremux ismdbufmon ismdaudio ismdclock_recovery pvrsrvkm pd_inttvenc_comp pd_inttvenc_cvbs gdl_server gen_timer ismdclock ismdcore ioctl_module mspod_drv intel_pic_uart intel_ce_pm iosf clock_control edl_thermal pace_spi_drv_linux intel_ce_flash sven_linux avcap_core system_utils_linux idl_smartcard idl_gpio idl_i2c idl_spi platform_config pal_linux osal_linux cosai_soc_utils cosai_irqproxy [last unloaded: cisco_ipsec]

Pid: -845642624, comm:  Tainted: P            2.6.39 #1
EIP: 0060:[<c1026cf7>] EFLAGS: 00010082 CPU: 0
EIP is at task_rq_lock+0x27/0x70
EAX: cebbac96 EBX: c179be40 ECX: 00000000 EDX: cd979730
ESI: cec02db0 EDI: cd989ef0 EBP: cd979730 ESP: cd979704
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
Process  (pid: -845642624, ti=cd978000 task=cd988370 task.ti=ce92e6b8)

Stack:
 cd989ef0 cec02db0 cec02d80 0000000f c102d2a1 cd99df60 cec02db8 00000002
 00000000 c1246a25 cd99df60 00000082 cd99df60 cec02db0 cec02d80 c104dbd0
 c104dbe5 c104dd58 00000000 cec02d84 0000002c 7aa7e623 00000083 c104e565
Call Trace:

 [<c102d2a1>] ? try_to_wake_up+0x31/0x2f0
 [<c1246a25>] ? timerqueue_del+0x25/0x70
 [<c104dbd0>] ? update_rmtp+0x80/0x80
 [<c104dbe5>] ? hrtimer_wakeup+0x15/0x20
 [<c104dd58>] ? __run_hrtimer.clone.31+0x48/0xd0
 [<c104e565>] ? hrtimer_interrupt+0x185/0x270
 [<c1019ffe>] ? smp_apic_timer_interrupt+0x4e/0x90
 [<c1561d4e>] ? apic_timer_interrupt+0x2a/0x30
 [<c10a196f>] ? __kmalloc+0x6f/0x160
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e7912748>] ? INTER_CNI_Allocate_Buffer+0x48/0xf0 [cisco_ipsec]
 [<e7912397>] ? do_cni_send+0xc7/0x240 [cisco_ipsec]

 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]

 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
Code: 00 00 00 00 83 ec 10 89 7c 24 08 89 c7 89 6c 24 0c 89 d5 89 74 24 04 89 1c 24 bb 40 be 79 c1 9c 58 fa 89 45 00 8b 47 04 8b 40 10 <8b> 34 85 40 fc 72 c1 01 de 89 f0 e8 89 a6 53 00 8b 47 04 8b 40
EIP: [<c1026cf7>] task_rq_lock+0x27/0x70 SS:ESP 0068:cd979704
CR2: 00000000fc61ae98
---[ end trace 2f149dab3380c9f4 ]---
Kernel panic - not syncing: Fatal exception in interrupt
Pid: -845642624, comm:  Tainted: P      D     2.6.39 #1
Call Trace:
 [<c155ef03>] ? panic+0x61/0x13f
 [<c1005b76>] ? oops_end+0x86/0x90
 [<c1021b20>] ? no_context+0xc0/0x190
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1021d3f>] ? bad_area_nosemaphore+0xf/0x20
 [<c1022176>] ? do_page_fault+0x256/0x3f0
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e791279e>] ? INTER_CNI_Allocate_Buffer+0x9e/0xf0 [cisco_ipsec]
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1561f6e>] ? error_code+0x5a/0x60
 [<c1021f20>] ? vmalloc_sync_all+0x10/0x10
 [<c1026cf7>] ? task_rq_lock+0x27/0x70
 [<c102d2a1>] ? try_to_wake_up+0x31/0x2f0
 [<c1246a25>] ? timerqueue_del+0x25/0x70
 [<c104dbd0>] ? update_rmtp+0x80/0x80
 [<c104dbe5>] ? hrtimer_wakeup+0x15/0x20
 [<c104dd58>] ? __run_hrtimer.clone.31+0x48/0xd0
 [<c104e565>] ? hrtimer_interrupt+0x185/0x270
 [<c1019ffe>] ? smp_apic_timer_interrupt+0x4e/0x90
 [<c1561d4e>] ? apic_timer_interrupt+0x2a/0x30
 [<c10a196f>] ? __kmalloc+0x6f/0x160
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e79125eb>] ? kernel_alloc+0x1b/0x50 [cisco_ipsec]
 [<e7912748>] ? INTER_CNI_Allocate_Buffer+0x48/0xf0 [cisco_ipsec]
 [<e7912397>] ? do_cni_send+0xc7/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
 [<e79124e3>] ? do_cni_send+0x213/0x240 [cisco_ipsec]
 [<e7912766>] ? INTER_CNI_Allocate_Buffer+0x66/0xf0 [cisco_ipsec]
share|improve this question
    
Which "embedded device" are we talking about here? Has the manufacturer made their version of Linux available to download (as they are required to under the GPL)? They may/probably have patched the kernel in a number of ways requiring you to compile your module against their patched source. –  Colin 't Hart Oct 24 '12 at 15:31

1 Answer 1

Have you tried using vpnc instead? vpnc is open source; Cisco's own VPNclient is closed source. Closed source kernel modules have a bad reputation of breaking on newer kernels. Considering that 2.6.39 is not particularly new, it still is new enough that Cisco's release of the vpnclient may not be supporting that kernel correctly. vpnc provides similar functionality but does not depend on any closed source components, allowing you to recompile it to support your own environment. Better yet, vpnc uses the tun driver which is built into the mainline Linux kernel, so it does not need its own custom kernel module.

Also, the comment made by Colin 't Hart may be correct, that your "embedded device" vendor may have kernel customizations which are incompatible with this kernel module. I would hope that such incompatibilities would come out during compile-time and prevent you from building the module in the first place, but that does not necessarily have to be the case.

share|improve this answer
    
Thanks for the comments .. This device is a settop box running embedded linux and they do have patches applied.. But you are right, those dependencies came in compile time and insmod time itself. So i will try with vpnc. –  user1395887 Oct 24 '12 at 16:16
    
sorry.. i dont undrstand this statement .. "uses the tun driver which is built into the mainline Linux kernel, so it does not need its own custom kernel module" - I have to donload this tun source code and build a .ko using my customised linux kernel as source right.? –  user1395887 Oct 24 '12 at 17:07
    
Also I couldnt find this tun source code anywhere.. Am I missing someing here.? Is t not supposed to get compiled by us.? –  user1395887 Oct 24 '12 at 17:12
    
The tun kernel module (driver) is part of the main Linux kernel. If it isn't available on your system with e.g. modprobe tun then your kernel build didn't provide it, which stinks... but I think you can recompile your kernel and just enable it. –  allquixotic Oct 24 '12 at 17:30
    
ohhkkk.. thanks so much –  user1395887 Oct 25 '12 at 13:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.