From owner-freebsd-isdn@FreeBSD.ORG Mon Dec 29 22:10:08 2003 Return-Path: Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 90B0616A4CE for ; Mon, 29 Dec 2003 22:10:08 -0800 (PST) Received: from mailout05.sul.t-online.com (mailout05.sul.t-online.com [194.25.134.82]) by mx1.FreeBSD.org (Postfix) with ESMTP id B007D43D31 for ; Mon, 29 Dec 2003 22:10:04 -0800 (PST) (envelope-from Alexander.Farber@t-online.de) Received: from fwd01.aul.t-online.de by mailout05.sul.t-online.com with smtp id 1AbD49-0002KP-07; Tue, 30 Dec 2003 07:09:17 +0100 Received: from newhope.my.domain (XdRNxvZeoeoWN-VExZklpCMynLR6tua2gjA8yRmpi8ArZuJB8dW58T@[217.82.215.79]) by fwd01.sul.t-online.com with esmtp id 1Ab9mV-1Cw6L20; Tue, 30 Dec 2003 03:38:51 +0100 Received: from newhope.my.domain (alex@localhost.my.domain [IPv6:::1]) by newhope.my.domain (8.12.10/8.12.9) with ESMTP id hBU3cEmM028663 for ; Tue, 30 Dec 2003 03:38:14 GMT Received: (from alex@localhost) by newhope.my.domain (8.12.10/8.12.9/Submit) id hBU3cDwY012989 for freebsd-isdn@freebsd.org; Tue, 30 Dec 2003 03:38:13 GMT Date: Tue, 30 Dec 2003 03:38:13 +0000 From: Alexander.Farber@t-online.de (Alexander Farber) To: freebsd-isdn@freebsd.org Message-ID: <20031230033813.GA6726@newhope.my.domain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.1i X-Url: X-Operating-System: OpenBSD 3.4 i386 X-Seen: false X-ID: XdRNxvZeoeoWN-VExZklpCMynLR6tua2gjA8yRmpi8ArZuJB8dW58T Subject: PCMCIA B1 and M2: undefined reference to `i4b_Bfreembuf' X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2003 06:10:08 -0000 Hi, I'm trying to compile a kernel on a freshly installed 4.9 and I'm using GENERIC, but would like to add I4B and CAPI support for my AVM B1 and M2 PCMCIA cards, so I've added: pseudo-device "i4bcapi" 2 device iavc pseudo-device "i4bq921" pseudo-device "i4bq931" pseudo-device "i4b" #pseudo-device "i4btrc" 4 pseudo-device "i4bctl" pseudo-device "i4brbch" 4 pseudo-device "i4btel" 2 pseudo-device "i4bipr" 4 #options IPR_VJ #options IPR_LOG=32 pseudo-device "i4bisppp" 4 However I get the errors listed on the bottom of this mail. I've tried to look for the referenced functions and I see for example that i4b_Dgetmbuf is defined in layer2/i4b_mbuf.c But still can't figure out which device to be added to the kernel file above (I've also tried commenting few pseudo-devices which are described as passive in LINT out, but it hasn't helped...) Any hints please? Regards Alex sh ../../conf/newvers.sh GENERIC cc -c -O2 -pipe -march=pentiumpro -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I../../../include -I../../contrib/dev/acpica -I../../contrib/ipfilter -D_KERNEL -include opt_global.h -mpreferred-stack-boundary=2 vers.c linking kernel i4b_rbch.o: In function `i4brbchread': i4b_rbch.o(.text+0x439): undefined reference to `i4b_Bfreembuf' i4b_rbch.o: In function `i4brbchwrite': i4b_rbch.o(.text+0x746): undefined reference to `i4b_Bgetmbuf' i4b_tel.o: In function `i4btelioctl': i4b_tel.o(.text+0x3a5): undefined reference to `i4b_Bfreembuf' i4b_tel.o: In function `i4btelread': i4b_tel.o(.text+0x68e): undefined reference to `i4b_Bfreembuf' i4b_tel.o: In function `i4btelwrite': i4b_tel.o(.text+0x842): undefined reference to `i4b_Bgetmbuf' i4b_tel.o: In function `tel_tone': i4b_tel.o(.text+0x9a7): undefined reference to `i4b_Bgetmbuf' i4b_ctl.o: In function `i4bctlioctl': i4b_ctl.o(.text+0x141): undefined reference to `i4b_l1_debug' i4b_ctl.o(.text+0x167): undefined reference to `i4b_l1_debug' capi_l4if.o: In function `i4b_capi_bch_config': capi_l4if.o(.text+0x77): undefined reference to `i4b_Bcleanifq' capi_l4if.o(.text+0x93): undefined reference to `i4b_Bcleanifq' capi_l4if.o(.text+0xb8): undefined reference to `i4b_Bfreembuf' capi_llif.o: In function `capi_ll_receive': capi_llif.o(.text+0x128): undefined reference to `i4b_Bfreembuf' capi_llif.o(.text+0x137): undefined reference to `i4b_Dfreembuf' capi_msgs.o: In function `capi_listen_req': capi_msgs.o(.text+0xf): undefined reference to `i4b_Dgetmbuf' capi_msgs.o: In function `capi_info_ind': capi_msgs.o(.text+0x153): undefined reference to `i4b_Dgetmbuf' capi_msgs.o: In function `capi_alert_req': capi_msgs.o(.text+0x23a): undefined reference to `i4b_Dgetmbuf' capi_msgs.o: In function `capi_connect_req': capi_msgs.o(.text+0x39c): undefined reference to `i4b_Dgetmbuf' capi_msgs.o: In function `capi_connect_active_ind': capi_msgs.o(.text+0x6d7): undefined reference to `i4b_Dgetmbuf' capi_msgs.o(.text+0x86a): more undefined references to `i4b_Dgetmbuf' follow iavc_lli.o: In function `iavc_send': iavc_lli.o(.text+0x6fd): undefined reference to `i4b_Bfreembuf' iavc_lli.o(.text+0x706): undefined reference to `i4b_Dfreembuf' iavc_lli.o(.text+0x744): undefined reference to `i4b_Bfreembuf' iavc_lli.o(.text+0x74d): undefined reference to `i4b_Dfreembuf' iavc_lli.o: In function `iavc_send_init': iavc_lli.o(.text+0x79c): undefined reference to `i4b_Dgetmbuf' iavc_lli.o: In function `iavc_receive_start': iavc_lli.o(.text+0x106f): undefined reference to `i4b_Dgetmbuf' iavc_lli.o: In function `iavc_receive': iavc_lli.o(.text+0x3599): undefined reference to `i4b_Dgetmbuf' iavc_lli.o(.text+0x3d29): undefined reference to `i4b_Bgetmbuf' iavc_lli.o(.text+0x3d52): undefined reference to `i4b_Dfreembuf' iavc_lli.o: In function `iavc_start_tx': iavc_lli.o(.text+0x5459): undefined reference to `i4b_Bfreembuf' iavc_lli.o(.text+0x546e): undefined reference to `i4b_Dfreembuf' i4b_l2.o: In function `i4b_dl_data_req': i4b_l2.o(.text+0xfe): undefined reference to `i4b_Dfreembuf' i4b_l2.o(.text+0x170): undefined reference to `i4b_Dfreembuf' i4b_l2.o: In function `i4b_ph_activate_ind': i4b_l2.o(.text+0x197): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_ph_deactivate_ind': i4b_l2.o(.text+0x1db): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_l2_unit_init': i4b_l2.o(.text+0x2dc): undefined reference to `i4b_Dfreembuf' i4b_l2.o: In function `i4b_mph_status_ind': i4b_l2.o(.text+0x346): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_mdl_command_req': i4b_l2.o(.text+0x4de): undefined reference to `i4b_l1l2_func' i4b_l2.o: In function `i4b_ph_data_ind': i4b_l2.o(.text+0x53b): undefined reference to `i4b_Dfreembuf' i4b_l2.o(.text+0x5e8): undefined reference to `i4b_Dfreembuf' i4b_l2fsm.o: In function `F_AE01': i4b_l2fsm.o(.text+0x573): undefined reference to `i4b_Dcleanifq' i4b_l2fsm.o: In function `F_AE05': i4b_l2fsm.o(.text+0x5af): undefined reference to `i4b_Dcleanifq' i4b_l2fsm.o: In function `F_AE06': i4b_l2fsm.o(.text+0x5fb): undefined reference to `i4b_Dcleanifq' i4b_l2fsm.o: In function `F_AE09': i4b_l2fsm.o(.text+0x721): undefined reference to `i4b_Dcleanifq' i4b_l2fsm.o: In function `F_AE10': i4b_l2fsm.o(.text+0x7ad): undefined reference to `i4b_Dcleanifq' i4b_l2fsm.o(.text+0x80a): more undefined references to `i4b_Dcleanifq' follow i4b_uframe.o: In function `i4b_rxd_u_frame': i4b_uframe.o(.text+0x1b5): undefined reference to `i4b_Dfreembuf' i4b_uframe.o(.text+0x305): undefined reference to `i4b_Dfreembuf' i4b_uframe.o(.text+0x373): undefined reference to `i4b_Dfreembuf' i4b_uframe.o: In function `i4b_build_u_frame': i4b_uframe.o(.text+0x38e): undefined reference to `i4b_Dgetmbuf' i4b_uframe.o: In function `i4b_tx_sabme': i4b_uframe.o(.text+0x41d): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_dm': i4b_uframe.o(.text+0x46d): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_disc': i4b_uframe.o(.text+0x4bd): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_ua': i4b_uframe.o(.text+0x50d): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_frmr': i4b_uframe.o(.text+0x560): undefined reference to `i4b_l1l2_func' i4b_tei.o: In function `i4b_tei_rxframe': i4b_tei.o(.text+0x2fe): undefined reference to `i4b_Dfreembuf' i4b_tei.o: In function `build_tei_mgmt_frame': i4b_tei.o(.text+0x323): undefined reference to `i4b_Dgetmbuf' i4b_tei.o(.text+0x3da): undefined reference to `i4b_Dfreembuf' i4b_tei.o: In function `i4b_tei_assign': i4b_tei.o(.text+0x449): undefined reference to `i4b_l1l2_func' i4b_tei.o: In function `i4b_tei_verify': i4b_tei.o(.text+0x4a5): undefined reference to `i4b_l1l2_func' i4b_tei.o: In function `i4b_tei_chkresp': i4b_tei.o(.text+0x507): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_rxd_s_frame': i4b_sframe.o(.text+0x40): undefined reference to `i4b_Dfreembuf' i4b_sframe.o(.text+0x17d): undefined reference to `i4b_Dfreembuf' i4b_sframe.o: In function `i4b_tx_rr_command': i4b_sframe.o(.text+0x1c6): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_tx_rr_response': i4b_sframe.o(.text+0x216): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_tx_rnr_command': i4b_sframe.o(.text+0x266): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_tx_rnr_response': i4b_sframe.o(.text+0x2b6): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_tx_rej_response': i4b_sframe.o(.text+0x306): undefined reference to `i4b_l1l2_func' i4b_sframe.o: In function `i4b_build_s_frame': i4b_sframe.o(.text+0x32b): undefined reference to `i4b_Dgetmbuf' i4b_iframe.o: In function `i4b_rxd_i_frame': i4b_iframe.o(.text+0x43): undefined reference to `i4b_Dfreembuf' i4b_iframe.o(.text+0x5f): undefined reference to `i4b_Dfreembuf' i4b_iframe.o(.text+0xce): undefined reference to `i4b_Dfreembuf' i4b_iframe.o(.text+0x15d): undefined reference to `i4b_Dfreembuf' i4b_iframe.o: In function `i4b_i_frame_queued_up': i4b_iframe.o(.text+0x36a): undefined reference to `i4b_l1l2_func' i4b_iframe.o(.text+0x3ac): undefined reference to `i4b_Dfreembuf' i4b_util.o: In function `i4b_clear_exception_conditions': i4b_util.o(.text+0x4c): undefined reference to `i4b_Dcleanifq' i4b_util.o(.text+0x5e): undefined reference to `i4b_Dfreembuf' i4b_util.o: In function `i4b_rxd_ack': i4b_util.o(.text+0x336): undefined reference to `i4b_Dfreembuf' i4b_util.o: In function `i4b_l1_activate': i4b_util.o(.text+0x36b): undefined reference to `i4b_l1l2_func' i4b_l2if.o: In function `i4b_dl_data_ind': i4b_l2if.o(.text+0x502): undefined reference to `i4b_Dfreembuf' i4b_l2if.o: In function `i4b_dl_unit_data_ind': i4b_l2if.o(.text+0x52a): undefined reference to `i4b_Dfreembuf' i4b_l2if.o: In function `i4b_l3_tx_connect': i4b_l2if.o(.text+0x576): undefined reference to `i4b_Dgetmbuf' i4b_l2if.o: In function `i4b_l3_tx_release_complete': i4b_l2if.o(.text+0x65c): undefined reference to `i4b_Dgetmbuf' i4b_l2if.o: In function `i4b_l3_tx_disconnect': i4b_l2if.o(.text+0x71a): undefined reference to `i4b_Dgetmbuf' i4b_l2if.o: In function `i4b_l3_tx_setup': i4b_l2if.o(.text+0x8bd): undefined reference to `i4b_Dgetmbuf' i4b_l2if.o: In function `i4b_l3_tx_connect_ack': i4b_l2if.o(.text+0xa6e): undefined reference to `i4b_Dgetmbuf' i4b_l2if.o(.text+0xb13): more undefined references to `i4b_Dgetmbuf' follow i4b_i4bdrv.o: In function `i4bclose': i4b_i4bdrv.o(.text+0xf8): undefined reference to `i4b_Dcleanifq' i4b_i4bdrv.o: In function `i4bread': i4b_i4bdrv.o(.text+0x1d7): undefined reference to `i4b_Dfreembuf' i4b_i4bdrv.o: In function `i4bputqueue': i4b_i4bdrv.o(.text+0xcbf): undefined reference to `i4b_Dfreembuf' i4b_i4bdrv.o(.text+0xd0b): undefined reference to `i4b_Dfreembuf' i4b_i4bdrv.o: In function `i4bputqueue_hipri': i4b_i4bdrv.o(.text+0xdbb): undefined reference to `i4b_Dfreembuf' i4b_i4bdrv.o(.text+0xe07): undefined reference to `i4b_Dfreembuf' i4b_l4.o: In function `i4b_l4_pdeact': i4b_l4.o(.text+0xd7): undefined reference to `i4b_Dgetmbuf' i4b_l4.o: In function `i4b_l4_l12stat': i4b_l4.o(.text+0x116): undefined reference to `i4b_Dgetmbuf' i4b_l4.o: In function `i4b_l4_teiasg': i4b_l4.o(.text+0x156): undefined reference to `i4b_Dgetmbuf' i4b_l4.o: In function `i4b_l4_dialout': i4b_l4.o(.text+0x196): undefined reference to `i4b_Dgetmbuf' i4b_l4.o: In function `i4b_l4_dialoutnumber': i4b_l4.o(.text+0x1d3): undefined reference to `i4b_Dgetmbuf' i4b_l4.o(.text+0x22f): more undefined references to `i4b_Dgetmbuf' follow *** Error code 1 Stop in /usr/src/sys/compile/GENERIC. From owner-freebsd-isdn@FreeBSD.ORG Tue Dec 30 15:59:08 2003 Return-Path: Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9AA5A16A4CE for ; Tue, 30 Dec 2003 15:59:08 -0800 (PST) Received: from mailout06.sul.t-online.com (mailout06.sul.t-online.com [194.25.134.19]) by mx1.FreeBSD.org (Postfix) with ESMTP id 810E243D2D for ; Tue, 30 Dec 2003 15:59:06 -0800 (PST) (envelope-from Alexander.Farber@t-online.de) Received: from fwd05.aul.t-online.de by mailout06.sul.t-online.com with smtp id 1AbTlR-0002ye-01; Wed, 31 Dec 2003 00:59:05 +0100 Received: from newhope.my.domain (ZkPdj-ZpZeEZLDbbvbi4pV35gcyj6sxEEB9tgaaFCgU7Udc-37Plrd@[217.82.210.217]) by fwd05.sul.t-online.com with esmtp id 1AbTlI-2AnoUS0; Wed, 31 Dec 2003 00:58:56 +0100 Received: from newhope.my.domain (localhost.my.domain [127.0.0.1]) by newhope.my.domain (8.12.10/8.12.9) with ESMTP id hBUNwGUR042060 for ; Wed, 31 Dec 2003 00:58:16 +0100 (CET) (envelope-from alex@newhope.my.domain) Received: (from alex@localhost) by newhope.my.domain (8.12.10/8.12.9/Submit) id hBUNwF5Z042059 for freebsd-isdn@freebsd.org; Wed, 31 Dec 2003 00:58:15 +0100 (CET) (envelope-from alex) Date: Wed, 31 Dec 2003 00:58:15 +0100 From: Alexander.Farber@t-online.de (Alexander Farber) To: freebsd-isdn@freebsd.org Message-ID: <20031230235815.GA42046@newhope.my.domain> References: <20031230033813.GA6726@newhope.my.domain> <200312301013.hBUADjUk001319@peedub.jennejohn.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200312301013.hBUADjUk001319@peedub.jennejohn.org> User-Agent: Mutt/1.4.1i X-Url: X-Operating-System: FreeBSD 4.9-STABLE i386 X-Seen: false X-ID: ZkPdj-ZpZeEZLDbbvbi4pV35gcyj6sxEEB9tgaaFCgU7Udc-37Plrd Subject: Re: PCMCIA B1 and M2: undefined reference to `i4b_Bfreembuf' X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Dec 2003 23:59:08 -0000 On Tue, Dec 30, 2003 at 11:13:45AM +0100, Gary Jennejohn wrote: > Alexander Farber writes: > > pseudo-device "i4bcapi" 2 > > device iavc > > pseudo-device "i4bq921" > > pseudo-device "i4bq931" > > pseudo-device "i4b" > > #pseudo-device "i4btrc" 4 > > pseudo-device "i4bctl" > > pseudo-device "i4brbch" 4 > > pseudo-device "i4btel" 2 > > pseudo-device "i4bipr" 4 > > #options IPR_VJ > > #options IPR_LOG=32 > > pseudo-device "i4bisppp" 4 > > > > garyj:peedub:mail:bash:4> grep i4b_mbuf.c /sys/conf/* > /sys/conf/files:i4b/layer2/i4b_mbuf.c optional i4btrc > > You need i4btrc for that. Thanks, but I still don't understand: do I have to include some passive ISDN card in my kernle config file, even though I'm going to use just the active B1? Because I first added just "iavc" and "i4bcapi" and then followed your method and kept looking at the linking errors I get and /sys/conf/files and files.i386 and so I've ended up with: device iavc device "i4bcapi" device "i4bq921" device "i4bq931" device "i4b" device "i4btrc" 4 which complains about missing (low-level?) functions i4b_l1_debug and i4b_l1l2_func (the full error message is listed at the bottom). Those functions are found in layer1/i4b_l1dmux.c which leads to: newhope:conf {523} grep -r i4b_l1dmux.c . ./files.i386:i4b/layer1/i4b_l1dmux.c optional isic ./files.i386:i4b/layer1/i4b_l1dmux.c optional iwic ./files.i386:i4b/layer1/i4b_l1dmux.c optional ifpi ./files.i386:i4b/layer1/i4b_l1dmux.c optional ifpi2 ./files.i386:i4b/layer1/i4b_l1dmux.c optional ihfc ./files.i386:i4b/layer1/i4b_l1dmux.c optional ifpnp ./files.i386:i4b/layer1/i4b_l1dmux.c optional itjc But I'm not sure now, which of those passive cards to take? Regards Alex linking kernel i4b_l2.o: In function `i4b_ph_activate_ind': i4b_l2.o(.text+0x18f): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_ph_deactivate_ind': i4b_l2.o(.text+0x1cf): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_mph_status_ind': i4b_l2.o(.text+0x332): undefined reference to `i4b_l1_debug' i4b_l2.o: In function `i4b_mdl_command_req': i4b_l2.o(.text+0x4c6): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_sabme': i4b_uframe.o(.text+0x40a): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_dm': i4b_uframe.o(.text+0x456): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_disc': i4b_uframe.o(.text+0x4a2): undefined reference to `i4b_l1l2_func' i4b_uframe.o: In function `i4b_tx_ua': i4b_uframe.o(.text+0x4ee): undefined reference to `i4b_l1l2_func' i4b_uframe.o(.text+0x53d): more undefined references to `i4b_l1l2_func' follow *** Error code 1