The hardware is an OpenVox PCI card with a single FXO module (pciconf -vl says: "wcfxs0@pci2:11:0: class=0x078000 card=0x0003b100 chip=0x0001e159 rev=0x00 hdr=0x00").
This PC with FreeBSD 6.3 had been running a Ports-compiled Asterisk 1.4.16.x succesfully for almost three months, but this morning, although Asterisk itself seemed fined, the Zaptel interface stopped taking calls. Stopping/restarting Zaptel using /usr/local/etc/rc.d/zaptel stop-start didn't let things recover.
Since I didn't know better, I had to reboot the host to get things working. I used this opportunity to upgrade to Asterisk 1.4.20.1_1 and Zaptel 1.4.6_5.
At this point, the host is running again, but I can't restart the card using the standard script /usr/local/etc/rc.d/zaptel restart:
Here are /var/log/messages and /var/log/asterisk/messages, respectively:
[code:1]
Jun 18 12:27:41 freebsd kernel: FXS detach!
Jun 18 12:27:41 freebsd kernel: wcfxs0: detached
Jun 18 12:27:41 freebsd kernel: Removing device entry for Tau32-PCI
Jun 18 12:27:41 freebsd kernel: Unloaded kld character device driver
Jun 18 12:27:41 freebsd kernel: Zapata Telephony Interface Unloaded
Jun 18 12:27:45 freebsd kernel: Zapata Telephony Interface Registered on major 196
Jun 18 12:27:45 freebsd kernel: Echo Canceller: MG2
Jun 18 12:27:46 freebsd kernel: FXS device: vendor=e159 device=1 subvendor=b100
Jun 18 12:27:46 freebsd kernel: wcfxs0: <Wildcard TDM400P REV E/F> port 0xb400-0xb4ff mem 0xf5000000-0xf5000fff irq 9 at device 11.0 on pci2
Jun 18 12:27:46 freebsd kernel: FXS Attach for wcfxs0: deviceID : 0xe159
Jun 18 12:27:46 freebsd kernel: wcfxs0: [FAST]
Jun 18 12:27:46 freebsd kernel: Freshmaker version: 71
Jun 18 12:27:46 freebsd kernel: Freshmaker passed register test
Jun 18 12:27:47 freebsd kernel: VoiceDAA did not bring up ISO link properly!
Jun 18 12:27:47 freebsd kernel: Module 0: Not installed
Jun 18 12:27:47 freebsd kernel: ProSLIC sanity check failed
Jun 18 12:27:47 freebsd kernel: Module 1: Not installed
Jun 18 12:27:47 freebsd kernel: ProSLIC sanity check failed
Jun 18 12:27:47 freebsd kernel: Module 2: Not installed
Jun 18 12:27:47 freebsd kernel: ProSLIC sanity check failed
Jun 18 12:27:47 freebsd kernel: Module 3: Not installed
Jun 18 12:27:47 freebsd kernel: FXS detach!
Jun 18 12:27:47 freebsd kernel: We failed: 5
Jun 18 12:27:47 freebsd kernel: device_attach: wcfxs0 attach returned 5
[/code:1]
[code:1]
[Jun 18 12:23:38] NOTICE[80216] cdr.c: CDR simple logging enabled.
[Jun 18 12:23:38] NOTICE[80216] loader.c: 148 modules will be loaded.
[Jun 18 12:23:39] WARNING[80216] res_smdi.c: No SMDI interfaces are available to listen on, not starting SMDI listener.
[Jun 18 12:23:40] ERROR[80216] netsock.c: Unable to bind to 0.0.0.0 port 4569: Address already in use
[Jun 18 12:23:40] ERROR[80216] chan_iax2.c: Unable to create network socket: Address already in use
[Jun 18 12:23:40] WARNING[80216] chan_mgcp.c: Failed to bind to 0.0.0.0:2727: Address already in use
[Jun 18 12:23:40] WARNING[80216] chan_sip.c: Failed to bind to 0.0.0.0:5060: Address already in use
[Jun 18 12:23:40] WARNING[80216] chan_skinny.c: Failed to bind to 0.0.0.0:2000: Address already in use
[Jun 18 12:23:40] WARNING[80216] chan_zap.c: Unable to specify channel 1: Device busy
[Jun 18 12:23:40] ERROR[80216] chan_zap.c: Unable to open channel 1: Device busy
here = 0, tmp->channel = 1, channel = 1
[Jun 18 12:23:40] ERROR[80216] chan_zap.c: Unable to register channel '1'
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: Starting AEL load process.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: calculated config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: parsed config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: checked config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: compiled config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: merged config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] NOTICE[80216] pbx_ael.c: AEL load process: verified config file name '/usr/local/etc/asterisk/extensions.ael'.
[Jun 18 12:23:40] ERROR[80216] pbx_dundi.c: Unable to bind to 0.0.0.0 port 4520: Address already in use
[/code:1]
Has someone seen this before? Any idea what happened, and what to do to reduce the probability that it happens again? For instance, since it's a low-use host, I don't mind running a CRON job to stop/start the driver a couple of times a day to keep things running. Also, is there a way to monitor the card to keep an eye on it?
I had the same type of problem again: On a FreeBSD 6.3 host, Asterisk would stop answering calls through the OpenVox FXO card, and FreeBSD failed restarting Asterisk, or even unloading the Zaptel driver:
# /usr/local/etc/rc.d/zaptel stop
zaptelkldunload: can't find file wcte12xp.ko: No such file or
directory
kldunload: can't find file wcte11xp.ko: No such file or directory
kldunload: can't find file wct4xxp.ko: No such file or directory
kldunload: can't find file wct1xxp.ko: No such file or directory
kldunload: can't unload file: Device busy
kldunload: can't find file wcfxo.ko: No such file or directory
kldunload: can't find file tau32pci.ko: No such file or directory
kldunload: can't find file qozap.ko: No such file or directory
kldunload: can't unload file: Device busy
Sep 6 19:11:12 freebsd kernel: kldunload: attempt to unload file that
was loaded by the kernel
# kldstat
Id Refs Address Size Name
1 9 0xc0400000 7a05b0 kernel
2 1 0xc0ba1000 5c304 acpi.ko
12 1 0xc2d6c000 19000 linux.ko
13 1 0xc3ba9000 32000 zaptel.ko
17 1 0xc3c0d000 a000 wcfxs.ko
# kldunload -i 13
kldunload: can't unload file: Device busy
# kldunload -i 17
kldunload: can't unload file: Device busy
Do you think it's a hardware issue? Besides buying a new one, are there things I could try before rebooting?