# 2.6.0-test9 und Capi

## topperharly

Hallo,

ich versuche nun seit etlichen Tagen meine ISDN Karte (AVM Fritzcard)

zu aktivieren und mit ihr ein paar Faxe verschicken.

Momentan scheitere ich daran, das das Capi -interface nicht zur verfügung steht. (beim Aufruf von "capifaxrcvd -l xxxxxx /tmp"

Folgendes Funktioniert: 

insmod /lib/modules/2.6.0-test9-gentoo/kernel/drivers/isdn/capi/kernelcapi.ko

insmod /lib/modules/2.6.0-test9-gentoo/kernel/drivers/isdn/capi/capi.ko

insmod /lib/modules/2.6.0-test9-gentoo/kernel/drivers/isdn/capi/capifs.ko

Bei 

insmod /lib/modules/2.6.0-test9-gentoo/kernel/drivers/isdn/capi/capidrv.ko

gibt es folgende Fehlermeldung:

Error inserting '/lib/modules/2.6.0-test9-gentoo/kernel/drivers/isdn/capi/capidrv.ko': -1 Unknown symbol in module

Auch ein "capiinit start" funktioniert nicht:

FATAL: Module kernelcapi already in kernel.

ERROR: cannot load module kernelcapi

Wenn vorher kernelcapi.ko nicht geladen wird sagt er nur:

ERROR: cannot load module kernelcapi

Hat jemand überhaupt die Capi unter 2.6.0 funktional in Betrieb.

Hat jemand einen Denkanstoss für mich??

Gruss Andreas

----------

## DocGonzo

Das ganze scheitert im Moment vor allem daran, daß sich die Kartentreiber von AVM nicht mit Kernel 2.6 übersetzen lassen. Auch mit isdn4linux hab ich meine Fritzcard bisher nicht zum laufen gebracht. Es gibt in diesem Forums schon einige Threads zu diesem Thema, aber ich glaube bis jetzt ist noch niemand wirklich weit gekommen.

----------

## bloodcount

gleiches prob hier :-/

----------

## alo-alo

Ihr solltet mISDN probieren. Ist auf ftp.isdn4linux.de. Capi und i4l unter linux 2.6 ist broken. Mit mISDN funktioniert mein avm fritz pci Karte ok. Wenn interressiert, dann kann ich Anleitungen geben.

----------

## topperharly

Das werde ich, danke für den Tip.

Brauche aber noch bis zum Wochennende, werde Gentoo nochmals komplett neu aufziehen, direkt mit dem neuen Kernel.

----------

## alo-alo

Ok, werde ich screibe einen README und hab' es kopiert:

Download and extract the mISDN-CVS tarball from ftp.isdn4linux.de/snapshots.

Unpack it. 

Then make a symbolic link to your kernel source:

cd /usr/src

ln -sf your_kernel_source linux

Go to your mISDN source and run from there:

./std2kern

Patch your kernel (I4L patch):

cd /usr/src/linux

zcat path_to_the_I4L_patch.gz | patch -p1

This will copy the mISDN stuff to your kernel source. Please check that

your /usr/src/linux link exists before you run std2kern.

Configure your kernel as usually and enable the following:

CONFIG_ISDN_BOOL=y

CONFIG_ISDN_CAPI=m

CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y

CONFIG_ISDN_CAPI_MIDDLEWARE=y

CONFIG_ISDN_CAPI_CAPI20=m

CONFIG_ISDN_CAPI_CAPIFS_BOOL=y

CONFIG_ISDN_CAPI_CAPIFS=m

CONFIG_MISDN_DRV=m

CONFIG_MISDN_MEMDEBUG=y

CONFIG_MISDN_AVM_FRITZ=y # if you have an AVM Fritz card

CONFIG_MISDN_HFCPCI=y # if you have a HFPCI card

CONFIG_MISDN_SPEEDFAX=y # if you have a SPEEDFAX card

CONFIG_MISDN_W6692=y # if you have a  W6692 card

CONFIG_MISDN_DSP=y

Reboot your machine and boot the new kernel. 

Here is a script (from Karsten) to load the modules:

#!/bin/sh

if [ $# -ge 1 ]; then

        DEBUG=$1

else

        DEBUG=0

fi

#INSMOD_PARA=-m

MEXT=.ko

cd /lib/modules/`uname -r`/kernel/drivers/isdn/hardware/mISDN

#modprobe capidrv

modprobe capi

insmod ${INSMOD_PARA} mISDN_core${MEXT} debug=${DEBUG} >/tmp/m_core.mod

insmod ${INSMOD_PARA} mISDN_l1${MEXT} debug=${DEBUG} >/tmp/m_l1.mod

insmod ${INSMOD_PARA} mISDN_l2${MEXT} debug=${DEBUG} >/tmp/m_l2.mod

insmod ${INSMOD_PARA} l3udss1${MEXT} debug=${DEBUG} >/tmp/m_l3u.mod

insmod ${INSMOD_PARA} mISDN_capi${MEXT} debug=${DEBUG} >/tmp/m_capi.mod

insmod ${INSMOD_PARA} mISDN_isac${MEXT} >/tmp/m_isac.mod

insmod ${INSMOD_PARA} avmfritz${MEXT} debug=${DEBUG} protocol=2 > /tmp/avmfritz

.mod

Then mount capifs:

mkdir /dev/capi

mount -t capifs capifs /dev/capi

or add to fstab: 

capifs              /dev/capi       capifs          defaults                0 0

Now run pppd:

pppd call isdn/arcor.

If ps ax shows

<PID> ?        S      0:00 pppd call isdn/arcor

then kill pppd with kill -9 <PID> and run pppd again. Then should ps ax show:

<PID> capi/0   S      0:00 pppd call isdn/arcor. 

Your are online now or should be  :Smile: .

Der Patch:

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capi.c linux-2.6.0-test9-bk22/drivers/isdn/capi/capi.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capi.c	2003-10-12 16:23:31.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/capi.c	2003-10-21 19:59:14.000000000 +0200

@@ -199,7 +199,7 @@

 static struct capiminor *capiminor_alloc(struct capi20_appl *ap, u32 ncci)

 {

-	struct capiminor *mp, *p;

+	struct capiminor *mp, *p = NULL;

 	struct list_head *l;

 	unsigned int minor = 0;

 	unsigned long flags;

@@ -222,18 +222,17 @@

 	write_lock_irqsave(&capiminor_list_lock, flags);

 	list_for_each(l, &capiminor_list) {

 		p = list_entry(l, struct capiminor, list);

-		if (p->minor > minor) {

-			mp->minor = minor;

-			list_add_tail(&mp->list, &p->list);

+		if (p->minor > minor)

 			break;

-		}

 		minor++;

+		p = NULL;

 	}

+	mp->minor = minor;

+	if (p)

+		list_add_tail(&mp->list, &p->list);

+	else

+		list_add_tail(&mp->list, l);

 	write_unlock_irqrestore(&capiminor_list_lock, flags);

-	if (l == &capiminor_list) {

-		kfree(mp);

-		return NULL;

-	}

 	return mp;

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capifs.c linux-2.6.0-test9-bk22/drivers/isdn/capi/capifs.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capifs.c	2003-07-14 05:31:59.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/capifs.c	2003-10-21 19:59:14.000000000 +0200

@@ -88,9 +88,10 @@

 static int capifs_remount(struct super_block *s, int *flags, char *data)

 {

-	struct options new;

+	struct options new = options;

+

 	if (capifs_parse_options(data, &new)) {

-		printk("capifs: called with bogus options\n");

+		printk("%s: called with bogus options\n", __FUNCTION__);

 		return -EINVAL;

 	}

 	options = new;

@@ -109,7 +110,7 @@

 	struct inode * inode;

 	if (capifs_parse_options(data, &options)) {

-		printk("capifs: called with bogus options\n");

+		printk("%s: called with bogus options\n", __FUNCTION__);

 		return -EINVAL;

 	}

@@ -171,10 +172,11 @@

 	char s[10];

 	int len;

 	struct dentry *root = capifs_mnt->mnt_root;

+

 	if (type)

-		len = sprintf(s, "%d", num);

-	else

 		len = sprintf(s, "%c%d", type, num);

+	else

+		len = sprintf(s, "%d", num);

 	down(&root->d_inode->i_sem);

 	return lookup_one_len(s, root, len);

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/kcapi.c linux-2.6.0-test9-bk22/drivers/isdn/capi/kcapi.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/kcapi.c	2003-10-26 15:02:04.000000000 +0100

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/kcapi.c	2003-10-26 15:02:48.000000000 +0100

@@ -309,12 +309,10 @@

 			continue;

 		}

-		if (   CAPIMSG_COMMAND(skb->data) == CAPI_DATA_B3

-		    && CAPIMSG_SUBCOMMAND(skb->data) == CAPI_IND) {

+		if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_IND)

 			ap->nrecvdatapkt++;

-		} else {

+		else

 			ap->nrecvctlpkt++;

-		}

 		ap->recv_message(ap, skb);

 	}

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/callc.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/callc.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/callc.c	2003-10-12 16:23:31.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/callc.c	2003-10-21 19:59:14.000000000 +0200

@@ -212,7 +212,7 @@

 	else

 		chanp->cs->status |=  0x0100;

-	if (chanp->cs->card_ops->led_handler)

+	if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

 		chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -224,7 +224,7 @@

 	else

 		chanp->cs->status |=  0x1000;

-	if (chanp->cs->card_ops->led_handler)

+	if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

 		chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -236,7 +236,7 @@

 	else

 		chanp->cs->status &=  ~0x1100;

-	if (chanp->cs->card_ops->led_handler)

+	if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

 		chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -303,6 +303,7 @@

 {

 	struct Channel *chanp = fi->userdata;

+	printk(KERN_DEBUG "%s: chanp(%p) arg(%p) chanp->cs->card_ops(%p)\n", __FUNCTION__, chanp, arg, chanp->cs->card_ops);

 	FsmDelTimer(&chanp->drel_timer, 60);

 	FsmDelTimer(&chanp->dial_timer, 73);

 	chanp->l2_active_protocol = chanp->l2_protocol;

@@ -1495,7 +1496,7 @@

 void

 lli_got_manufacturer(struct Channel *chanp, struct IsdnCardState *cs, capi_msg *cm) {

-	if (cs->card_ops->aux_ind)

+	if (cs->card_ops && cs->card_ops->aux_ind)

 		cs->card_ops->aux_ind(cs, cm->para);

 }

@@ -1543,26 +1544,25 @@

 			ic->command, ic->driver);

 		return -ENODEV;

 	}

+	printk(KERN_DEBUG "%s: command(%x) arg(%lx)\n", __FUNCTION__, ic->command, ic->arg);

+	chanp = csta->channel + (ic->arg & 0xff);

 	switch (ic->command) {

+		case (ISDN_CMD_CLREAZ):

 		case (ISDN_CMD_SETEAZ):

-			chanp = csta->channel + ic->arg;

 			break;

 		case (ISDN_CMD_SETL2):

-			chanp = csta->channel + (ic->arg & 0xff);

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "SETL2 card %d %ld",

 					csta->cardnr + 1, ic->arg >>  :Cool: ;

 			chanp->l2_protocol = ic->arg >> 8;

 			break;

 		case (ISDN_CMD_SETL3):

-			chanp = csta->channel + (ic->arg & 0xff);

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "SETL3 card %d %ld",

 					csta->cardnr + 1, ic->arg >>  :Cool: ;

 			chanp->l3_protocol = ic->arg >> 8;

 			break;

 		case (ISDN_CMD_DIAL):

-			chanp = csta->channel + (ic->arg & 0xff);

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "DIAL %s -> %s (%d,%d)",

 					ic->parm.setup.eazmsn, ic->parm.setup.phone,

@@ -1580,26 +1580,22 @@

 			}

 			break;

 		case (ISDN_CMD_ACCEPTB):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "ACCEPTB");

 			FsmEvent(&chanp->fi, EV_ACCEPTB, NULL);

 			break;

 		case (ISDN_CMD_ACCEPTD):

-			chanp = csta->channel + ic->arg;

 			memcpy(&chanp->setup, &ic->parm.setup, sizeof(setup_parm));

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "ACCEPTD");

 			FsmEvent(&chanp->fi, EV_ACCEPTD, NULL);

 			break;

 		case (ISDN_CMD_HANGUP):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "HANGUP");

 			FsmEvent(&chanp->fi, EV_HANGUP, NULL);

 			break;

 		case (CAPI_PUT_MESSAGE):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				capi_debug(chanp, &ic->parm.cmsg);

 			if (ic->parm.cmsg.Length <  :Cool: 

@@ -1734,21 +1730,18 @@

 			break;

 		case (ISDN_CMD_PROCEED):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "PROCEED");

 			FsmEvent(&chanp->fi, EV_PROCEED, NULL);

 			break;

 		case (ISDN_CMD_ALERT):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "ALERT");

 			FsmEvent(&chanp->fi, EV_ALERT, NULL);

 			break;

 		case (ISDN_CMD_REDIR):

-			chanp = csta->channel + ic->arg;

 			if (chanp->debug & 1)

 				link_debug(chanp, 1, "REDIR");

 			memcpy(&chanp->setup, &ic->parm.setup, sizeof(setup_parm));

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/config.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/config.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/config.c	2003-10-12 16:23:42.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/config.c	2003-10-21 19:59:14.000000000 +0200

@@ -749,7 +749,7 @@

 	if (csta->dc_l1_ops->close)

 		csta->dc_l1_ops->close(csta);

-	if (csta->card_ops->release)

+	if (csta->card_ops && csta->card_ops->release)

 		csta->card_ops->release(csta);

 	if (csta->dbusytimer.function != NULL) // FIXME?

 		del_timer(&csta->dbusytimer);

@@ -760,6 +760,8 @@

 {

 	int irq_cnt, cnt = 3;

+	if (!cs->card_ops)

+		return -1;

 	cs->card_ops->init(cs);

 	irq_cnt = kstat_irqs(cs->irq);

@@ -1721,7 +1723,7 @@

 	struct IsdnCardState *cs;

 	for (i = 0; i < HISAX_MAX_CARDS; i++) {

-		if (!cards[i].typ)

+		if (!cards[i].cs)

 			break;

 	}

@@ -1740,6 +1742,8 @@

 #else

 	test_and_set_bit(FLG_TWO_DCHAN, &cs->HW_Flags);

 #endif

+	cards[i].cs = cs;

+	cards[i].typ = ISDN_CTYPE_DYNAMIC;

 	cs->cardnr = i;

 	cs->protocol = protocol;

 	cs->typ = ISDN_CTYPE_DYNAMIC;

@@ -1763,6 +1767,7 @@

 	clear_bit(0, &hisax_d_if->ph_state);

 	do_init(cs);

+	printk(KERN_NOTICE "HiSax: installed %d card(s)\n", nrcards);

 	return 0;

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/tei.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/tei.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/tei.c	2003-07-14 05:37:58.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/tei.c	2003-10-21 19:59:14.000000000 +0200

@@ -78,7 +78,7 @@

 mdl_assign(struct IsdnCardState *cs)

 {

 	cs->status |= 0x0001;

-	if (cs->card_ops->led_handler)

+	if (cs->card_ops && cs->card_ops->led_handler)

 		cs->card_ops->led_handler(cs);

 }

@@ -86,7 +86,7 @@

 mdl_remove(struct IsdnCardState *cs)

 {

 	cs->status = 0;

-	if (cs->card_ops->led_handler)

+	if (cs->card_ops && cs->card_ops->led_handler)

 		cs->card_ops->led_handler(cs);

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/i4l/isdn_common.c linux-2.6.0-test9-bk22/drivers/isdn/i4l/isdn_common.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/i4l/isdn_common.c	2003-10-12 16:23:53.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/i4l/isdn_common.c	2003-10-21 19:59:14.000000000 +0200

@@ -1464,7 +1464,7 @@

 	struct isdn_slot *slot = file->private_data;

 	DECLARE_WAITQUEUE(wait, current);

 	unsigned long flags;

-	size_t len = 0;

+	int len = 0;

 	if (off != &file->f_pos)

 		return -ESPIPE;

@@ -2049,38 +2049,39 @@

 	ctrl->command = cmd;

 	ctrl->driver = slot->di;

+	printk(KERN_DEBUG "%s: slot %p di %d cmd %x\n", __FUNCTION__, slot, slot->di, cmd);

 	switch (cmd) {

-	case ISDN_CMD_SETL2:

-	case ISDN_CMD_SETL3:

-	case ISDN_CMD_PROT_IO:

-		ctrl->arg &= ~0xff; ctrl->arg |= slot->ch;

-		break;

-	case ISDN_CMD_DIAL:

-		if (isdndev->global_flags & ISDN_GLOBAL_STOPPED)

-			return -EBUSY;

+		case ISDN_CMD_SETL2:

+		case ISDN_CMD_SETL3:

+		case ISDN_CMD_PROT_IO:

+			ctrl->arg &= ~0xff; ctrl->arg |= slot->ch;

+			break;

+		case ISDN_CMD_DIAL:

+			if (isdndev->global_flags & ISDN_GLOBAL_STOPPED)

+				return -EBUSY;

 		/* fall through */

-	default:

-		ctrl->arg = slot->ch;

-		break;

+		default:

+			ctrl->arg = slot->ch;

+			break;

 	}

 	switch (cmd) {

-	case ISDN_CMD_CLREAZ:

-		return fsm_event(&slot->fi, EV_CMD_CLREAZ, ctrl);

-	case ISDN_CMD_SETEAZ:

-		return fsm_event(&slot->fi, EV_CMD_SETEAZ, ctrl);

-	case ISDN_CMD_SETL2:

-		return fsm_event(&slot->fi, EV_CMD_SETL2, ctrl);

-	case ISDN_CMD_SETL3:

-		return fsm_event(&slot->fi, EV_CMD_SETL3, ctrl);

-	case ISDN_CMD_DIAL:

-		return fsm_event(&slot->fi, EV_CMD_DIAL, ctrl);

-	case ISDN_CMD_ACCEPTD:

-		return fsm_event(&slot->fi, EV_CMD_ACCEPTD, ctrl);

-	case ISDN_CMD_ACCEPTB:

-		return fsm_event(&slot->fi, EV_CMD_ACCEPTB, ctrl);

-	case ISDN_CMD_HANGUP:

-		return fsm_event(&slot->fi, EV_CMD_HANGUP, ctrl);

+		case ISDN_CMD_CLREAZ:

+			return fsm_event(&slot->fi, EV_CMD_CLREAZ, ctrl);

+		case ISDN_CMD_SETEAZ:

+			return fsm_event(&slot->fi, EV_CMD_SETEAZ, ctrl);

+		case ISDN_CMD_SETL2:

+			return fsm_event(&slot->fi, EV_CMD_SETL2, ctrl);

+		case ISDN_CMD_SETL3:

+			return fsm_event(&slot->fi, EV_CMD_SETL3, ctrl);

+		case ISDN_CMD_DIAL:

+			return fsm_event(&slot->fi, EV_CMD_DIAL, ctrl);

+		case ISDN_CMD_ACCEPTD:

+			return fsm_event(&slot->fi, EV_CMD_ACCEPTD, ctrl);

+		case ISDN_CMD_ACCEPTB:

+			return fsm_event(&slot->fi, EV_CMD_ACCEPTB, ctrl);

+		case ISDN_CMD_HANGUP:

+			return fsm_event(&slot->fi, EV_CMD_HANGUP, ctrl);

 	}

 	HERE;

 	return -1;

@@ -2104,20 +2105,24 @@

 	isdn_info_update();

 	retval = isdn_slot_command(slot, ISDN_CMD_CLREAZ, &cmd);

+	printk(KERN_DEBUG "%s: ISDN_CMD_CLREAZ retval(%d)\n", __FUNCTION__, retval);

 	if (retval)

 		return retval;

 	strcpy(cmd.parm.num, msn);

 	retval = isdn_slot_command(slot, ISDN_CMD_SETEAZ, &cmd);

+	printk(KERN_DEBUG "%s: ISDN_CMD_SETEAZ retval(%d)\n", __FUNCTION__, retval);

 	cmd.arg = dial->l2_proto << 8;

 	cmd.parm.fax = dial->fax;

 	retval = isdn_slot_command(slot, ISDN_CMD_SETL2, &cmd);

+	printk(KERN_DEBUG "%s: ISDN_CMD_SETL2 retval(%d)\n", __FUNCTION__, retval);

 	if (retval)

 		return retval;

 	cmd.arg = dial->l3_proto << 8;

 	retval = isdn_slot_command(slot, ISDN_CMD_SETL3, &cmd);

+	printk(KERN_DEBUG "%s: ISDN_CMD_SETL3 retval(%d)\n", __FUNCTION__, retval);

 	if (retval)

 		return retval;

----------

## warlord89

Super Anleitung hat auf Anhieb funktioniert    :Very Happy: 

Weisst du zufällig wie ich jetzt den neuen Modularen Capitreiber

mit den ISDN4k-Utils nutzen kann.

Sprich Fax Anruflogging Yaps Vbox ???

Wäre echt supie !

Dann kann ich auch bei meienen Love-Sources bleiben.

Die rocken nämlich !

Thx's Warlord

### Kernel 2.6.0-test9-love3 ###

----------

## DocGonzo

 *Quote:*   

>   case (ISDN_CMD_SETL2):
> 
> - chanp = csta->channel + (ic->arg & 0xff);
> 
> if (chanp->debug & 1)
> ...

 

Obwohl ich es noch nicht ausprobiert hab, kann ich wohl schonmal sagen, dass das ein echt cooler patch ist!   :Wink: 

----------

## alo-alo

Hm, keine Ahnung was die i4l-utils betrifft. Wenn ich mich nicgt irre, dann sind die Utils unkompatibel mit mISDN. Probiere mal mISDNuser Paket, vielleicht ist dass was Du suchst.

Was den Patch betrifft, hab' ich von Karsten Keil von SUSE gekriegt und die Anleitungen auch. 

Warum ist love fuer dich so gut? Bitte nenn mir Beispiele.

----------

## atomic666

Hi,

will grad isdn mit nem linux-2.6-beta9 kernel einstellen, nur komme nit weiter, bei dem alten weg per isdnctrl gabs nen kernel fehler bei der einwahl. dann fand ich diesen script hier. Scheint auch zu funktionieren, nur wie soll die pppd config file bzw das isdn/arcor file aussehen? weil mit den normalen einstellen die für modem sind( hab ich mit nem tool erstelllt ) funzen nit. 

PS: welchen patch soll ich patchen? weil bei dem hie rgepastete gabs ne fehler un nachdem ich das ./std2krn ausgeführt hatte hatte ich die mISDN optionen im kernel und das modul laden hat danach auch funktioniert.

mfg atomic666

----------

## alo-alo

/etc/ppp/peers/isdn/arcor:

sync

noauth

user USERNAME

plugin userpass.so

password PASSWORD

defaultroute

plugin capiplugin.so

number ISP-Nummer

protocol hdlc

ipcp-accept-local

ipcp-accept-remote

/dev/null

Du brauchst das capi4k-utils Paket. Der obere Patch ist gegen test9-bk22. Wenn die willst, screib mir eine private Meldung und werde dir den Patch schicken.

Pppd startest du mit pppd call isdn/arcor.

----------

## atomic666

eva root # pppd call isdn/arcor

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7 

capiplugin: CAPI_REGISTER failed - CAPI not installed (0x1009) [No such

device or address (6)]

das kommt jetzt

pls help me  :Smile: 

----------

## alo-alo

Hast capifs gemountet?

mkdir /dev/capi

mount -t capifs capifs /dev/capi.

Du solltest noch einmall mein README durchgehen, ob du ALLES getan hast.

----------

## atomic666

Ja habe gemountet

und auch sonst alles was in der Readme steht  :Sad: 

MUSS DOCH MAL GEHEN!!!

----------

## atomic666

Also ich hab ejetzt herausgefunden das das Problem auftritt da er sagt ich hätte kein capi drauf. Nun nach mehrer Prüfung sollte er ja da sein.

Er ist im kernel als Modul. Und die capi utilities sind auch drauf. Werde mal probieren das Paket von Hand zu installieren. Finde leider nur das Suse  :Sad: 

----------

## alo-alo

Ich verwende capi4k-utils-20030616. Hast WIRKLICH alles getan? Den Kernel mit dem oberen Patch gepatcht? 

pppd version 2.4.1 habe ich. 

In /usr/lib/pppd/2.4.1: 

2.4.1 $ ls -l

total 124

-rwxr-xr-x    1 root     root        65425 Nov 28 16:01 capiplugin.so

-rwxr-xr-x    1 root     root         5578 Nov  6 01:18 minconn.so

-rwxr-xr-x    1 root     root         8016 Nov  6 01:18 passprompt.so

-rwxr-xr-x    1 root     root        37278 Nov  6 01:18 pppoe.so

-rwxr-xr-x    1 root     root         2995 Nov 28 16:01 userpass.so

Dmesg zeigt:

lsmod

Module                  Size  Used by

avmfritz               33248  0

mISDN_isac             19072  1 avmfritz

mISDN_capi            113216  1

l3udss1                49412  0

mISDN_l2               55876  0

mISDN_l1               20356  0

mISDN_core             59820  6 avmfritz,mISDN_isac,mISDN_capi,l3udss1,mISDN_l2,mISDN_l1

capi                   16576  6

capifs                  4616  2 capi

kernelcapi             42080  2 mISDN_capi,capi

Ist die Datei /etc/ppp/peers/isdn/arcor identisch mit meiner?

Was zeigt ps ax nachdem Du pppd call isdn/arcor startest?

----------

## wiener

Hi,

Ich verwende den 2.6.0-test11 kernel. Ich konnte mISDN installieren und den Kernel damit compilen. Wenn ich aber das Module avmfritz mit

```
insmod avmfritz.ko
```

reinladen will hängt sich mein Rechner dabei auf.

In

```
dmesg
```

und

```
tail -f /var/log/messages
```

sind keine Fehlermeldungen bis zum Laden des Moduls aufgetaucht.

Falls ihr doch  irgendwelche logs braucht würd ich diese natürlich gern posten.

Den Patch konnt ich nicht benutzen, da bei mir die Fehlermeldung

```
patching file drivers/isdn/capi/capi.c

patch: **** malformed patch at line 6: static struct capiminor *capiminor_alloc(struct capi20_appl *ap, u32 ncci)

```

erscheint.

Braucht der Kernel diesen Patch überhaupt noch, da er ja anscheinend für einen älteren war?

----------

## alo-alo

wiener: wenn du willst, schicke mir eine Private Meldung und werde Dir den Patch schicken. Ich hatte naemlich auch Probleme beim copy/paste. Weil wenn Du alles richtig machst, sollten keine Probleme auftreten. 

Ja! Du brauchst den Patch. Ich probierte neulich ohne Patch und wurde die Verbindung nicht erstellt. 

Das allgemeine Stuff was CAPI betrifft wurde schon seit test6 oder so nicht geupdated und ist eine Frage wann wird ein Update folgen.

----------

## atomic666

also ich habe es gestern so weit hinbekommen, dass kein fehle rmehr kam.

nur verbindung kam nicht zu stande.

Wie gesagt ohne patch.

Doch patchen klappt einfach nicht. auch nicht mit der pm von alo.

kommt immer fehler in line 6. was weiss ich nicht mehr genau  :Smile: 

----------

## alo-alo

atomic666: schicke mir Deine email adresse auf private message und werde Dir den Patch schicken.

----------

## wiener

Dank Alo hat bei mir der Patch funktioniert, nachdem ich alle sources gelöscht habe und noch einmal alles durchgegangen bin. Nur leider hängt sich jetzt immer noch mein Rechner auf, wenn ich das avmfritz.ko Modul reinlade.

Falls jemand noch ne Idee hat wär ich sehr dankbar. Der Fehler sitzt aber vermutlich mal wieder vor dem Bildschirm.

Ich werds auf jeden Fall noch mal mit dem jetzt stable Kernel probieren.

----------

## alo-alo

In welcher Reihenfolge ladest Du die Module? 

In /etc/modules-autoload.d/kernel-2.6 habe ich:

capi 

mISDN_core 

mISDN_l1 

mISDN_l2  

l3udss1

mISDN_capi 

mISDN_isac 

avmfritz protocol=2

Hm, was fuer ne Karte hast Du?  

Ladest Du die Module in Reihenfolge wie oben? Vielleicht solltest du mit modprobe laden. Wenn Du avmfritz.ko ladest, dann musst Du es mit protocol=2 laden!

----------

## wiener

Ich hab deine beiden Tipps ausprobiert (statt mit insmod mit modprobe zu laden und den parameter protocol=2 beim laden von avmfritz anzugeben) aber mit dem gleichen Ergebnis wie zuvor. Beim Laden dieses Moduls hängt sich Linux auf.

Die Module lade ich in der angegebenen Reihenfolge.

Ein lspci meint:

```
01:0a.0 Network controller: AVM Audiovisuelles MKTG & Computer System GmbH Fritz!PCI v2.0 ISDN (rev 01)
```

Vertragen sich die Treiber mit bestimmten Einstellungen in meiner Kernel .config nicht oder mit meiner anderen Hardware? Was für Infos wären eventuell nützlich bzw. sollte ich posten?

----------

## alo-alo

Ok, hier mein Tipp: welche Version von mISDN verwendest Du? Probiere es mit der letzten Version. Klappt nicht, dann screibe Karsten Keil kkeil@suse.de. 

Bescreibe alles was Du verwendest: Kernel Version, seinen I4L-t9bk22.gz Patch, Hardware usw. und Dein Problem. 

Er wird Dir dann alles sagen, was und wieso. 

Bitte teile dann alles mit uns mit, wo der Problem war. 

Ich arbeite an meiner Homepage fuer ein kleines howto fuer mISDN.

----------

## Megahoschie

hallo

ich habe genau das selbe problem wie wiener.

habe kernel 2.6.0-gentoo (gentoo-dev-sources) also

die final weiterhin eine fritzcard pci v 2.01 capi4k-utils 2003-06-16 und mISDN 2003-12-15 (mISDN hat einwandfrei gefunzt, module standen sofort in der kernel-config)

und kann diese module

 *Quote:*   

> 
> 
> capi 
> 
>  mISDN_core 
> ...

 

laden,

aber wenn ich dieses hinzufüge

 *Quote:*   

> 
> 
> avmfritz protocol=2
> 
> 

 

friert das system ein!!! totaler hängen nicht geht mehr!!!

achso : alles ohne diesen patch (habe ich irrgendwie mit copy und paste nicht hinbekommen, kamen nur fehler!!!)

kann mir jemand mal diesen patch zukommen lassen, obwohl ich nicht glaube das es daran liegt da er ja bei der avmfritz.ko

abkackt!!!

und noch was, was ich nicht verstehe:

wie kann man 2.jahre oder noch länger an diesem kernel arbeiten und dann funzt noch nicht einmal die capi schnittstelle!!! (habe noch den 2.4.20-gaming-r3 kernel

einfach nur capi im kernel aktivien /capi4k-utils emergen /

fcpci ermegen /provider in /etc/ppp/peer/isdn eingetragen

und nur noch pppd call provider und mann war drin)

aber nein es wäre ja auch zu einfach, bei capi4k-utils

muß schon die neue version nehmen, da er sonst die comp.

abbricht und fcpci kann man garnicht comp. na wenn da nicht einmal jemand geträumt hat b.z.w arschhaare geraucht hat

mfg[/b]

----------

## Macrobiotus

Hallo zusammen! 

Die Systemaufhängung beim Laden von avmfritz hab ich unter 2.6 auch.

Was ich ebenfalls nicht finden konnte war dieser ominöse Patch.

Es sind bestimmt noch andere Leute daran intersessiert. Die Fritz-Card ist doch weit verbreitet.

Kommt man an den Patch irgendwie *offiziell* ran?

google hat in der Richtung nichts ausgeworfen aus die Gentoo-Foren   :Wink: 

Hier könnte laufen:

gentoo-dev-sources-2.6.0.ebuild

Aber ohne i-net   :Crying or Very sad:   momentan nicht.

----------

## zerwas

Hallo,

Nach einigen Problemen und der Sache mit dem Patch (in dem noch einige Fehler drin zu stecken scheinen.., bzw. Inkompatibilitäten mit dem 2.6.0er sind), der jetzt installiert ist, lassen sich bei mir auch alle Module laden, bis auf das avmfritz-Modul. Zwar hängt sich (zum Glück) mein System nicht dabei auf, aber ich bekmome die Meldung, dass da einige unknown symbols sind.

In dmesg kann ich dann sehen, dass

```
restore_flags, save_flags, sti
```

 unknown symbols sind.

Außerdem bekomme ich auch (wie atomic666) beim Benutzen von pppd den Fehler:

```
capiplugin: CAPI_REGISTER failed - CAPI not installed (0x1009) [No such dev...]
```

Das liegt aber wohl an obigem Problem  :Question: 

Irgendwie finde ich es auch komisch, dass im Final von 2.6 nicht einmal die ISDN-Unterstützung für passive Karten funktioniert (oder man auf ein Release von AVM warten muss (bzw. SuSE 9.1   :Sad: )

--

zer

Anbei nocheinmal extra der Patch diesmal mit "richtigem" Copy n' Paste  :Wink: . Steht für die Öffentlichkeit wohl besser zur Verfügung als das PM-Schicken.  :Very Happy: 

```

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capi.c linux-2.6.0-test9-bk22/drivers/isdn/capi/capi.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capi.c 2003-10-12 16:23:31.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/capi.c     2003-10-21 19:59:14.000000000 +0200

@@ -199,7 +199,7 @@

 static struct capiminor *capiminor_alloc(struct capi20_appl *ap, u32 ncci)

 {

-       struct capiminor *mp, *p;

+       struct capiminor *mp, *p = NULL;

        struct list_head *l;

        unsigned int minor = 0;

        unsigned long flags;

@@ -222,18 +222,17 @@

        write_lock_irqsave(&capiminor_list_lock, flags);

        list_for_each(l, &capiminor_list) {

                p = list_entry(l, struct capiminor, list);

-               if (p->minor > minor) {

-                       mp->minor = minor;

-                       list_add_tail(&mp->list, &p->list);

+               if (p->minor > minor)

                        break;

-               }

                minor++;

+               p = NULL;

        }

+       mp->minor = minor;

+       if (p)

+               list_add_tail(&mp->list, &p->list);

+       else

+               list_add_tail(&mp->list, l);

        write_unlock_irqrestore(&capiminor_list_lock, flags);

-       if (l == &capiminor_list) {

-               kfree(mp);

-               return NULL;

-       }

        return mp;

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capifs.c linux-2.6.0-test9-bk22/drivers/isdn/capi/capifs.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/capifs.c       2003-07-14 05:31:59.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/capifs.c   2003-10-21 19:59:14.000000000 +0200

@@ -88,9 +88,10 @@

 static int capifs_remount(struct super_block *s, int *flags, char *data)

 {

-       struct options new;

+       struct options new = options;

+

        if (capifs_parse_options(data, &new)) {

-               printk("capifs: called with bogus options\n");

+               printk("%s: called with bogus options\n", __FUNCTION__);

                return -EINVAL;

        }

        options = new;

@@ -109,7 +110,7 @@

        struct inode * inode;

        if (capifs_parse_options(data, &options)) {

-               printk("capifs: called with bogus options\n");

+               printk("%s: called with bogus options\n", __FUNCTION__);

                return -EINVAL;

        }

@@ -171,10 +172,11 @@

        char s[10];

        int len;

        struct dentry *root = capifs_mnt->mnt_root;

+

        if (type)

-               len = sprintf(s, "%d", num);

-       else

                len = sprintf(s, "%c%d", type, num);

+       else

+               len = sprintf(s, "%d", num);

        down(&root->d_inode->i_sem);

        return lookup_one_len(s, root, len);

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/capi/kcapi.c linux-2.6.0-test9-bk22/drivers/isdn/capi/kcapi.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/capi/kcapi.c        2003-10-26 15:02:04.000000000 +0100

+++ linux-2.6.0-test9-bk22/drivers/isdn/capi/kcapi.c    2003-10-26 15:02:48.000000000 +0100

@@ -309,12 +309,10 @@

                        continue;

                }

-               if (   CAPIMSG_COMMAND(skb->data) == CAPI_DATA_B3

-                   && CAPIMSG_SUBCOMMAND(skb->data) == CAPI_IND) {

+               if (CAPIMSG_CMD(skb->data) == CAPI_DATA_B3_IND)

                        ap->nrecvdatapkt++;

-               } else {

+               else

                        ap->nrecvctlpkt++;

-               }

                ap->recv_message(ap, skb);

        }

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/callc.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/callc.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/callc.c       2003-10-12 16:23:31.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/callc.c   2003-10-21 19:59:14.000000000 +0200

@@ -212,7 +212,7 @@

        else

                chanp->cs->status |=  0x0100;

-       if (chanp->cs->card_ops->led_handler)

+       if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

                chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -224,7 +224,7 @@

        else

                chanp->cs->status |=  0x1000;

-       if (chanp->cs->card_ops->led_handler)

+       if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

                chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -236,7 +236,7 @@

        else

                chanp->cs->status &=  ~0x1100;

-       if (chanp->cs->card_ops->led_handler)

+       if (chanp->cs->card_ops && chanp->cs->card_ops->led_handler)

                chanp->cs->card_ops->led_handler(chanp->cs);

 }

@@ -303,6 +303,7 @@

 {

        struct Channel *chanp = fi->userdata;

+       printk(KERN_DEBUG "%s: chanp(%p) arg(%p) chanp->cs->card_ops(%p)\n", __FUNCTION__, chanp, arg, chanp->cs->card_ops);

        FsmDelTimer(&chanp->drel_timer, 60);

        FsmDelTimer(&chanp->dial_timer, 73);

        chanp->l2_active_protocol = chanp->l2_protocol;

@@ -1495,7 +1496,7 @@

 void

 lli_got_manufacturer(struct Channel *chanp, struct IsdnCardState *cs, capi_msg *cm) {

-       if (cs->card_ops->aux_ind)

+       if (cs->card_ops && cs->card_ops->aux_ind)

                cs->card_ops->aux_ind(cs, cm->para);

 }

@@ -1543,26 +1544,25 @@

                        ic->command, ic->driver);

                return -ENODEV;

        }

+       printk(KERN_DEBUG "%s: command(%x) arg(%lx)\n", __FUNCTION__, ic->command, ic->arg);

+       chanp = csta->channel + (ic->arg & 0xff);

        switch (ic->command) {

+               case (ISDN_CMD_CLREAZ):

                case (ISDN_CMD_SETEAZ):

-                       chanp = csta->channel + ic->arg;

                        break;

                case (ISDN_CMD_SETL2):

-                       chanp = csta->channel + (ic->arg & 0xff);

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "SETL2 card %d %ld",

                                        csta->cardnr + 1, ic->arg >> 8);

                        chanp->l2_protocol = ic->arg >> 8;

                        break;

                case (ISDN_CMD_SETL3):

-                       chanp = csta->channel + (ic->arg & 0xff);

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "SETL3 card %d %ld",

                                        csta->cardnr + 1, ic->arg >> 8);

                        chanp->l3_protocol = ic->arg >> 8;

                        break;

                case (ISDN_CMD_DIAL):

-                       chanp = csta->channel + (ic->arg & 0xff);

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "DIAL %s -> %s (%d,%d)",

                                        ic->parm.setup.eazmsn, ic->parm.setup.phone,

@@ -1580,26 +1580,22 @@

                        }

                        break;

                case (ISDN_CMD_ACCEPTB):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "ACCEPTB");

                        FsmEvent(&chanp->fi, EV_ACCEPTB, NULL);

                        break;

                case (ISDN_CMD_ACCEPTD):

-                       chanp = csta->channel + ic->arg;

                        memcpy(&chanp->setup, &ic->parm.setup, sizeof(setup_parm));

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "ACCEPTD");

                        FsmEvent(&chanp->fi, EV_ACCEPTD, NULL);

                        break;

                case (ISDN_CMD_HANGUP):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "HANGUP");

                        FsmEvent(&chanp->fi, EV_HANGUP, NULL);

                        break;

                case (CAPI_PUT_MESSAGE):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                capi_debug(chanp, &ic->parm.cmsg);

                        if (ic->parm.cmsg.Length < 8)

@@ -1734,21 +1730,18 @@

                        break;

                case (ISDN_CMD_PROCEED):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "PROCEED");

                        FsmEvent(&chanp->fi, EV_PROCEED, NULL);

                        break;

                case (ISDN_CMD_ALERT):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "ALERT");

                        FsmEvent(&chanp->fi, EV_ALERT, NULL);

                        break;

                case (ISDN_CMD_REDIR):

-                       chanp = csta->channel + ic->arg;

                        if (chanp->debug & 1)

                                link_debug(chanp, 1, "REDIR");

                        memcpy(&chanp->setup, &ic->parm.setup, sizeof(setup_parm));

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/config.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/config.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/config.c      2003-10-12 16:23:42.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/config.c  2003-10-21 19:59:14.000000000 +0200

@@ -749,7 +749,7 @@

        if (csta->dc_l1_ops->close)

                csta->dc_l1_ops->close(csta);

-       if (csta->card_ops->release)

+       if (csta->card_ops && csta->card_ops->release)

                csta->card_ops->release(csta);

        if (csta->dbusytimer.function != NULL) // FIXME?

                del_timer(&csta->dbusytimer);

@@ -760,6 +760,8 @@

 {

        int irq_cnt, cnt = 3;

+       if (!cs->card_ops)

+               return -1;

        cs->card_ops->init(cs);

        irq_cnt = kstat_irqs(cs->irq);

@@ -1721,7 +1723,7 @@

        struct IsdnCardState *cs;

        for (i = 0; i < HISAX_MAX_CARDS; i++) {

-               if (!cards[i].typ)

+               if (!cards[i].cs)

                        break;

        }

@@ -1740,6 +1742,8 @@

 #else

        test_and_set_bit(FLG_TWO_DCHAN, &cs->HW_Flags);

 #endif

+       cards[i].cs = cs;

+       cards[i].typ = ISDN_CTYPE_DYNAMIC;

        cs->cardnr = i;

        cs->protocol = protocol;

        cs->typ = ISDN_CTYPE_DYNAMIC;

@@ -1763,6 +1767,7 @@

        clear_bit(0, &hisax_d_if->ph_state);

        do_init(cs);

+       printk(KERN_NOTICE "HiSax: installed %d card(s)\n", nrcards);

        return 0;

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/tei.c linux-2.6.0-test9-bk22/drivers/isdn/hisax/tei.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/hisax/tei.c 2003-07-14 05:37:58.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/hisax/tei.c     2003-10-21 19:59:14.000000000 +0200

@@ -78,7 +78,7 @@

 mdl_assign(struct IsdnCardState *cs)

 {

        cs->status |= 0x0001;

-       if (cs->card_ops->led_handler)

+       if (cs->card_ops && cs->card_ops->led_handler)

                cs->card_ops->led_handler(cs);

 }

@@ -86,7 +86,7 @@

 mdl_remove(struct IsdnCardState *cs)

 {

        cs->status = 0;

-       if (cs->card_ops->led_handler)

+       if (cs->card_ops && cs->card_ops->led_handler)

                cs->card_ops->led_handler(cs);

 }

diff -ur linux-2.6.0-test9-bk22.org/drivers/isdn/i4l/isdn_common.c linux-2.6.0-test9-bk22/drivers/isdn/i4l/isdn_common.c

--- linux-2.6.0-test9-bk22.org/drivers/isdn/i4l/isdn_common.c   2003-10-12 16:23:53.000000000 +0200

+++ linux-2.6.0-test9-bk22/drivers/isdn/i4l/isdn_common.c       2003-10-21 19:59:14.000000000 +0200

@@ -1464,7 +1464,7 @@

        struct isdn_slot *slot = file->private_data;

        DECLARE_WAITQUEUE(wait, current);

        unsigned long flags;

-       size_t len = 0;

+       int len = 0;

        if (off != &file->f_pos)

                return -ESPIPE;

@@ -2049,38 +2049,39 @@

        ctrl->command = cmd;

        ctrl->driver = slot->di;

+       printk(KERN_DEBUG "%s: slot %p di %d cmd %x\n", __FUNCTION__, slot, slot->di, cmd);

        switch (cmd) {

-       case ISDN_CMD_SETL2:

-       case ISDN_CMD_SETL3:

-       case ISDN_CMD_PROT_IO:

-               ctrl->arg &= ~0xff; ctrl->arg |= slot->ch;

-               break;

-       case ISDN_CMD_DIAL:

-               if (isdndev->global_flags & ISDN_GLOBAL_STOPPED)

-                       return -EBUSY;

+               case ISDN_CMD_SETL2:

+               case ISDN_CMD_SETL3:

+               case ISDN_CMD_PROT_IO:

+                       ctrl->arg &= ~0xff; ctrl->arg |= slot->ch;

+                       break;

+               case ISDN_CMD_DIAL:

+                       if (isdndev->global_flags & ISDN_GLOBAL_STOPPED)

+                               return -EBUSY;

                /* fall through */

-       default:

-               ctrl->arg = slot->ch;

-               break;

+               default:

+                       ctrl->arg = slot->ch;

+                       break;

        }

        switch (cmd) {

-       case ISDN_CMD_CLREAZ:

-               return fsm_event(&slot->fi, EV_CMD_CLREAZ, ctrl);

-       case ISDN_CMD_SETEAZ:

-               return fsm_event(&slot->fi, EV_CMD_SETEAZ, ctrl);

-       case ISDN_CMD_SETL2:

-               return fsm_event(&slot->fi, EV_CMD_SETL2, ctrl);

-       case ISDN_CMD_SETL3:

-               return fsm_event(&slot->fi, EV_CMD_SETL3, ctrl);

-       case ISDN_CMD_DIAL:

-               return fsm_event(&slot->fi, EV_CMD_DIAL, ctrl);

-       case ISDN_CMD_ACCEPTD:

-               return fsm_event(&slot->fi, EV_CMD_ACCEPTD, ctrl);

-       case ISDN_CMD_ACCEPTB:

-               return fsm_event(&slot->fi, EV_CMD_ACCEPTB, ctrl);

-       case ISDN_CMD_HANGUP:

-               return fsm_event(&slot->fi, EV_CMD_HANGUP, ctrl);

+               case ISDN_CMD_CLREAZ:

+                       return fsm_event(&slot->fi, EV_CMD_CLREAZ, ctrl);

+               case ISDN_CMD_SETEAZ:

+                       return fsm_event(&slot->fi, EV_CMD_SETEAZ, ctrl);

+               case ISDN_CMD_SETL2:

+                       return fsm_event(&slot->fi, EV_CMD_SETL2, ctrl);

+               case ISDN_CMD_SETL3:

+                       return fsm_event(&slot->fi, EV_CMD_SETL3, ctrl);

+               case ISDN_CMD_DIAL:

+                       return fsm_event(&slot->fi, EV_CMD_DIAL, ctrl);

+               case ISDN_CMD_ACCEPTD:

+                       return fsm_event(&slot->fi, EV_CMD_ACCEPTD, ctrl);

+               case ISDN_CMD_ACCEPTB:

+                       return fsm_event(&slot->fi, EV_CMD_ACCEPTB, ctrl);

+               case ISDN_CMD_HANGUP:

+                       return fsm_event(&slot->fi, EV_CMD_HANGUP, ctrl);

        }

        HERE;

        return -1;

@@ -2104,20 +2105,24 @@

        isdn_info_update();

        retval = isdn_slot_command(slot, ISDN_CMD_CLREAZ, &cmd);

+       printk(KERN_DEBUG "%s: ISDN_CMD_CLREAZ retval(%d)\n", __FUNCTION__, retval);

        if (retval)

                return retval;

        strcpy(cmd.parm.num, msn);

        retval = isdn_slot_command(slot, ISDN_CMD_SETEAZ, &cmd);

+       printk(KERN_DEBUG "%s: ISDN_CMD_SETEAZ retval(%d)\n", __FUNCTION__, retval);

        cmd.arg = dial->l2_proto << 8;

        cmd.parm.fax = dial->fax;

        retval = isdn_slot_command(slot, ISDN_CMD_SETL2, &cmd);

+       printk(KERN_DEBUG "%s: ISDN_CMD_SETL2 retval(%d)\n", __FUNCTION__, retval);

        if (retval)

                return retval;

        cmd.arg = dial->l3_proto << 8;

        retval = isdn_slot_command(slot, ISDN_CMD_SETL3, &cmd);

+       printk(KERN_DEBUG "%s: ISDN_CMD_SETL3 retval(%d)\n", __FUNCTION__, retval);

        if (retval)

                return retval;

```

----------

## alo-alo

Der I4L-patch ist hier zu finden:

http://rcum.uni-mb.si/~uvp00845b

Die Seite ist noch under construction!

----------

## Tiro

ok...when pppd call isdn/arcor 

capifs: Rev 1.14.6.8 

eth0: link up, 100Mbps, full-duplex, lpa 0x45E1 

CAPI Subsystem Rev 1.21.6.8 

capi20: Rev 1.1.4.1.2.2: started up with major 68 (middleware+capifs) 

Modular ISDN Stack core $Revision: 1.20 $ 

mISDNd: kernel daemon started 

ISDN L1 driver version 1.8 

mISDNd: test event done 

ISDN L2 driver version 1.16 

mISDN: DSS1 Rev. 1.19 

mISDN Capi 2.0 driver file version 1.11 

ISAC module $Revision: 1.13 $ 

Winbond W6692 PCI driver Rev. 1.6 

mISDN_w6692: found adapter Winbond W6692 at 0000:00:0b.0 

W6692: Winbond W6692 version (0): W6692 V00 

kcapi: Controller 1: mISDN1 attached 

w6692: IRQ 10 count 4 

kcapi: card 1 "mISDN1" ready. 

kcapi: notify up contr 1 

w6692 1 cards installed 

capi20_register: 

Debug: sleeping function called from invalid context at mm/slab.c:1868 

in_atomic():1, irqs_disabled():1 

Call Trace: 

[<c012a01b>] __might_sleep+0xab/0xd0 

[<c01601f9>] __kmalloc+0x279/0x290 

[<e4a11a61>] __mid_kmalloc+0x21/0x80 [mISDN_core] 

[<e4976673>] ApplicationConstr+0x33/0x130 [mISDN_capi] 

[<e4974887>] RegisterApplication+0xe7/0x230 [mISDN_capi] 

[<e492a062>] register_appl+0x62/0x80 [kernelcapi] 

[<e492b1d4>] capi20_register+0xd4/0xe0 [kernelcapi] 

[<e4939714>] capi_ioctl+0x154/0x800 [capi] 

[<c0217220>] devfs_open+0x0/0x250 

[<c0180c25>] dentry_open+0x145/0x210 

[<c0124781>] kernel_map_pages+0x31/0x70 

[<c019cb55>] sys_ioctl+0x205/0x3f0 

[<c0181306>] sys_open+0x76/0x90 

[<c04f24e7>] syscall_call+0x7/0xb 

kcapi: appl 1 up 

capi20_put_message: applid 0x1 

capi20_put_message: applid 0x1 

Unable to handle kernel paging request at virtual address daf2cf04 

printing eip: 

e497828f 

*pde = 00069063 

Oops: 0000 [#1] 

PREEMPT DEBUG_PAGEALLOC 

CPU: 0 

EIP: 0060:[<e497828f>] Not tainted VLI 

EFLAGS: 00010292 

EIP is at plci_connect_conf+0xf/0x50 [mISDN_capi] 

eax: daf2ce84 ebx: 00000001 ecx: e498cf14 edx: dad077d0 

esi: dad077d0 edi: 00000001 ebp: db463e40 esp: db463e34 

ds: 007b es: 007b ss: 0068 

Process pppd (pid: 3372, threadinfo=db462000 task=dadfd950) 

Stack: daa05f60 daf2ce84 00000001 db463e6c e4973104 dad077d0 00000001 daf2ce84 

daff8e38 dad077a8 e4978280 00000000 dad077d0 00000000 db463e98 e4973104 

dad077d0 00000001 daf2ce84 daf2ce84 daf2ae00 e4978180 daf2ce84 dad077a8 

Call Trace: 

[<e4973104>] FsmEvent+0x84/0xf0 [mISDN_capi] 

[<e4978280>] plci_connect_conf+0x0/0x50 [mISDN_capi] 

[<e4973104>] FsmEvent+0x84/0xf0 [mISDN_capi] 

[<e4978180>] plci_connect_req+0x0/0x100 [mISDN_capi] 

[<e497abc2>] AppPlciGetCmsg+0xd2/0x180 [mISDN_capi] 

[<e497acbd>] AppPlciSendMessage+0x4d/0xa0 [mISDN_capi] 

[<e4976b8b>] ApplicationSendMessage+0x11b/0x360 [mISDN_capi] 

[<c0124781>] kernel_map_pages+0x31/0x70 

[<e4974ce6>] SendMessage+0x46/0x80 [mISDN_capi] 

[<e492b40d>] capi20_put_message+0x19d/0x250 [kernelcapi] 

[<e4939436>] capi_write+0x146/0x270 [capi] 

[<e49392f0>] capi_write+0x0/0x270 [capi] 

[<c01822f0>] vfs_write+0xa0/0x120 

[<c018240f>] sys_write+0x3f/0x60 

[<c04f24e7>] syscall_call+0x7/0xb 

Code: 5d 10 c7 45 0c 01 00 00 00 89 45 08 83 c4 1c 5b 5e 5f c9 e9 04 ae ff ff 8d 74 26 00 55 89 e5 83 ec 0c 8b 45 10 89 5d fc 8b 55 08 <66> 83 b8 80 00 00 00 00 8b 5a 0c 75 10 c7 45 0c 02 00 00 00 8b 

<7>capi20_release: applid 0x1 

release_appl: applid 0x1 

kcapi: appl 1 down 

capi20_register: 

Debug: sleeping function called from invalid context at mm/slab.c:1868 

in_atomic():1, irqs_disabled():1 

Call Trace: 

[<c012a01b>] __might_sleep+0xab/0xd0 

[<c012e728>] __call_console_drivers+0x58/0x60 

[<c01601f9>] __kmalloc+0x279/0x290 

[<e4a11a61>] __mid_kmalloc+0x21/0x80 [mISDN_core] 

[<e4976673>] ApplicationConstr+0x33/0x130 [mISDN_capi] 

[<e4974887>] RegisterApplication+0xe7/0x230 [mISDN_capi] 

[<e492a062>] register_appl+0x62/0x80 [kernelcapi] 

[<e492b1d4>] capi20_register+0xd4/0xe0 [kernelcapi] 

[<e4939714>] capi_ioctl+0x154/0x800 [capi] 

[<c0217220>] devfs_open+0x0/0x250 

[<c0180c25>] dentry_open+0x145/0x210 

[<c0124781>] kernel_map_pages+0x31/0x70 

[<c019cb55>] sys_ioctl+0x205/0x3f0 

[<c0181306>] sys_open+0x76/0x90 

[<c04f24e7>] syscall_call+0x7/0xb 

kcapi: appl 1 up 

capi20_put_message: applid 0x1 

capi20_put_message: applid 0x1 

Unable to handle kernel paging request at virtual address dbd12f04 

printing eip: 

e497828f 

*pde = 0006d063 

Oops: 0000 [#2] 

PREEMPT DEBUG_PAGEALLOC 

CPU: 0 

EIP: 0060:[<e497828f>] Not tainted VLI 

EFLAGS: 00010292 

EIP is at plci_connect_conf+0xf/0x50 [mISDN_capi] 

eax: dbd12e84 ebx: 00000001 ecx: e498cf14 edx: dd1fc7d0 

esi: dd1fc7d0 edi: 00000001 ebp: daf97e40 esp: daf97e34 

ds: 007b es: 007b ss: 0068 

Process pppd (pid: 3385, threadinfo=daf96000 task=dae0b950) 

Stack: db359f60 dbd12e84 00000001 daf97e6c e4973104 dd1fc7d0 00000001 dbd12e84 

daff8e38 dd1fc7a8 e4978280 00000000 dd1fc7d0 00000000 daf97e98 e4973104 

dd1fc7d0 00000001 dbd12e84 dbd12e84 daec6e00 e4978180 dbd12e84 dd1fc7a8 

Call Trace: 

[<e4973104>] FsmEvent+0x84/0xf0 [mISDN_capi] 

[<e4978280>] plci_connect_conf+0x0/0x50 [mISDN_capi] 

[<e4973104>] FsmEvent+0x84/0xf0 [mISDN_capi] 

[<e4978180>] plci_connect_req+0x0/0x100 [mISDN_capi] 

[<e497abc2>] AppPlciGetCmsg+0xd2/0x180 [mISDN_capi] 

[<e497acbd>] AppPlciSendMessage+0x4d/0xa0 [mISDN_capi] 

[<e4976b8b>] ApplicationSendMessage+0x11b/0x360 [mISDN_capi] 

[<c0124781>] kernel_map_pages+0x31/0x70 

[<e4974ce6>] SendMessage+0x46/0x80 [mISDN_capi] 

[<e492b40d>] capi20_put_message+0x19d/0x250 [kernelcapi] 

[<e4939436>] capi_write+0x146/0x270 [capi] 

[<e49392f0>] capi_write+0x0/0x270 [capi] 

[<c01822f0>] vfs_write+0xa0/0x120 

[<c018240f>] sys_write+0x3f/0x60 

[<c04f24e7>] syscall_call+0x7/0xb 

Code: 5d 10 c7 45 0c 01 00 00 00 89 45 08 83 c4 1c 5b 5e 5f c9 e9 04 ae ff ff 8d 74 26 00 55 89 e5 83 ec 0c 8b 45 10 89 5d fc 8b 55 08 <66> 83 b8 80 00 00 00 00 8b 5a 0c 75 10 c7 45 0c 02 00 00 00 8b 

<7>capi20_release: applid 0x1 

release_appl: applid 0x1 

kcapi: appl 1 down 

 :Crying or Very sad: 

----------

## alo-alo

Hm. I don't know anything about programing....but try to disable preemption.

----------

## ThomasL

 *alo-alo wrote:*   

> Hm. I don't know anything about programing....but try to disable preemption.

 

I had the same messages. It worked for me. Thanks!

But there is another problem now. I use a 2.6.0-kernel with capi-patch and latest mISDN-CVS-snapshot.

Now I load the modules:

```

modprobe capi

modprobe mISDN_core

modprobe mISDN_l1

modprobe mISDN_l2

modprobe l3udss1

modprobe mISDN_capi

modprobe mISDN_isac

modprobe avmfritz protocol=2

FATAL: Error inserting avmfritz (/lib/modules/2.6.0-mm1-isdn/kernel/drivers/isdn/hardware/mISDN/avmfritz.ko): No such device

```

Here is the output from dmesg:

```

AVM Fritz PCI/PnP driver Rev. 1.19

mISDN_fcpcipnp: found adapter Fritz!Card PCI at 0000:02:0d.0

fritz card f1a84040 dch f1a840d4 bch1 f1a84250 bch2 f1a843dc

AVM PCI: stat 0x3020a

AVM PCI: Class A Rev 2

AVM PnP: HDLC version 1

mISDN: AVM Fritz!PCI config irq:9 base:0xB000

spin_lock_adr=f1a84064 now(f8c768fe)

busy_lock_adr=f1a84064 now(f8c768fe)

Fritz1 ISAC STAR 48

Fritz1 ISAC MODE 0

Fritz1 ISAC ADF2 0

Fritz1 ISAC ISTA 0

Fritz1 ISAC CIR0 7c

ISAC_init: ISAC version (0): 2086/2186 V1.1

Fritz1 HDLC 1 STA 81000000

Fritz1 HDLC 2 STA 0

kcapi: Controller 1: mISDN1 attached

AVM Fritz!PCI: IRQ 9 count 3

fritz_manager: prim fe580 not handled

kcapi: card 1 "mISDN1" ready.

fritz 1 cards installed

kcapi: notify up contr 1

try_ok(15) try_wait(0) try_mult(0) try_inirq(0)

irq_ok(3) irq_fail(0)

release_l1 id 1

fritz_manager: no channel data f1a840d4 prim f3380 arg f19a9d34

capi_ctr_reseted:

kcapi: card 1 down.

kcapi: Controller 1: mISDN1 unregistered

kcapi: notify down contr 1

```

Has anyone a solution? I also tested the ebuild from https://forums.gentoo.org/viewtopic.php?t=118242 but the same problem there.

Thanks

----------

## alo-alo

ThomasL: you confirm that preemption was the problem? Anything else wasn't changed?

Hm, what about insmod avmfritz protocol=2? 

You must enable pnp in your kernel. 

zerwas: funk mISDN? Wie ich sehe, hast du etwas falsch gemacht. Hast du alles nach dem howto gemacht?

----------

## Tiro

oh...ok I will but don't sure to know where can disable preemption...

----------

## Tiro

yes done...compiled without preemptible ut returns the same message...

 :Crying or Very sad: 

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)

Modular ISDN Stack core $Revision: 1.20 $

mISDNd: kernel daemon started

mISDNd: test event done

ISDN L1 driver version 1.8

ISDN L2 driver version 1.16

mISDN: DSS1 Rev. 1.19

mISDN Capi 2.0 driver file version 1.11

ISAC module $Revision: 1.13 $

Winbond W6692 PCI driver Rev. 1.6

mISDN_w6692: found adapter Winbond W6692 at 0000:00:0a.0

W6692: Winbond W6692 version (0): W6692 V00

kcapi: Controller 1: mISDN1 attached

w6692: IRQ 11 count 9

kcapi: card 1 "mISDN1" ready.

w6692 1 cards installed

kcapi: notify up contr 1

capi20_register: 

Debug: sleeping function called from invalid context at mm/slab.c:1868

in_atomic():0, irqs_disabled():1

Call Trace:

 [<c01292c1>] __might_sleep+0x91/0xa0

 [<c015c5e5>] __kmalloc+0x275/0x290

 [<c0126e8a>] __wake_up_common+0x3a/0x60

 [<e4920661>] __mid_kmalloc+0x21/0x80 [mISDN_core]

 [<e495b573>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<e495984c>] RegisterApplication+0xdc/0x210 [mISDN_capi]

 [<e498a031>] register_appl+0x31/0x40 [kernelcapi]

 [<e498b014>] capi20_register+0xd4/0xe0 [kernelcapi]

 [<e49116e4>] capi_ioctl+0x154/0x7f0 [capi]

 [<c0204510>] devfs_open+0x0/0xa0

 [<c0124141>] kernel_map_pages+0x31/0x70

 [<c017b976>] sys_open+0x76/0x90

 [<c019491f>] sys_ioctl+0xaf/0x250

 [<c04c11ab>] syscall_call+0x7/0xb

kcapi: appl 1 up

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

Unable to handle kernel paging request at virtual address db577f04

 printing eip:

e495d18f

*pde = 0006b063

Oops: 0000 [#1]

DEBUG_PAGEALLOC

CPU:    0

EIP:    0060:[<e495d18f>]    Not tainted VLI

EFLAGS: 00010292

EIP is at plci_connect_conf+0xf/0x50 [mISDN_capi]

eax: db577e84   ebx: 00000001   ecx: e4971d14   edx: db5727d0

esi: db5727d0   edi: 00000001   ebp: db835e40   esp: db835e34

ds: 007b   es: 007b   ss: 0068

Process pppd (pid: 3309, threadinfo=db834000 task=db841950)

Stack: dc488f60 db577e84 00000001 db835e6c e4958104 db5727d0 00000001 db577e84 

       db970e38 db5727a8 e495d180 00000000 db5727d0 00000000 db835e98 e4958104 

       db5727d0 00000001 db577e84 db577e84 db575e00 e495d080 db577e84 db5727a8 

Call Trace:

 [<e4958104>] FsmEvent+0x84/0xf0 [mISDN_capi]

 [<e495d180>] plci_connect_conf+0x0/0x50 [mISDN_capi]

 [<e4958104>] FsmEvent+0x84/0xf0 [mISDN_capi]

 [<e495d080>] plci_connect_req+0x0/0x100 [mISDN_capi]

 [<e495fac2>] AppPlciGetCmsg+0xd2/0x180 [mISDN_capi]

 [<e495fbbd>] AppPlciSendMessage+0x4d/0xa0 [mISDN_capi]

 [<e495ba8b>] ApplicationSendMessage+0x11b/0x360 [mISDN_capi]

 [<c0124141>] kernel_map_pages+0x31/0x70

 [<e4959c56>] SendMessage+0x46/0x80 [mISDN_capi]

 [<e498b24d>] capi20_put_message+0x19d/0x250 [kernelcapi]

 [<e4911406>] capi_write+0x146/0x270 [capi]

 [<e49112c0>] capi_write+0x0/0x270 [capi]

 [<c017c59a>] vfs_write+0xaa/0x120

 [<c017c6af>] sys_write+0x3f/0x60

 [<c04c11ab>] syscall_call+0x7/0xb

Code: 5d 10 c7 45 0c 01 00 00 00 89 45 08 83 c4 1c 5b 5e 5f c9 e9 04 af ff ff 8d 74 26 00 55 89 e5 83 ec 0c 8b 45 10 89 5d fc 8b 55 08 <66> 83 b8 80 00 00 00 00 8b 5a 0c 75 10 c7 45 0c 02 00 00 00 8b 

 <7>capi20_release: applid 0x1

release_appl: applid 0x1

kcapi: appl 1 down

----------

## Tiro

am going to compile without page_alloc...because don't know what to do now...

----------

## Tiro

YES!!!!

i get the IP !!  :Smile: 

but can't ping anything...

my  /etc/conf.d/net:

iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"

gateway="eth0/192.168.0.2" 

iface_ippp0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"

gateway="ippp0/192.168.0.2"

----------

## alo-alo

Oo, you are doing something wrong. mISDN communicates over /dev/ppp0. You don't need /etc/conf.d nor any other init.d script. 

Perhaps you must have pap-secrets and chap-secrets files in /etc/ppp. In both add:

"<username>"  *   "<password>"

Don't forget to add defaulroute to /etc/ppp/peers/isdn/arcor.

Also see: http://rcum.uni-mb.si/~uvp00845b

----------

## Tiro

yes I have all the default settings (ipcp-accept-local / remote )...the isp gives me the IP...perhaps missed other few configs for dynamic ip? Or have to # route add $omething??

Sorry but never connected to isps with pppd by now (only dhcpcd eth0)  :Smile:   , so I think to miss something..but don't know what..

I followed all the steps of (your?) tutorial...but can't ping having:

ppp0      Link encap:Point-to-Point Protocol  

          inet addr:151.yy.168.xxx  P-t-P:151.yy.143.xxx  Mask:255.255.255.255

          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

          RX packets:6 errors:0 dropped:0 overruns:0 frame:0

          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:3 

          RX bytes:125 (125.0 b)  TX bytes:61 (61.0 b)

----------

## ThomasL

 *alo-alo wrote:*   

> ThomasL: you confirm that preemption was the problem? Anything else wasn't changed?
> 
> Hm, what about insmod avmfritz protocol=2? 
> 
> You must enable pnp in your kernel. 

 

Besten Dank. Hat prima geklappt. Dass man PnP aktivieren muss war mir nicht klar.  (ebensowenig hab ich gesehen, dass es ein deutsches Forum ist  :Smile: )

Ich hatte nich genau den selben fehler mit "preemption enabled", jedoch was sehr ähnliches. Auch eine "Unable to handle kernel paging request"-Meldung. Details dazu hab ich leider nicht mehr. Aus irgendeinem sonderbaren Grund sind diese Meldungen nicht im log-file.

Inzwischen läuft bei mir alles mit dem 2.6-Kernel. Besten Dank für deine Hilfe.

----------

## ThomasL

 *alo-alo wrote:*   

> ThomasL: you confirm that preemption was the problem? Anything else wasn't changed?
> 
> Hm, what about insmod avmfritz protocol=2? 
> 
> You must enable pnp in your kernel. 
> ...

 

Das war's! PnP hat gefehlt. Und ich hab noch nicht mal gesehen, dass das hier ein deutsches Forum ist  :Smile: 

Wieder bin ich einen Schritt weiter. Der Treiber läuft und hat sich auch beim capi-system registriert.

Gleich noch eine Frage. Bisher verwendete ich immer capi4k-utils um Faxe zu empfangen. Leider lässt sich auch das aktuelle capi4k-utils-20030616.ebuild nicht richtig installieren. Kriege bei verschiedenen Modulen diesen Fehler:

```
configure: error: Missing linux/capi.h. Kernel source installed?
```

Ich konnte zwar von Hand den Fax-Teil der capi-utils installieren. (make config, alles ausser Fax deaktiviert, make)

Gibt es eine schönere Lösung? Bzw. womit versendet ihr eure Faxe?

Besten Dank

----------

## alo-alo

Vielleicht ln -sf dein_linux_source linux (in /usr/src natuerlich)?

Bei mir:

sudo emerge /usr/portage/net-dialup/capi4k-utils/capi4k-utils-20030616.ebuild

Running configure in capi20 ...

creating cache ./config.cache

checking for a BSD compatible install... /bin/install -c

checking whether build environment is sane... yes

checking whether make sets ${MAKE}... yes

checking for working aclocal... found

checking for working autoconf... found

checking for working automake... found

checking for working autoheader... found

checking for working makeinfo... found

checking for gcc... gcc

checking whether the C compiler (gcc -O3 -march=athlon-xp -funroll-loops -fprefetch-loop-arrays -pipe ) works... yes

checking whether the C compiler (gcc -O3 -march=athlon-xp -funroll-loops -fprefetch-loop-arrays -pipe ) is a cross-compiler... no

checking whether we are using GNU C... yes

checking whether gcc accepts -g... yes

checking for a BSD compatible install... /bin/install -c

checking for Cygwin environment... no

checking for mingw32 environment... no

checking how to run the C preprocessor... gcc -E

checking host system type... i686-pc-linux-gnu

checking build system type... i686-pc-linux-gnu

checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld

checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes

checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r

checking for BSD-compatible nm... /usr/bin/nm -B

checking for a sed that does not truncate output... /bin/sed

checking whether ln -s works... yes

checking how to recognise dependent libraries... pass_all

checking for object suffix... o

checking for executable suffix... no

checking command to parse /usr/bin/nm -B output... ok

checking for dlfcn.h... yes

checking for ranlib... ranlib

checking for strip... strip

checking for objdir... .libs

checking for gcc option to produce PIC... -fPIC

checking if gcc PIC flag -fPIC works... yes

checking if gcc static flag -static works... yes

checking if gcc supports -c -o file.o... yes

checking if gcc supports -c -o file.lo... yes

checking if gcc supports -fno-rtti -fno-exceptions... yes

checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking dynamic linker characteristics... GNU/Linux ld.so

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking whether -lc should be explicitly linked in... no

creating libtool

checking for object suffix... (cached) o

checking for sed... /bin/sed

checking for ANSI C header files... yes

checking for fcntl.h... yes

checking for sys/ioctl.h... yes

checking for unistd.h... yes

checking for linux/capi.h... yes

checking for select... yes

updating cache ./config.cache

creating ./config.status

creating Makefile

----------

## Giuly

Also, ich versuche es nun auch  :Smile: 

Wie ist dann denn mit der Kanalbündelung? 

Kann man die wärend der Verbindung ab/anschalten?

Kann mann die ÜBERHAUPT ab/anschalten?

MfG

Giuly   :Surprised: 

Edit:

ich bekomme beim Laden der Module ein "Error inserting 'avmfritz.ko': -1 Unknown symbol in module"

und bei pppd call ein "pppd: /usr/lib/pppd/2.4.1/userpass.so: cannot open shared object file: No such f ile or directory

pppd: Couldn't load plugin userpass.so".

Weiß jemadn wie man dsa fixt?

----------

## alo-alo

Du musst capi4k-utils emergen. 

Was die Kanalbuendelung betrifft, bei mir hat es nicht geklappt. Ich warte auf die Antwort von Karsten Keil.

----------

## ThomasL

Giuly: Das Problem mit den unbekannten Symbolen hatte ich auch. Das avmfritz-Modul verwendet die Makros sti, save_flags und restore_flags. Diese Makros wurden im 2.6er Kernel offiziell abgeschafft. Bei Systemen OHNE SMP (Mehrprozessor-Support) sind die Makros noch enthalten.

Du musst also deinen Kernel ohne SMP-Support neu übersetzen. Kontrolliere aber zuerst mit "dmesg", ob es wirklich diese Symbole sind.

Falls du ein PC mit Hyperthreading (oder ein echtes Mehrprozessorsystem) hast, kannst du danach aber nicht mehr die volle Leistung brauchen.

Details findest du unter "Documentation/cli-sti-removal.txt" im Kernel-Source-Tree.

alo-alo: Ich hatte die linux-headers-2.6.0 installiert. Vermutlich hast du noch die alten. Mit den Alten klappte es bei mir auch mit dem Übersetzen. Funktionieren tuts trotzdem nicht. Zwar kann ich capifaxrcvd starten wie gewohnt, jedoch kommen folgende Errors (in dmesg). Funktioneren tut's nicht.

```

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1868

in_atomic():0, irqs_disabled():1

Call Trace:

 [<c011dec3>] __might_sleep+0x92/0x9f

 [<c013d991>] __kmalloc+0x88/0x8f

 [<f8c487f5>] __mid_kmalloc+0x21/0x81 [mISDN_core]

 [<f8c9b8df>] ApplicationConstr+0x33/0x12b [mISDN_capi]

 [<f8c9a365>] RegisterApplication+0x76/0xba [mISDN_capi]

 [<f8c1f043>] register_appl+0x43/0x4e [kernelcapi]

 [<f8c1fafa>] capi20_register+0xd4/0xd6 [kernelcapi]

 [<f8c2c3be>] capi_ioctl+0x158/0x850 [capi]

 [<c014ee3b>] dentry_open+0x132/0x1c4

 [<c014ed07>] filp_open+0x62/0x64

 [<c015fc04>] sys_ioctl+0xac/0x228

 [<c038ae9b>] syscall_call+0x7/0xb

kcapi: appl 1 up

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

mISDN: INTERNAL ERROR in drivers/isdn/hardware/mISDN/app_plci.c:428

fritz_manager: prim f1880 not handled

capi20_put_message: applid 0x1

Fritz1 B2 ch1 invalid frame 0x11729

Fritz1 B2 ch1 invalid frame 0x11521

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_release: applid 0x1

release_appl: applid 0x1

kcapi: appl 1 down

```

Denke ich werde mir ein externes ISDN-Modem mit FAX-Support beschaffen müssen oder kennt einer von euch eine Software, die funktioniert? Ich muss nur Faxe empfangen können. Senden brauch ich nicht.

----------

## Giuly

ich bekomme das:

```
avmfritz: Unknown symbol __mid_alloc_skb

avmfritz: Unknown symbol mISDN_register

avmfritz: Unknown symbol restore_flags

avmfritz: Unknown symbol ISAC_init

avmfritz: Unknown symbol ISAC_interrupt

avmfritz: Unknown symbol __mid_kmalloc

avmfritz: Unknown symbol save_flags

avmfritz: Unknown symbol ISAC_l1hw

avmfritz: Unknown symbol ISAC_free

avmfritz: Unknown symbol __mid_kfree

avmfritz: Unknown symbol mISDN_unregister

avmfritz: Unknown symbol sti

avmfritz: Unknown symbol ISAC_clear_pending_ints
```

beim insmod von avmfritz.ko

Edit: Ich hab SMP ausgemacht und übersetzte den Kernel jetzt neu.

----------

## ThomasL

 *Giuly wrote:*   

> ich bekomme das:
> 
> ```
> avmfritz: Unknown symbol __mid_alloc_skb
> 
> ...

 

restore_flags, save_flags und sti sollten danach weg sein. Die anderen Meldungen kommen vermutlich daher, dass du die mISDN-Module noch nicht geladen hast.

Eine Anleitung dazu ist am Anfang des Threads.

----------

## Giuly

Die Module gehen jetzt alle (Ich hab SMP ausgemacht)

ABER:

```
root@CampiII root # pppd call isdn/arcor

pppd: /usr/lib/pppd/2.4.1/userpass.so: cannot open shared object file: No such file or directory

pppd: Couldn't load plugin userpass.so
```

Edit: capi4k-utils gemerged, nun das:

```
root@CampiII giuly # pppd call isdn/arcor

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7

pppd: pppd is unable to open the /dev/ppp device.

You need to create the /dev/ppp device node by

executing the following command as root:

        mknod /dev/ppp c 108 0

 

root@CampiII giuly #  mknod /dev/ppp c 108 0

root@CampiII giuly # pppd call isdn/arcor

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7

pppd: This system lacks kernel support for PPP.  This could be because

the PPP kernel module could not be loaded, or because PPP was not

included in the kernel configuration.  If PPP was included as a

module, try `/sbin/modprobe -v ppp'.  If that fails, check that

ppp.o exists in /lib/modules/`uname -r`/net.

See README.linux file in the ppp distribution for more details.

 

root@CampiII giuly # /sbin/modprobe -v ppp

FATAL: Module ppp not found.
```

----------

## alo-alo

Beim Faxen kann ich leider nicht helfen, ich brauche es nicht. Ich hab keine Ahnung, ob das Faxen funktioniert. 

Ihr MUSST CAPI installieren sonnst wird pppd nicht arbeiten. Die Version aus dem Jahr 2003 ist besser. Wie ich sehe einige koennen es (2002) garnicht kompilieren. 

Manhmal ist es gut automake, autoconf und libtools updaten. 

PS: ist vielleicht was fuer Faxen in mISDNUser drinn?

----------

## Giuly

Also ich hab noch PPP rein gemacht und neu übersetzt. Jetzt gehts.

nur brauch ich jetzt hilfe, was jetzt machen muss (Route, IFConfig, ...).

----------

## alo-alo

Ich hoffe du hast ppp sync gemacht, nicht async. Auf http://rcum.uni-mb.si/uvp00845b steht alles. Und sehe diesen Topic. Alles. Kein brauchst kein ifconfig, router, nichts. Lokales routing macht defaultroute in isdn/arcor.

----------

## Giuly

ich hab alles, was mit PPP zutun hat, mit eincompiliert (Ausser PPPoE)

----------

## alo-alo

Und funkt?

----------

## Giuly

Nein, irgendwie nicht.

dmesg sagt:

```
capi20: Rev 1.1.4.1.2.2: started up with major 68 (middleware+capifs)

Modular ISDN Stack core $Revision: 1.20 $

mISDNd: kernel daemon started

mISDNd: test event done

ISDN L1 driver version 1.8

ISDN L2 driver version 1.16

mISDN: DSS1 Rev. 1.19

mISDN Capi 2.0 driver file version 1.11

ISAC module $Revision: 1.13 $

AVM Fritz PCI/PnP driver Rev. 1.19

mISDN_fcpcipnp: found adapter Fritz!Card PCI at 0000:00:0d.0

fritz card cd381840 dch cd3818d4 bch1 cd381a50 bch2 cd381bdc

AVM PCI: stat 0x3020a

AVM PCI: Class A Rev 2

AVM PnP: HDLC version 1

mISDN: AVM Fritz!PCI config irq:11 base:0xD000

spin_lock_adr=cd381864 now(d098ab38)

busy_lock_adr=cd381864 now(d098ab38)

kcapi: Controller 1: mISDN1 attached

Fritz1 ISAC STAR 4a

Fritz1 ISAC MODE 0

Fritz1 ISAC ADF2 0

Fritz1 ISAC ISTA 0

Fritz1 ISAC CIR0 7c

ISAC_init: ISAC version (0): 2086/2186 V1.1

Fritz1 HDLC 1 STA 81000000

Fritz1 HDLC 2 STA 0

AVM Fritz!PCI: IRQ 11 count 3

fritz_manager: prim fe580 not handled

kcapi: card 1 "mISDN1" ready.

kcapi: notify up contr 1

fritz 1 cards installed

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1856

in_atomic():1, irqs_disabled():1

Call Trace:

 [<c011894b>] __might_sleep+0xab/0xd0

 [<c0139b69>] __kmalloc+0x89/0x90

 [<d0981261>] __mid_kmalloc+0x21/0x90 [mISDN_core]

 [<d09d7c33>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<d09d6505>] RegisterApplication+0x85/0xe0 [mISDN_capi]

 [<c011b38d>] printk+0x11d/0x190

 [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

 [<d0956aa5>] capi20_register+0xd5/0xe0 [kernelcapi]

 [<d0963678>] capi_ioctl+0x158/0x860 [capi]

 [<c014cf22>] dentry_open+0x112/0x180

 [<c014ce06>] filp_open+0x66/0x70

 [<c015fe64>] sys_ioctl+0xf4/0x290

 [<c01094bb>] syscall_call+0x7/0xb

 

kcapi: appl 1 up

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1856

in_atomic():1, irqs_disabled():1

Call Trace:

 [<c011894b>] __might_sleep+0xab/0xd0

 [<c0139b69>] __kmalloc+0x89/0x90

 [<d0981261>] __mid_kmalloc+0x21/0x90 [mISDN_core]

 [<d09d7c33>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<d09d6505>] RegisterApplication+0x85/0xe0 [mISDN_capi]

 [<c011b38d>] printk+0x11d/0x190

 [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

 [<d0956aa5>] capi20_register+0xd5/0xe0 [kernelcapi]

 [<d0963678>] capi_ioctl+0x158/0x860 [capi]

 [<c014cf22>] dentry_open+0x112/0x180

 [<c014ce06>] filp_open+0x66/0x70

 [<c015fe64>] sys_ioctl+0xf4/0x290

 [<c01094bb>] syscall_call+0x7/0xb

 

kcapi: appl 2 up

capi20_put_message: applid 0x2

capi20_put_message: applid 0x2

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1856

in_atomic():1, irqs_disabled():1

Call Trace:

 [<c011894b>] __might_sleep+0xab/0xd0

 [<c0139b69>] __kmalloc+0x89/0x90

 [<d0981261>] __mid_kmalloc+0x21/0x90 [mISDN_core]

 [<d09d7c33>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<d09d6505>] RegisterApplication+0x85/0xe0 [mISDN_capi]

 [<c011b38d>] printk+0x11d/0x190

 [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

 [<d0956aa5>] capi20_register+0xd5/0xe0 [kernelcapi]

 [<d0963678>] capi_ioctl+0x158/0x860 [capi]

 [<c014cf22>] dentry_open+0x112/0x180

 [<c014ce06>] filp_open+0x66/0x70

 [<c015fe64>] sys_ioctl+0xf4/0x290

 [<c01094bb>] syscall_call+0x7/0xb

 

kcapi: appl 3 up

capi20_put_message: applid 0x3

capi20_put_message: applid 0x3

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1856

in_atomic():1, irqs_disabled():1

Call Trace:

 [<c011894b>] __might_sleep+0xab/0xd0

 [<c0139b69>] __kmalloc+0x89/0x90

 [<d0981261>] __mid_kmalloc+0x21/0x90 [mISDN_core]

 [<d09d7c33>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<d09d6505>] RegisterApplication+0x85/0xe0 [mISDN_capi]

 [<c011b38d>] printk+0x11d/0x190

 [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

 [<d0956aa5>] capi20_register+0xd5/0xe0 [kernelcapi]

 [<d0963678>] capi_ioctl+0x158/0x860 [capi]

 [<c014cf22>] dentry_open+0x112/0x180

 [<c014ce06>] filp_open+0x66/0x70

 [<c015fe64>] sys_ioctl+0xf4/0x290

 [<c01094bb>] syscall_call+0x7/0xb

 

kcapi: appl 4 up

capi20_put_message: applid 0x4

capi20_put_message: applid 0x4

capi20_put_message: applid 0x1

capi20_put_message: applid 0x2

capi20_put_message: applid 0x3

capi20_put_message: applid 0x4

mISDN: INTERNAL ERROR in drivers/isdn/hardware/mISDN/appl.c:267

capi20_put_message: applid 0x1

capi20_put_message: applid 0x2

capi20_put_message: applid 0x3

capi20_put_message: applid 0x4

capi20_put_message: applid 0x1

capi20_put_message: applid 0x2

capi20_put_message: applid 0x3

capi20_put_message: applid 0x4

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

mISDN dss1 fromup without proc pr=34580

capi20_put_message: applid 0x1

mISDN dss1 fromup without proc pr=34580

capi20_release: applid 0x1

release_appl: applid 0x1

kcapi: appl 1 down

capi20_put_message: applid 0x2

capi20_put_message: applid 0x2

mISDN dss1 fromup without proc pr=34580

capi20_put_message: applid 0x2

mISDN dss1 fromup without proc pr=34580

capi20_put_message: applid 0x3

capi20_put_message: applid 0x3

mISDN dss1 fromup without proc pr=34580

capi20_put_message: applid 0x3

mISDN dss1 fromup without proc pr=34580

capi20_put_message: applid 0x4

capi20_put_message: applid 0x4

mISDN dss1 fromup without proc pr=34580

capi20_release: applid 0x2

release_appl: applid 0x2

kcapi: appl 2 down

capi20_release: applid 0x3

release_appl: applid 0x3

kcapi: appl 3 down

capi20_release: applid 0x4

release_appl: applid 0x4

kcapi: appl 4 down

capi20_register:

mISDN: INTERNAL ERROR in drivers/isdn/hardware/mISDN/contr.c:181

kcapi: appl 1 up

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_register:

mISDN: INTERNAL ERROR in drivers/isdn/hardware/mISDN/contr.c:181

kcapi: appl 2 up

capi20_put_message: applid 0x2

capi20_put_message: applid 0x2

capi20_put_message: applid 0x1

capi20_put_message: applid 0x2

capi20_put_message: applid 0x1
```

----------

## alo-alo

ICH HABE NUR EINE BITTE: immer den ganzen Topic durchlesen!

Disable preemption und enable pnp im kernel.

----------

## Giuly

Jetzt verbindet er, aber ich kann nichts pingen.

im var/log/messages kommt

```
Dec 31 01:22:52 CampiII kernel: in_atomic():0, irqs_disabled():1

Dec 31 01:22:52 CampiII kernel: Call Trace:

Dec 31 01:22:52 CampiII kernel:  [<c0118082>] __might_sleep+0x92/0xa0

Dec 31 01:22:52 CampiII kernel:  [<c0136c89>] __kmalloc+0x89/0x90

Dec 31 01:22:52 CampiII kernel:  [<d0979e71>] __mid_kmalloc+0x21/0x90 [mISDN_core]

Dec 31 01:22:52 CampiII kernel:  [<d09ceb23>] ApplicationConstr+0x33/0x130 [mISDN_capi]

Dec 31 01:22:52 CampiII kernel:  [<d09cd4c6>] RegisterApplication+0x76/0xc0 [mISDN_capi]

Dec 31 01:22:52 CampiII kernel:  [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

Dec 31 01:22:52 CampiII kernel:  [<d0956a45>] capi20_register+0xd5/0xe0 [kernelcapi]

Dec 31 01:22:52 CampiII kernel:  [<d09523e8>] capi_ioctl+0x158/0x860 [capi]

Dec 31 01:22:52 CampiII kernel:  [<c0148612>] dentry_open+0x112/0x180

Dec 31 01:22:52 CampiII kernel:  [<c01484f6>] filp_open+0x66/0x70

Dec 31 01:22:52 CampiII kernel:  [<c0159c0f>] sys_ioctl+0xaf/0x230

Dec 31 01:22:52 CampiII kernel:  [<c010924f>] syscall_call+0x7/0xb

Dec 31 01:22:52 CampiII kernel:

Dec 31 01:22:52 CampiII kernel: fritz_manager: prim f1880 not handled

```

und im dmesg kommt 

```
kcapi: notify up contr 1

capi20_register:

Debug: sleeping function called from invalid context at mm/slab.c:1856

in_atomic():0, irqs_disabled():1

Call Trace:

 [<c0118082>] __might_sleep+0x92/0xa0

 [<c0136c89>] __kmalloc+0x89/0x90

 [<d0979e71>] __mid_kmalloc+0x21/0x90 [mISDN_core]

 [<d09ceb23>] ApplicationConstr+0x33/0x130 [mISDN_capi]

 [<d09cd4c6>] RegisterApplication+0x76/0xc0 [mISDN_capi]

 [<d095603f>] register_appl+0x3f/0x50 [kernelcapi]

 [<d0956a45>] capi20_register+0xd5/0xe0 [kernelcapi]

 [<d09523e8>] capi_ioctl+0x158/0x860 [capi]

 [<c0148612>] dentry_open+0x112/0x180

 [<c01484f6>] filp_open+0x66/0x70

 [<c0159c0f>] sys_ioctl+0xaf/0x230

 [<c010924f>] syscall_call+0x7/0xb

 

kcapi: appl 1 up

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

fritz_manager: prim f1880 not handled

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

capi20_put_message: applid 0x1

```

Der ein ISDN-Kanal ist belegt.

Edit: Wie kann ich da jetzt wieder auflegen?

----------

## ThomasL

 *Giuly wrote:*   

> Edit: Wie kann ich da jetzt wieder auflegen?

 

Kabel raus!

Das Problem hatte ich auch.

alo-alo: Schreib doch das mit PnP noch auf deine "Linux 2.6 and mISDN"-Homepage. Am Besten auch das von Preemption. Ausserdem sollte man vielleicht den Link nochmals bekanntgeben.

----------

## alo-alo

Ja, thomasL, ich sollt mal das tun. 

Vielleicht sollt man den link auf die erste seite des topics schreiben. muss den autor bitten, das zu machen.

----------

## Giuly

Frohes neues Jahr  :Smile: 

Also ich kann ja jetzt connecten, aber ich kann weder was pingen, noch auf irgendeine Seite gehen. Das mit dem defaultrouting klappt wohl nicht.

----------

## alo-alo

/etc/resolv.conf is ok? 

was gibt dir route aus?

----------

## Giuly

```
root@CampiII ppp # route

Kernel IP Routentabelle

Ziel            Router          Genmask         Flags Metric Ref    Use Iface

212.6.112.102   *               255.255.255.255 UH    0      0        0 ppp0

192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

loopback        localhost       255.0.0.0       UG    0      0        0 lo

default         Novoli          0.0.0.0         UG    1      0        0 eth0

```

und in der resolv.conf steht der DNS meines Providers.

----------

## alo-alo

sudo /sbin/route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

rpttlj23.arnes. *               255.255.255.255 UH    0      0        0 ppp0

192.168.0.0     *               255.255.255.0   U     0      0        0 eth0

loopback        localhost       255.0.0.0       UG    0      0        0 lo

default         rpttlj23.arnes. 0.0.0.0         UG    0      0        0 ppp0

Ich habe default fuer ppp0, wie du siehst. zeige deine ganze /etc/conf.d/net datei!

----------

## Giuly

```

# /etc/conf.d/net:

# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/conf.d/net,v 1.7 2002/11/18 19:39:22 azarah Exp $

 

# Global config file for net.* rc-scripts

 

# This is basically the ifconfig argument without the ifconfig $iface

#

iface_eth0="192.168.0.9 broadcast 192.168.0.255 netmask 255.255.255.0"

#iface_eth1="207.170.82.202 broadcast 207.0.255.255 netmask 255.255.0.0"

 

# For DHCP set iface_eth? to "dhcp"

# For passing options to dhcpcd use dhcpcd_eth?

#

#iface_eth0="dhcp"

#dhcpcd_eth0="..."

 

# For adding aliases to a interface

#

#alias_eth0="192.168.0.3 192.168.0.4"

 

# NB:  The next is only used for aliases.

#

# To add a custom netmask/broadcast address to created aliases,

# uncomment and change accordingly.  Leave commented to assign

# defaults for that interface.

#

#broadcast_eth0="192.168.0.255 192.168.0.255"

#netmask_eth0="255.255.255.0 255.255.255.0"

 

 

# For setting the default gateway

#

gateway="eth0/192.168.0.1"

 

 

#iface_ippp0="10.0.0.1 netmask 0"

#gateway="ippp0/10.0.0.1"
```

ich hab da jetzt gateway="ppp0/10.0.0.1" und iface_ppp0="10.0.0.1 netmask 0" hingeschrieben, das "10.0.0.1" wird ja ersetzt. Aber wiew restarte ich das jetzt?

----------

## alo-alo

Na also, hier ist das problem!!!!

Bitte nutze keinen gateway in /etc/conf.d/net!!! Auch fuer ppp0 nicht. Gateway macht dir defaultroute, ok, nicht im ganzen. 

Wenn du sagst gateway=ppp0, dann wird die verbindug zwischen zwei maschinen ueber eth nicht gehen, erst wenn du ueber ppp0 online gehst, dann wird es. 

alle gateway in conf.d/net:

#gateway bla bla

Jetzt sollte alles klappen!

----------

## Giuly

ok, hab ich eingetragen.

aber wie restarte ich das jetzt?

Edit: route del default und dann pppd dial, jetzt gehts  :Smile:  danke.Was ist jetzt eigentlich mit Kanalbündelung?

----------

## alo-alo

Es ist nicht richtig mit route del default. Du musst /etc/conf.d/net editieren und alle gateway mit # kommentieren! Beim neuem restart wird dann die neuest konfiguration gebraucht. 

Hab keine antwort von karsten keil. Hab heute vieles mit buendelung probiert, aber kein erfolg.

----------

## Giuly

ich habs ja kommentiert.

ich wollte aber nicht rebooten also hab ich route del default gemacht  :Smile: 

----------

## atomic666

Hat schon wer Kanalbündelung hinbekommen??

----------

## Giuly

ja  :Smile: 

also, meine /etc/ppp/peers/arcor-ml:

```
 sync

noauth

user <User-Name>

plugin userpass.so

password <Passwort>

defaultroute

plugin capiplugin.so

number <Nummer>

protocol hdlc

ipcp-accept-local

ipcp-accept-remote

multilink

mrru 1500

# endpoint need to be changed

endpoint magic:97865

/dev/null
```

achja, das bei "# endpoint need to be changed" muss nicht geändert werden, da muss man nur irgendeine Zahl eintragen, und das hab ich gemacht  :Surprised: 

dann machst du pppd call isdn/arcor-ml, wenn das verbunden ist amchst du das nochmal, dann sind beide Kanäle verbunden  :Smile: 

bei ps aux sollte dann sowas stehen:

```
root     18482  0.0  0.4  2116 1048 capi/0   S    16:48   0:00 pppd call isdn/arcor-ml

root     18505  0.0  0.4  2112 1028 capi/1   S    16:48   0:00 pppd call isdn/arcor-ml
```

 :Smile: 

----------

## alo-alo

Woran erkennst du, das Buendelung funktioniert? Was sagt dir capiinfo?

Bei mir geht's nicht.

----------

## Giuly

Karsten Keil hat mir aber gesagt, dass es so geht, und bei mir gehts auch.

```
root@CampiII giuly # cat /etc/ppp/peers/isdn/arcor-ml

 sync

noauth

user <USER-NAME BEIM ISP>

plugin userpass.so

password <PASSWORT BEIM ISP>

defaultroute

plugin capiplugin.so

number <NUMMER DES ISP>

protocol hdlc

ipcp-accept-local

ipcp-accept-remote

multilink

mrru 1500

# endpoint need to be changed

endpoint magic:97865

/dev/null

root@CampiII giuly # pppd call isdn/arcor-ml

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7

root@CampiII giuly # ps aux | grep pppd

root     24199  0.0  0.4  2108 1040 capi/0   S    23:16   0:00 pppd call isdn/arcor-ml

root     24211  0.0  0.2  3528  608 pts/0    S    23:16   0:00 grep pppd

root@CampiII giuly # capiinfo

Number of Controllers : 1

Controller 1:

Manufacturer: mISDN CAPI controller Fritz1

CAPI Version: 2.0

Manufacturer Version: 1.0

Serial Number: 0002

BChannels: 2

Global Options: 0x00000019

   internal controller supported

   DTMF supported

   Supplementary Services supported

B1 protocols support: 0x00000003

   64 kbit/s with HDLC framing

   64 kbit/s bit-transparent operation

B2 protocols support: 0x00000043

   ISO 7776 (X.75 SLP)

   Transparent

   Tranparent (ignoring framing errors of B1 protocol)

B3 protocols support: 0x00000001

   Transparent

 

  0100

  0200

  19000000

  03000000

  43000000

  01000000

  00000000 00000000 00000000 00000000 00000000 00000000

  00000000 00000000 00000000 00000000 00000000

 

Supplementary services support: 0x00000012

   Terminal Portability

   Call Forwarding

 

root@CampiII giuly # pppd call isdn/arcor-ml

Plugin userpass.so loaded.

userpass: $Revision: 1.4 $

Plugin capiplugin.so loaded.

capiplugin: $Revision: 1.32 $

capiconn:  1.7

root@CampiII giuly # ps aux | grep pppd

root     24199  0.0  0.4  2108 1040 capi/0   S    23:16   0:00 pppd call isdn/arcor-ml

root     24219  0.0  0.4  2104 1020 capi/1   S    23:16   0:00 pppd call isdn/arcor-ml

root     24221  0.0  0.2  3528  608 pts/0    S    23:16   0:00 grep pppd

root@CampiII giuly # capiinfo

Number of Controllers : 1

Controller 1:

Manufacturer: mISDN CAPI controller Fritz1

CAPI Version: 2.0

Manufacturer Version: 1.0

Serial Number: 0002

BChannels: 2

Global Options: 0x00000019

   internal controller supported

   DTMF supported

   Supplementary Services supported

B1 protocols support: 0x00000003

   64 kbit/s with HDLC framing

   64 kbit/s bit-transparent operation

B2 protocols support: 0x00000043

   ISO 7776 (X.75 SLP)

   Transparent

   Tranparent (ignoring framing errors of B1 protocol)

B3 protocols support: 0x00000001

   Transparent

 

  0100

  0200

  19000000

  03000000

  43000000

  01000000

  00000000 00000000 00000000 00000000 00000000 00000000

  00000000 00000000 00000000 00000000 00000000

 

Supplementary services support: 0x00000012

   Terminal Portability

   Call Forwarding
```

Ich erkenne es daran, dass unter ps aux | grep pppd etwas mit "capi/1" steht und dass ich mit wget etwas mit 14kb/s ziehe kann  :Wink: 

----------

## Giuly

@alo-alo: gehts?

ich hab aber ein anderes Problem:

Ich habs mut dem Kernel 2.6.1 versucht, ich bekomme aber das:

```
drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xce0): In function `FsmDelTimer':

: multiple definition of `FsmDelTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xce0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x320): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xb50): In function `FsmEvent':

: multiple definition of `FsmEvent'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb50): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x6a0): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x830): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x5a0): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x90): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xd70): In function `FsmRestartTimer':

: multiple definition of `FsmRestartTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xd70): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x1c0): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x520): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x160): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x270): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x8f0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xc40): In function `FsmChangeState':

: multiple definition of `FsmChangeState'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc40): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x3c0): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xcf0): In function `FsmAddTimer':

: multiple definition of `FsmAddTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcf0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x9a0): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x6f0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xb30): In function `FsmFree':

: multiple definition of `FsmFree'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb30): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x640): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xcb0): In function `FsmInitTimer':

: multiple definition of `FsmInitTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x4a0): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0xa50): In function `FsmNew':

: multiple definition of `FsmNew'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xa50): first defined here

drivers/isdn/hardware/mISDN/mISDN_l2.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xce0): In function `FsmDelTimer':

: multiple definition of `FsmDelTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xce0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x320): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xb50): In function `FsmEvent':

: multiple definition of `FsmEvent'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb50): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x6a0): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x830): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x5a0): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x90): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xd70): In function `FsmRestartTimer':

: multiple definition of `FsmRestartTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xd70): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x1c0): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x520): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x160): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x270): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x8f0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xc40): In function `FsmChangeState':

: multiple definition of `FsmChangeState'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc40): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x3c0): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xcf0): In function `FsmAddTimer':

: multiple definition of `FsmAddTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcf0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x9a0): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x6f0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xb30): In function `FsmFree':

: multiple definition of `FsmFree'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb30): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x640): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xcb0): In function `FsmInitTimer':

: multiple definition of `FsmInitTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x4a0): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0xa50): In function `FsmNew':

: multiple definition of `FsmNew'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xa50): first defined here

drivers/isdn/hardware/mISDN/mISDN_x25dte.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xce0): In function `FsmDelTimer':

: multiple definition of `FsmDelTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xce0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x320): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xb50): In function `FsmEvent':

: multiple definition of `FsmEvent'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb50): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x6a0): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x830): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x5a0): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x90): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xd70): In function `FsmRestartTimer':

: multiple definition of `FsmRestartTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xd70): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x1c0): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x520): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x160): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x270): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x8f0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xc40): In function `FsmChangeState':

: multiple definition of `FsmChangeState'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc40): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x3c0): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xcf0): In function `FsmAddTimer':

: multiple definition of `FsmAddTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcf0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x9a0): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x6f0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xb30): In function `FsmFree':

: multiple definition of `FsmFree'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb30): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x640): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xcb0): In function `FsmInitTimer':

: multiple definition of `FsmInitTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcb0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x4a0): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0xa50): In function `FsmNew':

: multiple definition of `FsmNew'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xa50): first defined here

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xce0): In function `FsmDelTimer':

: multiple definition of `FsmDelTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xce0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x320): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xe00): In function `l3_pos2ie':

: multiple definition of `l3_pos2ie'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x1f30): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xb50): In function `FsmEvent':

: multiple definition of `FsmEvent'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb50): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x6a0): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x830): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x5a0): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x90): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xd70): In function `FsmRestartTimer':

: multiple definition of `FsmRestartTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xd70): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x1190): In function `LogL3Msg':

: multiple definition of `LogL3Msg'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x22c0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x1c0): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x520): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xe30): In function `__mid_alloc_l3msg':

: multiple definition of `__mid_alloc_l3msg'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x1f60): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xee0): In function `AddvarIE':

: multiple definition of `AddvarIE'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x2010): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x160): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x270): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x8f0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xc40): In function `FsmChangeState':

: multiple definition of `FsmChangeState'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc40): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x3c0): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xcf0): In function `FsmAddTimer':

: multiple definition of `FsmAddTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcf0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x9a0): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x6f0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xb30): In function `FsmFree':

: multiple definition of `FsmFree'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb30): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x640): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xe10): In function `initQ931_info':

: multiple definition of `initQ931_info'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x1f40): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xcb0): In function `FsmInitTimer':

: multiple definition of `FsmInitTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xde0): In function `l3_ie2pos':

: multiple definition of `l3_ie2pos'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x1f10): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x4a0): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x1020): In function `AddIE':

: multiple definition of `AddIE'

drivers/isdn/hardware/mISDN/l3udss1.o(.text+0x2150): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0xa50): In function `FsmNew':

: multiple definition of `FsmNew'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xa50): first defined here

drivers/isdn/hardware/mISDN/mISDN_capi.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x320): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x6a0): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x830): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x5a0): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x90): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x1c0): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x520): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x160): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x270): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x8f0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x3c0): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x9a0): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x6f0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x640): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x4a0): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x100): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0xc0): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/mISDN_dtmf.o(.text+0x610): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x37b0): In function `FsmDelTimer':

: multiple definition of `FsmDelTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xce0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2df0): In function `HasProtocol':

: multiple definition of `HasProtocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3620): In function `FsmEvent':

: multiple definition of `FsmEvent'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb50): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3170): In function `get_up_layer':

: multiple definition of `get_up_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x4e0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3300): In function `ConnectIF':

: multiple definition of `ConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x670): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3070): In function `get_protocol':

: multiple definition of `get_protocol'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x3e0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2b60): In function `mISDNdebug':

: multiple definition of `mISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x90): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3840): In function `FsmRestartTimer':

: multiple definition of `FsmRestartTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xd70): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2c90): In function `set_dchannel_pid':

: multiple definition of `set_dchannel_pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2ff0): In function `layermask2layer':

: multiple definition of `layermask2layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x360): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2c30): In function `QuickHex':

: multiple definition of `QuickHex'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x160): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2d40): In function `bprotocol2pid':

: multiple definition of `bprotocol2pid'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0xb0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x33c0): In function `DisConnectIF':

: multiple definition of `DisConnectIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x730): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3710): In function `FsmChangeState':

: multiple definition of `FsmChangeState'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xc40): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2e90): In function `SetHandledPID':

: multiple definition of `SetHandledPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x200): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x37c0): In function `FsmAddTimer':

: multiple definition of `FsmAddTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcf0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2ad0): In function `vmISDNdebug':

: multiple definition of `vmISDNdebug'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3470): In function `init_mISDNinstance':

: multiple definition of `init_mISDNinstance'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x7e0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x31c0): In function `SetIF':

: multiple definition of `SetIF'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x530): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3600): In function `FsmFree':

: multiple definition of `FsmFree'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xb30): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3110): In function `get_down_layer':

: multiple definition of `get_down_layer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x480): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3780): In function `FsmInitTimer':

: multiple definition of `FsmInitTimer'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xcb0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2f70): In function `RemoveUsedPID':

: multiple definition of `RemoveUsedPID'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x2e0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2bd0): In function `mISDN_getrev':

: multiple definition of `mISDN_getrev'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0x100): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x2b90): In function `debugprint':

: multiple definition of `debugprint'

drivers/isdn/hardware/mISDN/mISDN_isac.o(.text+0xc0): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x3520): In function `FsmNew':

: multiple definition of `FsmNew'

drivers/isdn/hardware/mISDN/mISDN_l1.o(.text+0xa50): first defined here

drivers/isdn/hardware/mISDN/avmfritz.o(.text+0x30e0): In function `get_lowlayer':

: multiple definition of `get_lowlayer'

drivers/isdn/hardware/mISDN/mISDN_core.o(.text+0x450): first defined here

make[4]: *** [drivers/isdn/hardware/mISDN/built-in.o] Error 1

make[3]: *** [drivers/isdn/hardware/mISDN] Error 2

make[2]: *** [drivers/isdn/hardware] Error 2

make[1]: *** [drivers/isdn] Error 2

make: *** [drivers] Error 2

```

gibts da neue patches für oder was?

----------

## alo-alo

Hmm, merkwoerdig. Ich bin jetzt unter 2.6.1-mm2 und ohne probleme. Multilink geht nicht, vielleicht liegt es an meiner karte. Ich probierte mit 2.6.1 und keine probleme bei der kompilation. Hast du mISDN updated?

----------

## Giuly

Ich hab jetzt den neusten CVS-Tree gezogen, jetzt gehts  :Smile: 

alo-alo: Wenn du 2x "pppd call isdn/arcor-ml" gemacht hast, wass steht dann bei "ps aux | grep pppd"?

Edit: Am mISDN lags nichtr, ich hatte "Support modular ISDN driver" fest eincompiliert, statt als modul :O

----------

## alo-alo

ps aux zeigt mir:

root     32365  0.0  0.2  2092 1060 capi/0   S    13:51   0:00 /usr/sbin/pppd call isdn/arcor-ml

root     32427  0.0  0.2  2092 1064 capi/1   S    13:51   0:00 /usr/sbin/pppd call isdn/arcor-ml

----------

## alo-alo

Ok, weiss nicht was ich gemacht habe, aber gerade arbiete ich mit multilink.

----------

## Giuly

Du hast vielleicht arcor statt arcor-ml genommen  :Surprised: 

Also wenn da einmal capi/0 steht und einmal capi/1, ist alles OK  :Smile: 

----------

## alo-alo

Na, habe immer -ml genommen.

----------

## KillerGurke

Hi,

ich muß den Thread leider mal wieder aus der Versenkung hervorholen. So wies aussieht, kennen sich hier einige sehr gut mit mISDN aus, deswegen stelle ich einfach mal meine Frage, obwohl ich nach einem Jahr Gentoo momentan wieder Mandrake benutze (mit ISDN ist man bei Gentoo schon etwas ungüntig bedient, falls ich irgendwann DSL bekomme steige ich auch wieder um  :Wink: ):

Ich habe hier einen Rechner mit Athlon64, den ich gerne auch im 64-Bit-Modus betreiben wollte. Mandrake 9.2 RC1 für AMD64 läuft auch an sich problemlos (mit 2.4.22), aber hisax funktioniert wohl nciht unter 64 Bit. Also habe ich mir den 2.6.1 mit mISDN kompiliert (wie es auch auf meinem alten Rechner schon problemlos lief). Ich erhielt sowohl auf der 32-Bit als auch auf der 64-Bit-Version von Mandrake prompt den Fehler, er könne avmfritz.ko nicht laden und hier in diesem Forum wurde ich endlich fündig: Nach dem Einschalten von PnP-Support im Kernel klappt auf dem 32-Bit-System alles (Ok, hier würde auch hisax laufen, aber man spielt ja gerne rum), unter AMD64 (also der 64-Bit-Version) gibt es jedoch in der Kernel-Konfiguration keine Möglichkeit PnP einzuschalten. Soll das heissen, ich muß leider bei 32-Bit bleiben, weil ich ansonsten nicht ins Internet komme?

Bevor ich mir den Rechner zugelegt habe, hatte ich sicherheitshalber kein Karsten Keil nachgefragt, ob mISDN unter AMD64 funktioniert, und er sagte ja, wurde aber wohl bislang nur unter 2.4 getestet. Das würde mir ja prinzipiell reichen, aber ich bin etwas überfragt, wie ich mISDN in einen 2.4er-Kernel einkompiliere. Das einfach Ausführen von std2kern scheint zwar zu funktionieren, er patcht dann etwas, aber in der Kernel-Konfiguration wird nirgendwo mISDN aufgelistet.. Abgesehen davon ist auch unter 2.4 kein PnP anwählbar (da wäre es zwar vielleicht nicht nötig, aber wer weiß...) und Kernel 2.6 wäre mir auch schon lieber.

Hat jemand von euch eine Idee, was ich da machen könnte. In der allergrößten Not würde ich auch nochmal Karsten Keil eine Email schicken (es wurde ja wohl schon Tests von mISDN auf AMD64 durchgeführt), aber ich möchte den Mann nicht unnötig nerven (er hat sicherlich genug zu tun und leistet sehr gute Arbeit, da möchte ich ihn nich abhalten), falls einer von euch eine zündende Idee hat.

Vielen Dank schonmal!

Killer-"Mandrake-Verräter"-Gurke

----------

## alo-alo

Hm, hja, fuer mISDN und 2.4 ist Keil dein Mann. Leider. Ich habe es auch unter 2.4 probiert und das gleiche wie bei dir. 

Du musst das so sehen: es gibt wenige (ich nehme mal an) die mISDN verwenden, und noch wenige brauchen AMD 64 und mISDN. 

Solltest mal auf der kernel liste nachfragen ueber pnp und amd64.

----------

## Giuly

 *KillerGurke wrote:*   

> Hi,
> 
> ich muß den Thread leider mal wieder aus der Versenkung hervorholen. So wies aussieht, kennen sich hier einige sehr gut mit mISDN aus, deswegen stelle ich einfach mal meine Frage, obwohl ich nach einem Jahr Gentoo momentan wieder Mandrake benutze (mit ISDN ist man bei Gentoo schon etwas ungüntig bedient, falls ich irgendwann DSL bekomme steige ich auch wieder um ):
> 
> Ich habe hier einen Rechner mit Athlon64, den ich gerne auch im 64-Bit-Modus betreiben wollte. Mandrake 9.2 RC1 für AMD64 läuft auch an sich problemlos (mit 2.4.22), aber hisax funktioniert wohl nciht unter 64 Bit. Also habe ich mir den 2.6.1 mit mISDN kompiliert (wie es auch auf meinem alten Rechner schon problemlos lief). Ich erhielt sowohl auf der 32-Bit als auch auf der 64-Bit-Version von Mandrake prompt den Fehler, er könne avmfritz.ko nicht laden und hier in diesem Forum wurde ich endlich fündig: Nach dem Einschalten von PnP-Support im Kernel klappt auf dem 32-Bit-System alles (Ok, hier würde auch hisax laufen, aber man spielt ja gerne rum), unter AMD64 (also der 64-Bit-Version) gibt es jedoch in der Kernel-Konfiguration keine Möglichkeit PnP einzuschalten. Soll das heissen, ich muß leider bei 32-Bit bleiben, weil ich ansonsten nicht ins Internet komme?
> ...

 

Ich hab die gentoo-dev-sources 2.6.1, und ich komme, wenn auch nur mit einem kanal, ins internet. (ASUS K8V Deluxe, alls duch das auch hast und sound und LAN gehen, bitte melden:o ) Du solltest vielleicht den neusten CVS-Tree ziehen.

----------

## EVAO1

Hat wer nen geschieten ping.

Meiner zu google ist:

64 bytes from 216.239.41.99: icmp_seq=3 ttl=238 time=122 ms

das zu hoch

bitte um antwort

----------

## Giuly

PING google.de (216.239.39.104) 56(84) bytes of data.

64 bytes from 216.239.39.104: icmp_seq=1 ttl=242 time=137 ms

64 bytes from 216.239.39.104: icmp_seq=2 ttl=242 time=141 ms

64 bytes from 216.239.39.104: icmp_seq=3 ttl=242 time=137 ms

64 bytes from 216.239.39.104: icmp_seq=4 ttl=242 time=139 ms

64 bytes from 216.239.39.104: icmp_seq=5 ttl=242 time=138 ms

64 bytes from 216.239.39.104: icmp_seq=6 ttl=242 time=139 ms

64 bytes from 216.239.39.104: icmp_seq=7 ttl=242 time=136 ms

64 bytes from 216.239.39.104: icmp_seq=8 ttl=242 time=138 ms

64 bytes from 216.239.39.104: icmp_seq=9 ttl=242 time=138 ms

64 bytes from 216.239.39.104: icmp_seq=10 ttl=242 time=139 ms

@Letzter Post von mir:

Nach dem reboot gingen auch 2 :O

----------

## EVAO1

hmm also wir der ping wohl nicht besser werden und damit muss ich wohl doch wieder nen router aufbauen :< Das wollte ich eigentlich vermeiden weil mit solchen pings es ist unmöglich Quake zu spielen und das ist das was ich haupsächlich im inet mache :<

Karsten Keil meinte nur der Ping wäre normal mit isdn. Mal sehen was er zu meiner Antwort sagt.

Falls doch jmd Rat weiss bitte POSTEN :>

THX

----------

## alo-alo

Habt ihr vielleicht probleme, das misdn in menuconfig oder config nicht erscheint, dann:

Editiert einfach drivers/isdn/hardware/mISDN/Kconfig und aendere:

menu "Modular ISDN driver"

        depends on NET && ISDN && ISDN_CAPI!=n

in

menu "Modular ISDN driver"

        depends on NET && ISDN_CAPI!=n

Jetzt gibt es grosse vorschritte mit isdn4linux, im cvs. Branch ist kernel26. Wie es aussieht, es sollte mit 2.6.1 funken. Ok, ich habe alles nur oberflaechlich gelesen  :Smile: 

----------

## thobstar

Hi, 

ich werde noch blöd. Ne warscheinlich nin ich es schon denn 

ich finde den Fehler nicht. Hilfe. 

Also folgendes. 

- ich habe den Kernel ( 2.6.1 ) gepatcht 

- mIsdn ./sd2kern ausgeführt 

es hat mnir auch alles kopiert 

- im kernel alles wie oben aktiviert, pnp eingechaltet,PREEMPT 

ausgeschaltet, und sons alles gemacht was ich so zum 

Thema gefunden habe. 

- den kernel mind. 20 mal kompiliert. Vieleicht falsche Rheienfolge 

der Patche oder so habe ich mir gedacht 

- reboot 

- danach kann ich alle module mit modprobe hineinladen 

das sieht dann so aus: 

-bash-2.05b# lsmod 

Module Size Used by 

avmfritz 22344 0 

l3udss1 40516 0 

ppp_generic 32040 0 

slhc 7360 1 ppp_generic 

mISDN_l2 48356 0 

mISDN_l1 12868 0 

mISDN_isac 16416 1 avmfritz 

capi 19328 0 

capifs 5992 2 capi 

mISDN_capi 107264 0 

kernelcapi 48480 2 capi,mISDN_capi 

mISDN_core 83556 6 avmfritz,l3udss1,mISDN_l2,mISDN_l1,mISDN_isac,mISDN_capi 

capiinfo gibt das aus: 

-bash-2.05b# capiinfo 

Number of Controllers : 1 

Controller 1: 

Manufacturer: mISDN CAPI controller Fritz1 

CAPI Version: 2.0 

Manufacturer Version: 1.0 

Serial Number: 0002 

BChannels: 2 

Global Options: 0x00000018 

DTMF supported 

Supplementary Services supported 

B1 protocols support: 0x00000003 

64 kbit/s with HDLC framing 

64 kbit/s bit-transparent operation 

B2 protocols support: 0x00000043 

ISO 7776 (X.75 SLP) 

Transparent 

Tranparent (ignoring framing errors of B1 protocol) 

B3 protocols support: 0x00000001 

Transparent 

0100 

0200 

18000000 

03000000 

43000000 

01000000 

00000000 00000000 00000000 00000000 00000000 00000000 

00000000 00000000 00000000 00000000 00000000 

sieht alles gut aus. Naja für mich jedenfalls aber was heißt das schon 

Weiter 

pppd call isdn/avm aufrufen. 

Dann ins syslog schauen und folgendes was ich nahezu schon auswendig weiß sehen. 

Feb 5 21:02:37 localhost pppd[334]: Plugin userpass.so loaded. 

Feb 5 21:02:37 localhost pppd[334]: userpass: $Revision: 1.4 $ 

Feb 5 21:02:37 localhost pppd[334]: Plugin capiplugin.so loaded. 

Feb 5 21:02:37 localhost pppd[334]: capiplugin: $Revision: 1.33 $ 

Feb 5 21:02:37 localhost pppd[334]: capiconn: 1.8 

Feb 5 21:02:37 localhost kernel: mISDN: INTERNAL ERROR in drivers/isdn/hardware/mISDN/contr.c:181 

Feb 5 21:02:37 localhost kernel: kcapi: appl 1 up 

Feb 5 21:02:37 localhost pppd[335]: pppd 2.4.1 started by root, uid 0 

Feb 5 21:02:37 localhost pppd[335]: capiplugin: phase serialconn. 

Feb 5 21:02:37 localhost pppd[335]: capiplugin: contr=1 

Feb 5 21:02:37 localhost pppd[335]: controller 1: listen_change_state 0 -> 1 

Feb 5 21:02:38 localhost pppd[335]: plci_change_state:0x0 0 -> 1 event=1 

Feb 5 21:02:38 localhost pppd[335]: capiplugin: dialing 03039984330 (hdlc) 

Feb 5 21:03:43 localhost pppd[335]: plci_change_state:0x0 0 -> 1 event=1 

Feb 5 21:03:43 localhost pppd[335]: capiplugin: dialing 03039984330 (hdlc) 

Feb 5 21:04:48 localhost pppd[335]: plci_change_state:0x0 0 -> 1 event=1 

Feb 5 21:04:48 localhost pppd[335]: capiplugin: dialing 03039984330 (hdlc) 

Feb 5 21:05:53 localhost pppd[335]: plci_change_state:0x0 0 -> 1 event=1 

Feb 5 21:05:53 localhost pppd[335]: capiplugin: dialing 03039984330 (hdlc) 

Feb 5 21:06:53 localhost pppd[335]: capiplugin: couldn't make connection after 4 retries 

Feb 5 21:06:54 localhost pppd[335]: controller 1: listen_change_state state=1 event=1 ???? 

Feb 5 21:07:04 localhost pppd[335]: capiplugin: exit 

Feb 5 21:07:04 localhost pppd[335]: Exit. 

Feb 5 21:07:04 localhost kernel: kcapi: appl 1 down 

so und mehr passiert da einfach nicht. 

Egal was ich mach egal was ich ändere. 

Brauche ich da noch irgendwelche device oder 

irgendwas in /etc/sysconfig/isdn oder so 

Jungs ich bin am Ende. Ich mein Augenringe nervöses Zucken 

und so. 

Ich bin verzweifelt. 

also bitte helft mir

----------

## alo-alo

Hast du den neuesten misdn aus dem cvs?

----------

## Giuly

Ich hab auch das neuste mISDN und bekomme neuerdings immer "insmod: error inserting 'avmfritz.ko': -1 No such device"

Jemand vielleicht ne idee, wie ich das fixen könnte? (Weder Kernel 2.6.1 noch 2.6.2 gehen)

----------

## alo-alo

giuly: vielleicht mit einem clean kernel tree? probiere mal mit extracten des kernel und alles neu patchen (I4L und misdn). 

thobstar: preempt kann jetzt eingeschaltet werden, da es nicht am preempt lag, sondern misdn musste gecleant werden. dir rate genau das wie giuly. 

wie ich sehe hast suse oder RH? ne, in /etc/sysconfig braucht nicht zu tun.

----------

## Giuly

alo-alo: hab ich schon 2x gemacht. Geht trotzdem nicht. Ich hatte einmal SMP an, daran lags aber auch nicht. PREEMPT kann wieder an?

Das liegt bestimmt daran, dass ich einen x86_64-Kernel benutze.

ich schreib mal Karsen Keil ne Mail ob es darüber schon Informationen gibt. wenn nicht, muss ich wohl an avm_fritz.c spielen   :Shocked: 

Edit: Ich hab jetzt den Fehler gefunden: PNP

Ich kanns auch nicht aktivieren, weil das nur auf nem x86 geht.

Edit2: ICh hab grade den Post von Killer-Gurke gelesen ^_^"

Also könnte man sagen: Gleiches Problem hier

----------

## alo-alo

preempt kann an sein, ich hatte es immer an.

----------

## Centurion610

Hi,

I don't speak german, sorry if I speak english in German forum.

I have setup isdn with mISDN correctly, it work fine!

But I can't activate second channel with arcor-ml posted by Giuly(tnx)

I must modify nothing other?

Please help me.

Bye

Centurion

----------

## Giuly

lol der thread is zwar alt, aber vllt noch mehr non-deutsche mit dem problem:

run pppd call isdn/arcor-ml twice  :Wink: 

----------

