Date: Fri, 13 Jun 2003 19:49:20 +0200 From: Hans Petter Selasky & <hselasky@c2i.net> To: Joshua Silver <jaster@shoalhaven.net.au>, freebsd-isdn@freebsd.org Subject: Re: 56k DoV Message-ID: <20030613194920.A1294@curly.tele2.no> In-Reply-To: <200306131529.38864.jaster@shoalhaven.net.au>; from jaster@shoalhaven.net.au on Fri, Jun 13, 2003 at 03:29:38PM %2B1000 References: <200306111208.21922.jaster@shoalhaven.net.au> <20030611011745.A2302@tmp.com.br> <20030611151053.B20101@curly.tele2.no> <200306131529.38864.jaster@shoalhaven.net.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi. isdntrace is currently not capable of tracing the B-channel unless the device is connected. I've scratched together a small program that will fetch a data sample. I assume that you only have one ISDN card in your computer. The program will use BPROT_NONE: cd ~ fetch http://home.c2i.net/hselasky/isdn4bsd/privat/temporary/isdntest.tar.gz tar -zxvf isdntest.tar.gz cd isdntest make clean all ./isdntest After you got the program working, you need to do some editing: cd /sys/i4b/layer3/ "i4b_q931.h": Add the following line after the line saying IT_RATE_64K #define IT_RATE_56K 0x8f /* BC: information xfer rate (not tested) */ then make a backup (same directory) cp i4b_l2if.c i4b_l2if.c.bak "i4b_l2if.c": Search forward to the function "i4b_l3_tx_setup". Then under "case BRPROT_NONE:" change IT_RATE_64K to IT_RATE_56K, recompile the kernel, reboot and run my program. If the program connects, you might want to redefine IT_RATE_56K to IT_RATE_64K, so that it does not cause trouble with other programs. If the program doesn't connect, you need two computers: One computer to dial 56k DoV and another computer to trace the D-channel. See /usr/src/usr.sbin/i4b/isdntrace/ and /usr/src/usr.sbin/i4b/isdntrace/cable.txt for more information. On Fri, Jun 13, 2003 at 03:29:38PM +1000, Joshua Silver wrote: > Thanks Guys, > > I've done a little more digging, and found your right, it's a little more > complicated than I thought ... dang :( ... > > I'm running 4.8-STABLE, and when you say you need a data stream, is that > something like the output from isdn_trace ? ... sorry, I'm still rather new > to ISDN ... ;) > > Josh. > > On Wed, 11 Jun 2003 23:10, Hans Petter Selasky & wrote: > > Hi, > > > > I wrote the HDLC encoder/decoder. Q.921's definition of HDLC is a serial > > (1-bit) protocol, that transfers 8-bit units of data. I'd assume this is > > the same for all transferrates. If I'm right, all you have to do, is to > > move the bits around, so that the serial data stream is the same. Bits are > > transmitted in the order bit[0] to bit[7] inclusively (64k). When using 56k > > there are two logical choices of unused bits: Either bit[0] or bit[7] can > > be set to either zero or one. According to the HFC-S manual, setting bit[0] > > (LSB) to one is default when using 56k mode. > > > > To decide for sure what format your ISP is using, I'd need a data-stream > > sample. What version of FreeBSD are you using? > > > > On Wed, Jun 11, 2003 at 01:17:45AM -0300, Sergio de Souza Prallon wrote: > > > Hi, > > > > > > I wrote the driver for this card, but I never had any experience with DoV > > > (it's not an issue in my country). AFAIK, involves "cheating" the bearer > > > codes (which can be done - there is at least one patch from NetJet Inc > > > for it) AND (in the 56K case) ignore the 7th bit of every byte sent or > > > received does not exists while encoding or decoding the HDLC frames. > > > Unfortunately, this is not handled by the HDLC encoder/decoder package I > > > use. It may be possible to hack it, but I don't know for sure, the code > > > is heavily optimized. I'd suggest you to contact Hans Petter Selasky, the > > > original author of the encoder. > > > > > > Hope this helps. > > > > > > []'s > > > > > > -- > > > Prallon > > > Yours --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030613194920.A1294>