wiki:isdnsync

ISDNsync Reference

Isdnsync was written by Andreas Eversberg. It is a small tool that initalizes a cheap HFC-S ISDN-Card so that bit and framclock are present on 2 IC-Pins. These signals can be used to feed HFC-E1 card with a very exact clock.

Usage: ./isdnsync <card>

Opens given card number in TE-mode PTP and tries to keep layer 2 established.
This keeps layer 1 activated to retrieve a steady sync signal from network.

isdnsync HOWTO

In a state of the art digital telephone network (SDH) everything is syncronized by a central, very high accuracy clock. The BTS also uses this clock for various things like carrier clock, bit clock, etc. If the carrier clock becomes slightly incorrect (more than 50Hz) the BTS will transmit on a wrong frequency and there will be lots of other effects that might destabilize the radio transmission.

The BS11 is shipped with a pre-calibrated internal oscillator. If you are lucky the calibration (that is made over 10 years ago) in your BTS is still correct. If not your setup will not work unless you recalibrate the oscillator.

This document illustrates how you can use a cheap HFC-S card with the public telephone network as frequency standard for your E1 line.

Modifying the HFC-S Card

All in all we need 2 Signals from the HFC-S Card: F0IO and C4IO. This signals are provided by the HFC-S Chip on the card and can be taken from pin 55 (F0IO) and 54 (C4IO) at the HFC-S Chip. (See also Datasheet page 8).

All you need to do is to solder a wire to C4IO and F0I0. The following image shows our modified card:

Note: We used an old led-wire from an old PC-Tower case. The green wire is connected to F0IO and the black one is connected to C4IO

After you have modified the card you should verify if the card works as expected. Start isdnsync and measure the signals with an oscilloscope.

$ ./isdnsync 1
DL_INFORMATION (tei 0 sapi 0)
-> activating layer 2
PH_ACTIVATE
*** Sync available from interface :-)
DL_ESTABLISH

From left to right: F0IO (4,096Mhz bitclock), C4I0 (8kHz frameclock)

Note: See HFC-E1 Datasheet Page 235 more information.

Connecting the modified HFC-S card to your E1 Card

Your HFC-E1 card has two so called PCM-Connectors. (the two connectors in the upper right corner of the card) The signal inputs for C4IO and F0IO can be found on Pin 9 and Pin 11 of the HFC-E1 card.

The image shows how the HFC-S card is connected to the HFC-E1 card.

Note: We used an old led-wire from an old PC-Tower case. The green wire is connected to F0IO and the black one is connected to C4IO

Note: You should have received a printed documentation with your HFC-E1 card. You will find a detailed pinout of the PCM connectors there.

Perform the calibration procedure

The calibration of the internal oscillator is an ongoing process. In a commerical telephone network the BTSs are calibrated at all times. In an experimental Setup it should be ok to operate the BTS in standalone mode and syncronize it from time to time just as shown here:

Things to do:

  • Connect the HFC-S Card to the S0 line.
  • Add type=0x00800 to the modprobe hfcmulti ... commandline:
  • start isdynsync:
$ ./isdnsync 1
DL_INFORMATION (tei 0 sapi 0)
-> activating layer 2
PH_ACTIVATE
*** Sync available from interface :-)
DL_ESTABLISH
  • Configure your BTS from standalone to E1 locked:
dexter@da-laptop-w3:~/openbsc/openbsc/src$ ./bs11_config pll-e1-locked
bs11_config (C) 2009 by Harald Welte and Dieter Spaar
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

LMT LOGON: ACK

PHASE: 2 Maintenance          MBCCU0: Load        MBCCU1: Load        Abis-link: Down      
SET ATTRIBUTE ObjClass=0xa5 ObjInst=(7,0,0) ACK
LMT LOGOFF: ACK
  • start osmo-nitb (just as normal)
  • use bs11_config to monitor the calibration process. The internal oscillator will now take over the E1 clock. You should see that the PLL values changing from time to time. If you see the PLL values leveling off, the calibration is done.

Here's an example:

bs11_config (C) 2009 by Harald Welte and Dieter Spaar
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

LMT LOGON: ACK

PHASE: 3 Normal               MBCCU0: Load        MBCCU1: Load        Abis-link: Up        

BS11 ATTRIBUTES:
	BS-11 ESN PCB Serial Number: 001107
	BS-11 ESN Hardware Code Number: 135-2044/03.07
	BS-11 ESN Firmware Code Number: 135-2044/03.07
	PLL Set Value=1047, Work Value=653

SITE MANAGER ATTRIBUTES:
	E1 Channel: Port=0 Timeslot=1 (Full Slot)
	TEI: 25

BS11 Line Interface ATTRIBUTES:
	PLL Mode: E1 Locked

BS11 CCLK ATTRIBUTES:
	CCLK Accuracy: Medium (0)

BS11 Power Amplifier 0 ATTRIBUTES:
	TRX Power: 30mW (GSM)

LMT LOGOFF: ACK

The output was taken from a BS11 that was totally misaligned. The misalignment came from exidently operating the BS11 in E1-locked mode withoud a proper frequency standard (the internal oscillator of the HFC-E1 card far from being exact enough!).

bs11_config (C) 2009 by Harald Welte and Dieter Spaar
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

LMT LOGON: ACK

PHASE: 3 Normal               MBCCU0: Load        MBCCU1: Load        Abis-link: Up        

BS11 ATTRIBUTES:
	BS-11 ESN PCB Serial Number: 001107
	BS-11 ESN Hardware Code Number: 135-2044/03.07
	BS-11 ESN Firmware Code Number: 135-2044/03.07
	PLL Set Value=1047, Work Value=1046

SITE MANAGER ATTRIBUTES:
	E1 Channel: Port=0 Timeslot=1 (Full Slot)
	TEI: 25

BS11 Line Interface ATTRIBUTES:
	PLL Mode: E1 Locked

BS11 CCLK ATTRIBUTES:
	CCLK Accuracy: Medium (0)

BS11 Power Amplifier 0 ATTRIBUTES:
	TRX Power: 30mW (GSM)

LMT LOGOFF: ACK

And that output was taken from the BS11 after operating it for about 1,5h with our hfc-s/PSTN based frequency standard. As you can see the the Workvalue has changed dramaticly.

With our testequipment we could verify that the frequency accuracy of the BS11 now in the same range as the commercial BTS in the neigbourhood.

  • Configure your BTS from E1 locked to standalone to finish the procedure.
dexter@da-laptop-w3:~/openbsc/openbsc/src$ ./bs11_config pll-e1-locked
bs11_config (C) 2009 by Harald Welte and Dieter Spaar
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY

LMT LOGON: ACK

PHASE: 2 Maintenance          MBCCU0: Load        MBCCU1: Load        Abis-link: Down      
SET ATTRIBUTE ObjClass=0xa5 ObjInst=(7,0,0) ACK
LMT LOGOFF: ACK

Note: If you do this the first time it is higly recomended to check if valid signals are present at C4IO and F0IO.

Note: The process takes some time. We recommend to warm up the BTS before you start for at least one hour. It is important that the calibration takes place with work temperature.

Sources

Last modified 4 years ago Last modified on Apr 19, 2011, 3:42:50 PM

Attachments (2)

Download all attachments as: .zip