linux-avmb1:Re: B1 ISA Kernel 2.6.1

Carsten Paeth calle at calle.in-berlin.de
Mon Jan 26 08:55:01 CET 2004


Hallo.

Die entscheidene Fehlermeldung:

> kcapi: manufacturer command 11 unknown.

Mit dem angehängten patch für kcapi.c sollte es besser aussehen.

calle

Mon, Jan 26, 2004 at 12:11:52AM +0100, Joerg de la Haye schrieb:
> Halloechen,
> 
> hier kommt die gewuenschte Rueckmeldung, ist aber eher ein Hilferuf!
> 
> 
> Es geht um eine AVM B1 ISA Karte.
> Ich habe einen 2.6.1er Kernel mit eingespieltem Patch (dieses hier: 
> ftp://ftp.in-berlin.de/pub/capi4linux/v2.6/avmcards-linux.2.6.1.diff.gz), 
> ausserdem habe ich capiinit, avmcapictl und capiinfo neu compiliert (von 
> diesem Sourcen: 
> ftp://ftp.in-berlin.de/pub/capi4linux/capi4k-utils-2004-01-16.tar.gz).
> Patchen und neucompilieren lief recht problemlos, "capiinit start" laedt zwar 
> alle Module korrekt, bringt aber folgende Meldung:
> 
> ERROR: add_card(b1isa) failed - Invalid argument (22)
> 
> !! CHECK THE KERNEL MESSAGES BEFORE SENDING MAIL !!
> 
> 
> 
>  "dmesg" ergibt dieses hier:
> 
> CAPI Subsystem Rev 1.21.6.8
> capifs: Rev 1.14.6.8
> capi20: Rev 1.1.4.1.2.2: started up with major 68 (middleware+capifs)
> b1: revision 1.1.4.1.2.1
> b1isa: revision 1.1
> kcapi: manufacturer command 11 unknown.
> 
> 
> 
> lsmod gibt folgendes zurueck:
> 
> Module                  Size  Used by
> b1isa                   8464  0
> b1                     24384  1 b1isa
> capi                   18752  0
> capifs                  5608  2 capi
> kernelcapi             47520  3 b1isa,b1,capi
> 
> 
> 
> Soweit, so gut, "capiinit show" bringt genau das, was ich unter /etc/capi.conf 
> eingetragen habe:
> 
> driver  firmware        proto   io      irq     mem     cardnr  options
> b1isa   b1.t4           DSS1    0x150   12      -       -       P2P
> 
> 
> 
> "capiinit status" bringt gar keinen Output.
> 
> 
> Ich setze Debian testing (Sarge) ein, der Kernel ist der 2.6.1er von 
> kernel.org. Falls Du noch weitere Logs & Infos brauchst, sag' Bescheid, die 
> kommen sofort ;-). Fuer einen Tip waere ich sehr dankbar.
> 
> Gruss,
> Joerg
> 
-------------- next part --------------
--- kcapi.c.old	2004-01-16 12:04:38.000000000 +0100
+++ kcapi.c	2004-01-26 08:45:59.000000000 +0100
@@ -910,6 +910,43 @@
 			card->cnr, card->traceflag);
 		return 0;
 	}
+	case KCAPI_CMD_ADDCARD:
+	{
+		struct list_head *l;
+		struct capi_driver *driver = 0;
+		capicardparams cparams;
+		kcapi_carddef cdef;
+		int retval;
+
+		if ((retval = copy_from_user((void *) &cdef, data,
+							sizeof(cdef))))
+			return retval;
+
+		cparams.port = cdef.port;
+		cparams.irq = cdef.irq;
+		cparams.membase = cdef.membase;
+		cparams.cardnr = cdef.cardnr;
+		cparams.cardtype = 0;
+		cdef.driver[sizeof(cdef.driver)-1] = 0;
+
+		list_for_each(l, &capi_drivers) {
+			driver = list_entry(l, struct capi_driver, list);
+			if (strcmp(driver->name, cdef.driver) == 0)
+				break;
+		}
+		if (driver == 0) {
+			printk(KERN_ERR "kcapi: driver \"%s\" not loaded.\n",
+					cdef.driver);
+			return -ESRCH;
+		}
+
+		if (!driver->add_card) {
+			printk(KERN_ERR "kcapi: driver \"%s\" has no add card function.\n", cdef.driver);
+			return -EIO;
+		}
+
+		return driver->add_card(driver, &cparams);
+	}
 
 	default:
 		printk(KERN_ERR "kcapi: manufacturer command %d unknown.\n",


More information about the linux-avmb1 mailing list