Download Print this page

Sangoma S503 Hardware Interface Manual

Frame relay support for sangoma cards

Advertisement

Quick Links

December 2001
FRAME RELAY SUPPORT FOR
SANGOMA CARDS
Hardware Interface Manual

Advertisement

loading

Summary of Contents for Sangoma S503

  • Page 1 December 2001 FRAME RELAY SUPPORT FOR SANGOMA CARDS Hardware Interface Manual...
  • Page 2: Limited Use License Agreement

    However, Sangoma Technologies Inc. warrants the diskettes on which the Program is furnished will be free of defects in materials or workmanship under normal use for a period of 90 days from the date of delivery to the Licensee. In no event will Sangoma Technologies Inc. be liable for any damages, including incidental or consequential damages arising out of the use or inability to use the Program, even if Sangoma Technologies Inc.
  • Page 3 Introduction The Sangoma cards are general co-processor communication adapters capable of supporting any communication protocol autonomously, and providing information transfer into PC work space. This document describes the support of the Frame Relay protocol on the card, and the hardware level PC to Card API required for development of device drivers.
  • Page 4: Conventions Used In This Manual

    Variables described with an 0x prefix or an h suffix are hexadecimal values. All other variables are decimal. For bit mapping, the least significant (low) bit is denoted as bit 0. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 4 of 78...
  • Page 5 The RS232 or V.35/X.21 interface is jumper selectable. Clock speed: This is factory set by Jumper JP1. Do not change without consulting your Sangoma dealer. I/O port address: This is set by Jumper JP3.
  • Page 6 Note that JP1-1 on the S508 is furthest to the left if the board is held such that the connectors are to the right. JP1-4 is reserved. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 6 of 78...
  • Page 7 S514 Port Pinouts Port PA is the Primary 4Mbps port Port PB is the Secondary 512Kbps port. PIN # PA:RS232 PA:V.35 PB:RS232 PB:V.35 DTR (V.10) DTR (V.10) Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 7 of 78...
  • Page 8 RX Clock B DTR A (V.11) DTR B (V.11) TX Clock A TX Clock B RX Clock A RX Clock B DTR A (V.11) DTR B (V.11) Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 8 of 78...
  • Page 9 DTRB (V11 signal) Tx Clock B Rx Clock A Rx Clock B Aux. Clock A (On board clock source) Aux. Clock B (On board clock source) Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 9 of 78...
  • Page 10 This control block structure is found at the physical offset 0xE000 on the adapter. For example if S508LOAD is executed with a command line definition of '- mDC', then the physical address of the control block is 0xDC00:0xE0000. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 10 of 78...
  • Page 11 CR_BITS RESERVED Reserved for later use. DATA This is the transfer area for passing data associated with the various commands to and from the application level. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 11 of 78...
  • Page 12: Command Codes

    0x22 ACTIVATE_DLCs DEACTIVATE_DLCs 0x23 READ_MODEM_STATUS 0x30 0x31 SET_MODEM_STATUS 0x32 READ_COMMS_ERR_STATS FLUSH_COMMS_ERR_STATS 0x33 READ_CODE_VERSION 0x40 0x41 DISCARD_INCOMMING_I_FRAMES 0x42 BRIDGE_TRANSMITTER_AND_RECEIVER SET_INTERRUPT_TRIGGERS 0x50 0x51 READ_INTERRUPT_TRIGGERS 0x60 SET_TRACE_CONFIGURATION READ_TRACE_STATISTICS 0x61 Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 12 of 78...
  • Page 13 Access Node, the Forward Explicit Congestion Notification (FECN), the Backward Explicit Congestion Notification (BECN) and the Command/Response (C/R) bits are valid. DATA: The actual data to be transmitted. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 13 of 78...
  • Page 14 0x08 The data was not queued due to the fact that all the transmit buffers are currently occupied. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 14 of 78...
  • Page 15 Offset 0x00-0x04: a pointer to the Transmit Status Element to be used for this outgoing frame (see the section on Transmitting Information Frames for further details). Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 15 of 78...
  • Page 16 0x06 The type of Status Enquiry frame set at offset 0x00 in the DATA area is invalid. 0x07 A Status Enquiry message may not be issued at a station configured as an Access Node. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 16 of 78...
  • Page 17 DLCI configuration is used at a CPE (bit 15 of the miscellaneous frame relay configuration bits is set), then the BUFFER_LENGTH should be set to 0x20. For a non-zero DLCI: Set to 0x0E. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 17 of 78...
  • Page 18 0x14) will be passed to the application on an INFORMATION_WRITE command. This bit may be set so as to disable the passing of these error codes when performing Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 18 of 78...
  • Page 19 DLCIs listed by the node will be configured. The application will be notified of theses DLCI additions by means of the return code 0x13. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 19 of 78...
  • Page 20 (in kbits) that the network agrees to transfer, under normal conditions, during a time interval Tc (the Committed Rate Interval). Valid values are Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 20 of 78...
  • Page 21 CIR, Bc and Be parameters for this DLCI. If set, then the transmission speed of Information frames will be restricted only by the physical baud rate and no CIR checking will be performed. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 21 of 78...
  • Page 22 Offset 0x0C: the backward Excess Burst Size (Be bwd). Valid values are between 1 and 511 kbits, but the total of Bc plus Be should not exceed 512 kbps. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 22 of 78...
  • Page 23 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 23 of 78...
  • Page 24 Offset 0x00-0x01: if internal clocking has been selected, then the actual generated baud rate may be different from the configured baud rate and is returned to the user in the mailbox data area. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 24 of 78...
  • Page 25 For DLCI 0x00: Set to 0x20 plus twice the number of DLCIs configured for use by this station. For a non-zero DLCI: Set to 0x16. DATA (valid if a RETURN_CODE of 0x00 is received): Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 25 of 78...
  • Page 26 0x14: the maximum number of bytes that may be received by the adapter in a single Tc interval and still remain inside the CIR bwd limit. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 26 of 78...
  • Page 27 Control Block values set on return: RETURN_ CODE: 0x00 The action was performed successfully. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 27 of 78...
  • Page 28 0x01 The communications may not be enabled until the initial SET_DLCI_CONFIGURATION (DLCI zero) command has been issued. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 28 of 78...
  • Page 29 For DLCI 0x00: Set to 0x01 plus three times the number of DLCIs configured for use by this station. For a non-zero DLCI: Set to 0x01. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 29 of 78...
  • Page 30 For a non-zero DLCI, the first byte of the returned DATA area represents the status of the DLCI. The bit settings for this status byte are the same as that returned for the READ_DLC_STATUS call on DLCI zero. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 30 of 78...
  • Page 31 BUFFER_LENGTH (valid if a RETURN_CODE of 0x00 is received): For DLCI 0x00: Set to 0x38. For a non-zero DLCI: Set to 0x20 (no throughput statistics included) or 0x30 (statistics included). Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 31 of 78...
  • Page 32 0x0C number of Full Status Enquiry messages sent (pertains to CPE only). 0x0E number of Link Integrity Verification Status Enquiry messages sent (pertains to CPE only). 0x10 number of Full Status messages received (pertains to CPE only). Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 32 of 78...
  • Page 33 0x28 number of times that the N392 error threshold was reached during N393 monitored events. 0x2A number of CPE initializations (Send and Receive Sequence Numbers reset). 0x2C the current Send Sequence Number. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 33 of 78...
  • Page 34 0x14 number of received Information frames discarded, as the specified DLCI was inactive. 0x18 number of Information frames received with excessive throughput, i.e. the actual Bc or Be was found to exceed the configured values. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 34 of 78...
  • Page 35 I-frame. 0x28 the current receive throughput (bps). 0x2C the number of milliseconds expired since the receive throughput measurement was activated by the first incoming I-frame. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 35 of 78...
  • Page 36 0x00 The action has been performed successfully. 0x04 An invalid DLCI was selected. 0x06 The bit settings passed at offset 0x00 in the DATA area are invalid. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 36 of 78...
  • Page 37 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 37 of 78...
  • Page 38 Offset 0x00 - 0xNN: a list of all active DLCIs. Each DLCI is represented by a 2-byte unsigned hexadecimal value, and a maximum of 100 DLCIs will be listed. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 38 of 78...
  • Page 39 0x00 The action has been performed successfully. 0x04 An invalid DLCI was selected. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 39 of 78...
  • Page 40 0x08 A listed DLCI has already been 'added' and is already included in the Full Status message. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 40 of 78...
  • Page 41 0x08 A listed DLCI has not been 'added' and cannot therefore be 'deleted'. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 41 of 78...
  • Page 42 0x08 A listed DLCI has not been 'added' and may therefore not be 'activated'. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 42 of 78...
  • Page 43 0x08 A listed DLCI has not been 'added' and may therefore not be 'deactivated'. 0x10, 0x11, 0x12, 0x13, 0x14, 0x1F See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 43 of 78...
  • Page 44 Offset 0x00: The current CTS and DCD status as follows: If bit 3 is set, then DCD is high. If bit 5 is set, then CTS is high. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 44 of 78...
  • Page 45 Control Block values set on return: RETURN_ 0x00 The action has been performed successfully. CODE: 0x10, 0x11, 0x12, 0x13, 0x14 See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 45 of 78...
  • Page 46 DATA (valid if a RETURN_CODE of 0x00 is received): Offset 0x00: number of receiver overrun errors. Offset 0x01: number of receiver CRC errors. Offset 0x02: number of abort frames received. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 46 of 78...
  • Page 47 Offset 0x07: reserved for later use. Offset 0x08: number of times DCD changed state. Offset 0x09: number of times CTS changed state. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 47 of 78...
  • Page 48 Control Block values set on return: RETURN_ 0x00 The action has been performed successfully. CODE: 0x10, 0x11, 0x12, 0x13, 0x14 See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 48 of 78...
  • Page 49 LENGTH: DATA (valid if a RETURN_CODE of 0x00 is received): The code versions are of the ASCII format: main-version.sub-version Offset 0x00-0x03: the frame relay code version. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 49 of 78...
  • Page 50 Control Block values set on return: RETURN_ CODE: 0x00 The action has been performed successfully. 0x10, 0x11, 0x12, 0x13, 0x14 See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 50 of 78...
  • Page 51 Control Block values set on return: RETURN_ CODE: 0x00 The action has been performed successfully. 0x10, 0x11, 0x12, 0x13, 0x14 See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 51 of 78...
  • Page 52 READ_DLC_STATUS command to illicit a return code of 0x10 and then examining the byte at offset 0x00 in the structure data area. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 52 of 78...
  • Page 53 0x05 (only applicable when enabling transmit interrupts) - the length of the frame to be transmitted exceeded the maximum I-frame length defined by the SET_DLCI_CONFIGURATION command. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 53 of 78...
  • Page 54 Tc interval. 0x10, 0x11, 0x12, 0x13, 0x14 See Section "Notes on Return Codes" for further details. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 54 of 78...
  • Page 55 See Section "Notes on Return Codes" for further details. BUFFER_ Set to 0x03 if a RETURN_CODE of 0x00 is received. LENGTH: DATA: The interrupt trigger configuration as defined in the SET_INTERRUPT_TRIGGERS command. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 55 of 78...
  • Page 56 Offset 0x02: The DLCI status as follows: Bit 0 - if set, the DLCI has been deleted. Bit 1 - if set, then the DLCI is active and information transfer is possible. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 56 of 78...
  • Page 57 The DATA area consists of a list of these DLCIs, each being represented by a 2-byte, unsigned, hexadecimal value. 0x1F The frame relay command used is invalid. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 57 of 78...
  • Page 58 The CURRENT_MODEM_STATUS_INTERFACE_BYTE is set as follows: If bit 3 is set, then DCD is high. If bit 5 is set, then CTS is high. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 58 of 78...
  • Page 59 If bit 0 is set, then there is at least one received Information frame queued for reception by the application. If bit 1 is set, then there is at least one transmit buffer available for use by the application. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 59 of 78...
  • Page 60: Interrupt Usage

    To reset the interrupt and to permit the next interrupt to be triggered, the interrupt handler should: reset the PIC on the PC Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 60 of 78...
  • Page 61 4 is used for channel/DLCI status changes If the bit is reset by the application, then an interrupt of that type will not occur until the bit is set again. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 61 of 78...
  • Page 62 0x0A000 - 0x0BFFF 0x06 0x0C000 - 0x0DFFF 0x07 0x0E000 - 0x0FFFF 0x08 0x10000 - 0x11FFF 0x09 0x12000 - 0x13FFF 0x0A 0x14000 - 0x15FFF 0x0B 0x16000 - 0x17FFF Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 62 of 78...
  • Page 63 An easy way of adjusting this 8K memory window would be through a procedure listed below: void set_adapter_8K_memory_window(unsigned long adapter_memory_offset) outp(IO_port_base_address + 2, (adapter_memory_offset >> 13) & 0xFF); Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 63 of 78...
  • Page 64 The address of the next Receive 0xF126 Status Element to be used Base address of the actual 0xF12A receive buffer area End address of the actual receive 0xF130 buffer area Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 64 of 78...
  • Page 65 1) The Status Flag of current Receive Status Element to be used is examined. When this flag is set to 0x01 by the adapter, then there is an I-frame available for the application. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 65 of 78...
  • Page 66 2) Once a receive interrupt occurs, the logic for handling the incoming frame and the Receive Status Elements is the same as for the non-interrupt driven code described above. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 66 of 78...
  • Page 67 FECN/BECN/DE/CR bits in the 0x09 outgoing I-frame (represented by bits 3, 2, 1 and 0 respectively) Reserved 0x0A Pointer to the actual I-frame data 0x0C to be transmitted Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 67 of 78...
  • Page 68 It is important to note that the transmit buffer is not a rotational buffer and so no buffer wrapping occurs as per the receive buffer. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 68 of 78...
  • Page 69 Note that in addition to setting the high bit of this status flag, there are additional bit settings which may be of use: Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 69 of 78...
  • Page 70 However, if the user sets the status flag to 0xC0, then the frame will not be discarded, but will be queued for transmission once the CIR permits the release of this frame. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 70 of 78...
  • Page 71: Using Frame Relay

    Back-to-Back CPE/Switch Usage It is useful to have two Sangoma Frame Relay boards in a back-to-back configuration, with one acting as the CPE and the other acting as the Access Node (switch). In order to achieve this setup, do the following: The two boards should be connected by a Sangoma DB25 back-to-back cable.
  • Page 72 10. Managing Information Rates The Sangoma Frame Relay implementation is designed to allow user control of the information rates. You can limit the information rate on any or all logical channels to the CIR, while maintaining optimum use of the line.
  • Page 73 If there is consistent congestion on any DLCI, the Forward CIR should be raised. Note that you can always configure the board to have a higher CIR than the network, but then you are in danger of having the network discard frames. Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 73 of 78...
  • Page 74: Frame Relay

    I/O port base address of the SDLA card. Valid values are 0x250, 0x270, 0x280, I/O PORT 0x300, 0x350, 0x360, 0x380 and 0x390. If this argument is not included, the I/O port Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 74 of 78...
  • Page 75 FR_TEST is a high-level interface to the Frame Relay code which allows the user to perform individual interface commands. FR_TEST.EXE is loaded with the following command line: FR_TEST -m<MEMORY> Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 75 of 78...
  • Page 76 If FR_TEST does not execute successfully, an error message will be displayed and an exit code will be returned. A description of the error messages and corresponding exit codes is given in the section, "Error Messages". Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 76 of 78...
  • Page 77 DLOAD again (exit code of 0x07). "The downloaded code is not running on the adapter" - the card CPU has halted. Contact your Sangoma representative (exit code of 0x07). Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 77 of 78...
  • Page 78 "THE FRIP TSR HAS NOT BEEN FOUND AT INTERRUPT VECTOR <VECTOR>" - (exit code of 0x02). "AN SDLA TIMEOUT OCCURRED (THE FRAME RELAY CODE IS NOT RUNNING)" - contact your Sangoma representative (exit code of 0x0A). Frame Relay for Sangoma Cards (C) Sangoma Technologies Inc. 1999,2000,2001 Page 78 of 78...