From owner-freebsd-isdn Wed Sep 30 15:11:11 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id PAA08337 for freebsd-isdn-outgoing; Wed, 30 Sep 1998 15:11:11 -0700 (PDT) (envelope-from owner-freebsd-isdn@FreeBSD.ORG) Received: from arg1.demon.co.uk (arg1.demon.co.uk [194.222.34.166]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id PAA08292 for ; Wed, 30 Sep 1998 15:10:50 -0700 (PDT) (envelope-from arg@arg1.demon.co.uk) Received: from localhost (arg@localhost) by arg1.demon.co.uk (8.8.8/8.8.7) with SMTP id XAA20384; Wed, 30 Sep 1998 23:12:10 +0100 (BST) (envelope-from arg@arg1.demon.co.uk) Date: Wed, 30 Sep 1998 23:12:10 +0100 (BST) From: Andrew Gordon X-Sender: arg@server.arg.sj.co.uk To: Hallam Oaks P/L list account cc: "freebsd-isdn@FreeBSD.ORG" Subject: Re: HSCX query In-Reply-To: <199809301807.EAA25933@mail.aussie.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Thu, 1 Oct 1998, Hallam Oaks P/L list account wrote: > > I'm working on a new device support for i4b. This device (a PCI ISDN card) > does _not_ have a HSCX in the normal manner of speaking. Most of the HSCX > functions are handled by the PCI ISAC, the rest (HDLC decoding) has to be > done in software. I don't think you've really described your card accurately enough for us to help. The 'classic' Siemens-chipset cards (Teles, AVM etc) contain: - HSCX (SAB8525). This is a dual-channel HDLC controller, used to receive the B channels only. It demultiplexes the two channels under the control of timing strobes from the ISAC. It also has a non-HDLC mode, where it simply acts as a FIFO for bytes of raw B channel data (byte timing being supplied by the ISAC again). Raw mode is used for voice applications, HDLC mode is used for IP (if they were ever implemented in I4B, V.110 would use raw mode and V.120 would use HDLC mode). - ISAC (PEB2085). This handles the clock recovery and mux/demux for the ISDN S-bus, and also has an HDLC controller (very similar register-wise to one half of the HSCX) for receiving the D channel. So, if your card really has no hardware support for HDLC on the B channels, it is going to be _very_ inefficient for handling IP: although the HDLC 'protocol' is quite simple, and CRC-16 can be implemented quite efficiently by table look-up, doing the zero-bit insertion/deletion in software would use a lot of CPU. If there is hardware HDLC for the B channels but not for the D channel, that would require just the same development effort but would have a much less serious impact on performance since the average data rate on the D channel is extremely low. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message