keywords: ip pbx voip gateway gsm gateway

×

Notice

The forum is in read only mode.
× Technical information on install and config asterisk, zaptel under different OSs

BUG: soft lockup detected on CPU#0!

17 years 8 months ago #108 by miaolin
We already find in some linux distribution, the system will report a error when installing tdm card driver( include A400P, TDM400P, A1200P), like:

/var/log/syslog
....
....
Sep 4 22:16:03 localhost kernel: OpenVox A1200P version: 1.2
Sep 4 22:16:03 localhost kernel: OpenVox A1200P passed register test
Sep 4 22:16:03 localhost kernel: Module 0: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 1: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 2: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 3: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 4: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Timeout waiting for calibration of module 5
Sep 4 22:16:03 localhost kernel: BUG: soft lockup detected on CPU#0!
Sep 4 22:16:03 localhost kernel:
Sep 4 22:16:03 localhost kernel: Pid: 1800, comm: modprobe
Sep 4 22:16:03 localhost kernel: EIP: 0060:[pg0+535154697/1070068736] CPU: 0
Sep 4 22:16:03 localhost kernel: EIP is at wctdm_getreg+0x16d/0x54c [opvxa1200]
Sep 4 22:16:03 localhost kernel: EFLAGS: 00000282 Not tainted (2.6.15)
Sep 4 22:16:03 localhost kernel: EAX: 0000001f EBX: e01a4000 ECX: 0000001f EDX: e01a4000
Sep 4 22:16:03 localhost kernel: ESI: e01a4000 EDI: df210000 EBP: 0000001f DS: 007b ES: 007b
Sep 4 22:16:03 localhost kernel: CR0: 8005003b CR2: b7dd3000 CR3: 1e574000 CR4: 000006d0
Sep 4 22:16:03 localhost kernel: [pg0+535152403/1070068736] wctdm_init_proslic+0x713/0x8ea [opvxa1200]
Sep 4 22:16:03 localhost kernel: [pg0+535176690/1070068736] wctdm_hardware_init+0x289/0x64d [opvxa1200]
Sep 4 22:16:03 localhost kernel: [pg0+535170922/1070068736] wctdm_init_one+0x294/0x661 [opvxa1200]
Sep 4 22:16:03 localhost kernel: [pg0+535172368/1070068736] wctdm_interrupt+0x0/0xcf2 [opvxa1200]
Sep 4 22:16:03 localhost kernel: [pci_call_probe+15/18] pci_call_probe+0xf/0x12
Sep 4 22:16:03 localhost kernel: [__pci_device_probe+51/71] __pci_device_probe+0x33/0x47
Sep 4 22:16:03 localhost kernel: [pci_device_probe+31/52] pci_device_probe+0x1f/0x34
Sep 4 22:16:03 localhost kernel: [driver_probe_device+55/129] driver_probe_device+0x37/0x81
Sep 4 22:16:03 localhost kernel: [__driver_attach+0/54] __driver_attach+0x0/0x36
Sep 4 22:16:03 localhost kernel: [__driver_attach+36/54] __driver_attach+0x24/0x36
Sep 4 22:16:03 localhost kernel: [bus_for_each_dev+71/109] bus_for_each_dev+0x47/0x6d
Sep 4 22:16:03 localhost kernel: [kobject_add+100/131] kobject_add+0x64/0x83
Sep 4 22:16:03 localhost kernel: [driver_attach+20/24] driver_attach+0x14/0x18
Sep 4 22:16:03 localhost kernel: [__driver_attach+0/54] __driver_attach+0x0/0x36
Sep 4 22:16:03 localhost kernel: [__driver_attach+0/54] __driver_attach+0x0/0x36
Sep 4 22:16:03 localhost kernel: [bus_add_driver+84/150] bus_add_driver+0x54/0x96
Sep 4 22:16:03 localhost kernel: [driver_register+52/57] driver_register+0x34/0x39
Sep 4 22:16:03 localhost kernel: [__wake_up+20/30] __wake_up+0x14/0x1e
Sep 4 22:16:03 localhost kernel: [__pci_register_driver+119/136] __pci_register_driver+0x77/0x88
Sep 4 22:16:03 localhost kernel: [pg0+534130853/1070068736] wctdm_init+0xa5/0xb6 [opvxa1200]
Sep 4 22:16:03 localhost kernel: [sys_init_module+170/358] sys_init_module+0xaa/0x166
Sep 4 22:16:03 localhost kernel: [syscall_call+7/11] syscall_call+0x7/0xb
Sep 4 22:16:03 localhost kernel: Timeout waiting for calibration of module 5
Sep 4 22:16:03 localhost kernel: Proslic Failed on Second Attempt to Auto Calibrate
Sep 4 22:16:03 localhost kernel: Init ProSlic with Manual Calibration
Sep 4 22:16:03 localhost kernel: Proslic Failed on Second Attempt to Calibrate Manually. (Try -DNO_CALIBRATION in Makefile)
Sep 4 22:16:03 localhost kernel: Module 5: FAILED FXS (FCC)
Sep 4 22:16:03 localhost kernel: Module 6: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 7: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 8: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 9: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 10: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Module 11: Installed -- AUTO FXS/DPO
Sep 4 22:16:03 localhost kernel: Found a OpenVox A1200P: Version 1.2 (11 modules)
Sep 4 22:16:03 localhost kernel: buffer re-sync occur from 0 to 2
Sep 4 22:16:03 localhost kernel: Registered tone zone 16 (Sweden)


In our test system, which is a 2.6.17-1.2139_FC5 or 2.6.17-1.2153_FC5 the error is like:

Sep 5 15:09:45 mllinux kernel: OpenVox A1200P version: 1.2
Sep 5 15:09:45 mllinux kernel: OpenVox A1200P passed register test
Sep 5 15:09:45 mllinux kernel: Module 0: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 1: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 2: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 3: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 4: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 5: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 6: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 7: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: BUG: soft lockup detected on CPU#0!
Sep 5 15:09:45 mllinux kernel: <c043daa5> softlockup_tick+0x90/0xa1 <c0423d4c> update_process_times+0x35/0x57
Sep 5 15:09:45 mllinux kernel: <c0406134> timer_interrupt+0x60/0x98 <c043db42> handle_IRQ_event+0x23/0x4c
Sep 5 15:09:45 mllinux kernel: <c043dbe7> __do_IRQ+0x7c/0xd1 <c0405035> do_IRQ+0x63/0x80
Sep 5 15:09:45 mllinux kernel: =======================
Sep 5 15:09:45 mllinux kernel: <c04036f2> common_interrupt+0x1a/0x20 <c0601941> _spin_unlock_irqrestore+0xa/0xc
Sep 5 15:09:45 mllinux kernel: <e097264a> wctdm_init_proslic+0x5da/0xd20 [opvxa1200] <e09733d0> wctdm_hardware_init+0x640/0x1530 [opvxa1200]
Sep 5 15:09:45 mllinux kernel: <c043de6b> setup_irq+0xd4/0xe3 <e0974ea0> wctdm_interrupt+0x0/0x1420 [opvxa1200]
Sep 5 15:09:45 mllinux kernel: <c043dee9> request_irq+0x6f/0x8b <e0974993> wctdm_init_one+0x6d3/0xbe0 [opvxa1200]
Sep 5 15:09:45 mllinux kernel: <c053d7d9> __driver_attach+0x0/0x8b <c04dfbfb> pci_device_probe+0x36/0x57
Sep 5 15:09:45 mllinux kernel: <c053d715> driver_probe_device+0x45/0x9a <c053d83c> __driver_attach+0x63/0x8b
Sep 5 15:09:45 mllinux kernel: <c053d1a7> bus_for_each_dev+0x37/0x59 <c053d676> driver_attach+0x16/0x18
Sep 5 15:09:45 mllinux kernel: <c053d7d9> __driver_attach+0x0/0x8b <c053cead> bus_add_driver+0x6f/0x10d
Sep 5 15:09:45 mllinux kernel: <c04dfd9f> __pci_register_driver+0x5b/0x7d <e082e050> wctdm_init+0x50/0xaf [opvxa1200]
Sep 5 15:09:45 mllinux kernel: <c0426da8> blocking_notifier_call_chain+0x33/0x49 <c0433a61> sys_init_module+0x134f/0x14b2
Sep 5 15:09:45 mllinux kernel: <c0420ddc> __request_region+0x0/0x7f <c0402cb3> syscall_call+0x7/0xb
Sep 5 15:09:45 mllinux kernel: Module 8: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 9: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 10: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Module 11: Installed -- AUTO FXS/DPO
Sep 5 15:09:45 mllinux kernel: Found a OpenVox A1200P: Version 1.2 (12 modules)

We find such a issue is caused by:

When linux try to call the wctdm_init_one as it want to install a driver for the hardware, it might have a timer in kernel , and if wctdm_init_one can not return in 10 seconds, it will report a BUG: soft lockup detected on CPU#0!.

But at that time, wctdm_init_proslic is running, so it will cause a module can not be installed. If you are using FXO modules, because the module initialize is very fast, so it will not have issue, only FXS module will have such issue because it have to take very long time to do the initialize.

Solution one:
Add this line at the beginning of opvxa1200p.c

#define NO_CALIBRATION

The driver will omit calibration operation , thus can save some time when initialize, so the wctdm_init_one will return in 10 seconds, the system will not report bug.

Solution two:

Add 15 seconds delay at the beginning of wctdm_hardware_init, so the error will occur before proslic initializing, thus will not cause the slic channel failed to initialize, but the system still report a bug, in my system, it is ok to omit such a report, system will still work fine. In opvxa1200.c, modify the code as below:

static int wctdm_hardware_init(struct wctdm *wc)

{

/* Hardware stuff */

unsigned char ver;

unsigned char x,y;

int failed;

long origjiffies; //ml.



/* Signal Reset */

//printk("before raise reset\n");

outb(0x01, wc->ioaddr + WC_CNTL);



/* Wait for 2 second */

/**/

origjiffies = jiffies;



while(1)

{

if ((jiffies - origjiffies) >= (HZ*5*6))

break;;

}



printk("after raise reset\n");



/* Check OpenVox chip */

x=inb(wc->ioaddr + WC_CNTL);



……
15 years 5 months ago #2239 by vmiro
I'm using the first solution, now I'm getting message:
"Uhhuh. NMI received. Dazed and confused, but trying to continue. You probably have a hardware problem with your RAM chips..."

Somethimes computer freezes, usualy after using some of the phones atached on FXS port...


Setup:
Asterisk 1.4.22
Zaptel 1.4.11
1x B400E
2x A1200P
15 years 5 months ago #2258 by miaolin
In this case, please check the power supply, is enough to drive the FXS port or not.
15 years 5 months ago #2259 by vmiro
Rated Steady-State Power: 1000 W (at 200-240 VAC)
I'm using HP ML350

Can you recommend me some stable combination of OS distribution/version and zaptel, asterisk,mISDN drivers?
15 years 5 months ago #2260 by miaolin
If you have to use xeon cpu, please try intel 5000v series.

otherwise can use Asus Desktop series boards(intel chipset) plus core 2 duo E6600 or E8200
15 years 5 months ago #2261 by vmiro
ML350 uses 5000z chipset :|
What's the best OS-drivers konfiguration?
Time to create page: 0.040 seconds
Powered by Kunena Forum