Cisco vpnclient no dispositivo embutido Linux causa oops oops

1

Eu tentei instalar o Cisco vpnclient no meu dispositivo Linux incorporado executando o vmlinux compilado a partir do linux-2.6.39. Eu poderia inserir com sucesso o driver 'cisco_ipsec.ko'. no entanto, enquanto a inserção mostrava o log

cipsec0: Features changed: 0x00004800 -> 0x00004000

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

que eu ignorei. Mas enquanto fazia 'vpnclient verify', eu obtinha o kernel oops. Registros abaixo:

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]
    
por deeps8us 24.10.2012 / 16:41

1 resposta

0

Você já tentou usar vpnc ? vpnc é código aberto; O próprio cliente VPN da Cisco é de código fechado. Módulos de kernel de código fechado têm uma má reputação de quebrar em novos kernels. Considerando que o 2.6.39 não é particularmente novo, ele ainda é novo o suficiente para que o lançamento do vpnclient pela Cisco não esteja suportando o kernel corretamente. vpnc fornece funcionalidade semelhante, mas não depende de nenhum componente de código fechado, permitindo que você a recompile para suportar seu próprio ambiente. Melhor ainda, vpnc usa o driver tun que é embutido no kernel Linux da linha principal, então ele não precisa de seu próprio módulo de kernel personalizado.

Além disso, o comentário feito por Colin 't Hart pode estar correto, que seu fornecedor de "dispositivo embutido" pode ter personalizações de kernel que são incompatíveis com este módulo do kernel. Espero que tais incompatibilidades saiam durante o tempo de compilação e impeçam você de construir o módulo, mas isso não precisa necessariamente ser o caso.

    
por 24.10.2012 / 17:40