Bristuff 0.3.0-PRE-1 does fine, but then?

Hello all,

I recently downloaded bristuff 0.3.0-PRE-1 and gave it a try. It worked great and said with each part “installed, installed…” and at the end also Asterisk was successfully installed.

But when I start Asterisk, “capi info” shows me my first ISDN card (using chan_capi) only.

When I enter modprobe zaptel, it says that the module couldn’t be found. Can someone serve some hints?

What kind of cards are you using?

Bristuff is for passive cards, so you need at least a single hfc or quadbri or something alike…

[quote=“stoffell”]What kind of cards are you using?

Bristuff is for passive cards, so you need at least a single hfc or quadbri or something alike…[/quote]
One CAPI driven AVM-B1 (working well) and a no-name HFC-S card.

Okay, try installing the zaptel modules again. (in zaptel dir, make clean and make install -> then modprobe zaptel and then modprobe zaphfc, then ztcfg -v)

Okay, try installing the zaptel modules again. (in zaptel dir, make clean and make install -> then modprobe zaptel and then modprobe zaphfc, then ztcfg -v)[/quote]
Same again. Modprobe zaptel: Module zaptel not found

The absolutely only error messages show up during make install:

make[4]: *** [path/pciradio.ko] Error 2
make[3]: *** [modules_install] error 2
make[2]: *** [modules_install] error 2
make[1]: *** [modules_install] error 2
make[1]: Leaving directory /usr/src/linux-2.613-15-obj/i386/default

whereas the pciradio.ko exists! No idea what it tries to say.

Can you show the complete output of “make clean; make all” ? I can then compare it to the output I get…

What distribution are you running? (and wich kernel version?)

cheers

Suse 10.0, Kernel 2.16.13-15

asterisk-srv-1:/home/mstuebner/asterisk/zaptel-1.2.0-rc2 # make install Makefile:172: target `ztdummy.o' given more than once in the same rule. cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -c -o gendigits.o gendigits.c cc -o gendigits gendigits.o -lm ./gendigits cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" makefw.c -o makefw ./makefw tormenta2.rbt tor2fw > tor2fw.h Loaded 69900 bytes from file ./makefw pciradio.rbt radfw > radfw.h Loaded 42096 bytes from file cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -c -o ztcfg.o ztcfg.c cc -c -fPIC -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -DBUILDING_TONEZONE -o zonedata.lo zonedata.c cc -c -fPIC -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -DBUILDING_TONEZONE -o tonezone.lo tonezone.c ar rcs libtonezone.a zonedata.lo tonezone.lo cc -o ztcfg ztcfg.o libtonezone.a -lm cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -c -o torisatool.o torisatool.c cc -o torisatool torisatool.o cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -c -o ztmonitor.o ztmonitor.c cc -o ztmonitor ztmonitor.o cc -o ztspeed.o -c ztspeed.c cc -o ztspeed ztspeed.o cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" zttest.c -o zttest cc -I. -O4 -g -Wall -DBUILDING_TONEZONE -DSTANDALONE_ZAPATA -DZAPTEL_CONFIG="/etc/zaptel.conf" -c -o fxotune.o fxotune.c cc -o fxotune fxotune.o -lm /lib/modules/2.6.13-15-default/build make -C /lib/modules/2.6.13-15-default/build SUBDIRS=/home/mstuebner/asterisk/zaptel-1.2.0-rc2 modules make[1]: Entering directory `/usr/src/linux-2.6.13-15-obj/i386/default' make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/default modules /home/mstuebner/asterisk/zaptel-1.2.0-rc2/Makefile:172: target `ztdummy.o' given more than once in the same rule. CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.o /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:1736:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:1923:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3032:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3039:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3048:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3295:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5287:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5806:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5876:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5899:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:176: warning: âfcstabâ defined but not used /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:1736:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:1923:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3032:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3039:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3048:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:3295:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5287:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5806:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5876:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.c:5899:5: warning: "CONFIG_ZAPATA_DEBUG" is not defined CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/tor2.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/torisa.o /home/mstuebner/asterisk/zaptel-1.2.0-rc2/torisa.c:1145: warning: âset_tor_baseâ defined but not used CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcusb.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcfxo.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wctdm.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdynamic.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-eth.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct1xxp.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct4xxp.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcte11xp.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.o /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c: In function â_do_encdecâ: /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c:504: warning: âbyte2â is used uninitialized in this function /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c: In function âpciradio_ioctlâ: /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c:504: warning: âbyte2â is used uninitialized in this function /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c: In function âpciradio_hardware_initâ: /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c:1440: warning: âbyte1â may be used uninitialized in this function /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.c:1440: warning: âbyte2â may be used uninitialized in this function CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-loc.o CC [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdummy.o Building modules, stage 2. MODPOST CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/tor2.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/tor2.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/torisa.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/torisa.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcfxo.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcfxo.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct1xxp.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct1xxp.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct4xxp.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wct4xxp.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wctdm.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wctdm.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcte11xp.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcte11xp.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcusb.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/wcusb.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/zaptel.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-eth.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-eth.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-loc.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztd-loc.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdummy.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdummy.ko CC /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdynamic.mod.o LD [M] /home/mstuebner/asterisk/zaptel-1.2.0-rc2/ztdynamic.ko make[1]: Leaving directory `/usr/src/linux-2.6.13-15-obj/i386/default' cc -shared -Wl,-soname,libtonezone.so.1 -lm -o libtonezone.so zonedata.lo tonezone.lo **** Dynamic filesystem detected -- not creating device nodes **** If you are running udev, read README.udev install -D -m 755 ztcfg /sbin/ztcfg if [ -f sethdlc-new ]; then \ install -D -m 755 sethdlc-new /sbin/sethdlc; \ elif [ -f sethdlc ]; then \ install -D -m 755 sethdlc /sbin/sethdlc ; \ fi if [ -f zttool ]; then install -D -m 755 zttool /sbin/zttool; fi if [ -f zaptel.ko ]; then \ for x in zaptel.ko tor2.ko torisa.ko wcusb.ko wcfxo.ko wctdm.ko ztdynamic.ko ztd-eth.ko wct1xxp.ko wct4xxp.ko wcte11xp.ko pciradio.ko ztd-loc.ko ztdummy.ko ztdummy.ko; do \ rm -f /lib/modules/2.6.13-15-default/extra/$x ; \ done; \ make -C /lib/modules/2.6.13-15-default/build SUBDIRS=/home/mstuebner/asterisk/zaptel-1.2.0-rc2 INSTALL_MOD_PATH= INSTALL_MOD_DIR=misc modules_install; \ if ! [ -f wcfxsusb.ko ]; then \ rm -f /lib/modules/2.6.13-15-default/misc/wcfxsusb.ko; \ fi; \ rm -f /lib/modules/2.6.13-15-default/misc/wcfxs.ko; \ else \ for x in zaptel.o tor2.o torisa.o wcusb.o wcfxo.o wctdm.o ztdynamic.o ztd-eth.o wct1xxp.o wct4xxp.o wcte11xp.o pciradio.o ztd-loc.o ztdummy.o ztdummy.o; do \ install -D -m 644 $x /lib/modules/2.6.13-15-default/misc/$x ; \ done; \ if ! [ -f wcfxsusb.o ]; then \ rm -f /lib/modules/2.6.13-15-default/misc/wcfxsusb.o; \ fi; \ rm -f /lib/modules/2.6.13-15-default/misc/wcfxs.o; \ fi make[1]: Entering directory `/usr/src/linux-2.6.13-15-obj/i386/default' make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/default modules_install /bin/sh: -c: line 0: syntax error near unexpected token `(' /bin/sh: -c: line 0: `echo ' INSTALL /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.ko' && mkdir -p /lib/modules/2.6.13Linux version 2.6.13-15-default (geeko@buildhost) (gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)) -15-default/misc; cp /home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.ko /lib/modules/2.6.13Linux version 2.6.13-15-default (geeko@buildhost) (gcc version 4.0.2 20050901 (prerelease) (SUSE Linux)) -15-default/misc' make[4]: *** [/home/mstuebner/asterisk/zaptel-1.2.0-rc2/pciradio.ko] Error 2 make[3]: *** [modules_install] Error 2 make[2]: *** [modules_install] Error 2 make[1]: *** [modules_install] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.13-15-obj/i386/default' install -D -m 755 libtonezone.so /usr/lib/libtonezone.so.1.0 [ `id -u` = 0 ] && /sbin/ldconfig || : rm -f /usr/lib/libtonezone.so ln -sf libtonezone.so.1 /usr/lib/libtonezone.so if [ -x /usr/sbin/sestatus ] && (/usr/sbin/sestatus | grep "SELinux status:" | grep -q "enabled") ; then restorecon -v /usr/lib/libtonezone.so; fi install -D -m 644 zaptel.h /usr/include/linux/zaptel.h install -D -m 644 torisa.h /usr/include/linux/torisa.h install -D -m 644 tonezone.h /usr/include/tonezone.h install -m 644 doc/ztcfg.8 /usr/share/man/man8 install -m 644 doc/zttool.8 /usr/share/man/man8 if [ -n "/etc/modprobe.d/zaptel" ]; then \ if [ -f /etc/modprobe.d/zaptel ]; then mv -f /etc/modprobe.d/zaptel /etc/modprobe.d/zaptel.bak ; fi; \ cat /etc/modprobe.d/zaptel.bak | grep -v "alias char-major-250" | \ grep -v "post-install torisa /sbin/ztcfg" | \ grep -v "post-install wcfxsusb /sbin/ztcfg" | \ grep -v "alias wctdm" | \ grep -v "post-install wctdm /sbin/ztcfg" > /etc/modprobe.d/zaptel; \ if ! grep "options torisa" /etc/modprobe.d/zaptel; then \ echo "options torisa base=0xd0000" >> /etc/modprobe.d/zaptel; \ fi; \ if ! grep "alias char-major-196" /etc/modprobe.d/zaptel; then \ echo "alias char-major-196 torisa" >> /etc/modprobe.d/zaptel; \ fi; \ for x in zaptel tor2 torisa wcusb wcfxo wctdm ztdynamic ztd-eth wct1xxp wct4xxp wcte11xp pciradio ztd-loc ztdummy ztdummy; do \ if ! grep -q "post-install $x" /etc/modprobe.d/zaptel; then \ if ! grep -q "install $x " /etc/modprobe.d/zaptel; then \ if [ "$x" != "zaptel" ] ; then \ if [ -f zaptel.ko ]; then echo "install $x /sbin/modprobe --ignore-install $x && /sbin/ztcfg" >> /etc/modprobe.d/zaptel; \ else echo "post-install $x /sbin/ztcfg" >> /etc/modprobe.d/zaptel; \ fi; \ fi; \ fi; \ fi; \ done; \ if ! grep "ias wcfxs" /etc/modprobe.d/zaptel; then \ echo "alias wcfxs wctdm" >> /etc/modprobe.d/zaptel; \ fi; \ if ! grep "alias wct2xxp" /etc/modprobe.d/zaptel; then \ echo "alias wct2xxp wct4xxp" >> /etc/modprobe.d/zaptel; \ fi; \ fi options torisa base=0xd0000 alias char-major-196 torisa alias wcfxs wctdm alias wct2xxp wct4xxp if [ -d /etc/modutils ]; then \ /sbin/update-modules ; \ fi [ `id -u` = 0 ] && /sbin/depmod -a 2.6.13-15-default || : [ -f /etc/zaptel.conf ] || install -D -m 644 zaptel.conf.sample /etc/zaptel.conf asterisk-srv-1:/home/mstuebner/asterisk/zaptel-1.2.0-rc2 #

hello, a few things to check…

First of all, I recommend you download the most recent bristuff (bristuff 0.3.0pre1c at the moment). try installing that one. I don’t have the errors you receive.

You also seem to be running udev, have a look at the README.udev file if you haven’t done so already.

If you look at the /proc/version file, it should be the same version as gcc -v, if that’s correct, you can start compiling.

cheers

I did, and I did it again, but with the same result.

I cannot find the README.udev, even that I remember that I have seen it somewhen before. Can you point me to this file?

It is the same gcc version, exactly the same.

Here it’s in the zaptel dir, and in my case that is:

cheers

Here it’s in the zaptel dir, and in my case that is:

Thanx for the pointer. I did the changes in /etc/udev… , but needless zu say: No changes so far.

The thing I do not understand is how modprobe works or why it says that it doesn’t find the zaptel, even when zaptel says “installed”.

If you don’t find the zaptel module, it’s not installed. To see if you have the zaptel module, execute:

If the zaptel.ko module exists, it’s installed. This command gives you some info on the module, can you try that:

There is also an error somewhere, about entering a directory, it might be related to this…

[quote]make[1]: Entering directory /usr/src/linux-2.6.13-15-obj/i386/default' make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/default modules_install /bin/sh: -c: line 0: syntax error near unexpected token(’ [/quote]

Ok, that shows that the module isn’t there. Even nice that the installer says “Installed”

asterisk-srv-1:/ # ls /lib/modules/`uname -r`/extra . fcpcmcia_cs.ko pbe5.ko .. fcpnp.ko prism2_cs.ko acx_pci.ko fcusb.ko prism2_pci.ko adm8211.ko fcusb2.ko prism2_plx.ko at76_usbdfu.ko fxusb.ko prism2_usb.ko at76c503-i3861.ko fxusb_CZ.ko qozap.ko at76c503-i3863.ko hostap.ko r8180.ko at76c503-rfmd-acc.ko hostap_crypt_ccmp.ko rt2400.ko at76c503-rfmd.ko hostap_crypt_tkip.ko rt2500.ko at76c503.ko hostap_crypt_wep.ko rt2570.ko at76c505-rfmd.ko hostap_cs.ko rtcmosram.ko at76c505-rfmd2958.ko hostap_pci.ko saa7113.ko at76c505a-rfmd2958.ko hostap_plx.ko saa7115.ko ath_hal.ko i2c-algo-usb.ko saa7127.ko ath_pci.ko ieee80211-r8180.ko slamr.ko ath_rate_sample.ko ieee80211.ko slusb.ko av5100.ko ieee80211_crypt-r8180.ko smapi.ko cloop.ko ieee80211_crypt.ko superio.ko cwain.ko ieee80211_crypt_ccmp.ko thinkpad.ko cx25840.ko ieee80211_crypt_tkip.ko thinkpadpm.ko dazuko.ko ieee80211_crypt_wep-r8180.ko unh_iscsi_initiator.ko drbd.ko ieee80211_crypt_wep.ko unh_iscsi_target.ko e2220pc.ko ipw2100.ko unh_scsi_target.ko e5520pc.ko ipw2200.ko usbvision.ko fcclassic.ko ivtv-fb.ko wcfxs.ko fcdsl.ko ivtv-msp3400.ko wlan.ko fcdsl2.ko ivtv-tda9887.ko wlan_acl.ko fcdslsl.ko ivtv-tuner.ko wlan_ccmp.ko fcdslslusb.ko ivtv-tveeprom.ko wlan_tkip.ko fcdslusb.ko ivtv.ko wlan_wep.ko fcdslusb2.ko libafs.ko wlan_xauth.ko fcdslusba.ko ndiswrapper.ko wm8775.ko fcpci.ko novfs.ko zaphfc.ko fcpcmcia.ko p80211.ko

[quote=“stoffell”]There is also an error somewhere, about entering a directory, it might be related to this…

make[1]: Entering directory `/usr/src/linux-2.6.13-15-obj/i386/default' make -C ../../../linux-2.6.13-15 O=../linux-2.6.13-15-obj/i386/default modules_install /bin/sh: -c: line 0: syntax error near unexpected token `(' [/quote]
Have seen this, but don’t know what to do with it, “/usr/src/linux-2.6.13-15-obj/i386/default” definately exists.

I definately don’t want to miss the chance to say thanx to stoffell for his help.

For everyone who comes across the same problem:

the source currently cannot be compiled using gcc 4.xx. Its that easy.
I changed back to Suse 9.3 and gcc 3.5, that worked immediately.

Thanx once again.