On 10/21/05 01:03 Daniel Nielsen said the following:
We've got some problems with the Zaptel FreeBSD driver. Our
setup is:

HP ProLiant DL360, 1GB Ram, 2 x 3GHz Xeon (G4).
When the driver is loaded, the red flashing light stops on
the card.

what version of freebsd ?

if you're on freebsd 4.x, you'd need the following patch to the 4.x branch sources of the wct4xxp.c driver, as the current macro expansion for DECLARE_MODULE/MODULE_DEPEND needs t4_load() defined before it works. without this patch, a kldload would panic the system.

in addition, i'm investigation a condition where the use of INTR_TYPE_FAST/INTR_FAST would cause a kernel panic if shared interrupts were present. this can be avoided (i think !) by removing the RF_SHAREABLE flag in the call to bus_alloc_resource(). i've noticed that adding INTR_TYPE_FAST on freebsd 4.x with shared interrupts will cause a kernel panic when asterisk is started, though kldload and ztcfg go ok.

the freebsd driver docs state that INTR_TYPE_FAST can only be used when interrupts are not shared.

diff -ur src/zaptel-freebsd-0.11/wct4xxp/wct4xxp.c zaptel-bsd-trunk/wct4xxp/wct4xxp.c
--- src/zaptel-freebsd-0.11/wct4xxp/wct4xxp.c   Thu Oct 13 04:50:18 2005
+++ zaptel-bsd-trunk/wct4xxp/wct4xxp.c  Fri Oct 21 06:08:53 2005
@@ -3107,6 +3094,22 @@

 static devclass_t t4_devclass;

+static int t4_load(module_t mod, int cmd, void *arg) {
+    int err = 0;
+    switch(cmd) {
+    case MOD_LOAD:
+       err = driver_module_handler(mod, cmd, arg);
+       break;
+    case MOD_UNLOAD:
+       err = driver_module_handler(mod, cmd, arg);
+       break;
+    default:
+       err = EINVAL;
+       break;
+    }
+    return err;
+};
+
 #if __FreeBSD_version < 500000
 #define driver_module_handler  t4_load
 MODULE_DEPEND(wct4xxp, zaptel, 1, 1, 1);
@@ -3129,22 +3132,6 @@
 DECLARE_MODULE(wct4xxp, t4_pci_mod, SI_SUB_DRIVERS, SI_ORDER_MIDDLE);
 #endif

-static int t4_load(module_t mod, int cmd, void *arg) {
-    int err = 0;
-    switch(cmd) {
-    case MOD_LOAD:
-       err = driver_module_handler(mod, cmd, arg);
-       break;
-    case MOD_UNLOAD:
-       err = driver_module_handler(mod, cmd, arg);
-       break;
-    default:
-       err = EINVAL;
-       break;
-    }
-    return err;
-};
-

--
Regards,                           /\_/\   "All dogs go to heaven."
[EMAIL PROTECTED]                (0 0)    http://www.alphaque.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do                                        |
|   for b in clients employers associates relatives neighbours pets; do   |
|   echo "The opinions here in no way reflect the opinions of my $a $b."  |
| done; done                                                              |
+=========================================================================+
_______________________________________________
Asterisk-BSD mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-bsd

Reply via email to