NEXT VERSION

V4.11.4 - 2012-03-05
Bug fix(es):
- VRX: HS tones configuration fixed
- VRX (DSLCPE_SW-594) [VRX200] T1.413 support for Telefonica -- Remember
  nActivationMode.
  Current activation mode handling added.
- VRX (DSLCPE_SW-590) [VRX200] T1.413 support for Telefonica.
  Additional extensions according to the updated "VRX_APS1wT1413_v3.pdf" spec.
- VRX (DSLCPE_SW-598) [VRX200]  Missing T1.413 related ModemState needs to be added.
  T1.413 line state handling added.
- VRX (DSLCPE_SW-597) [VRX200] Include functionality to support PM related
  counters for ADSL modes. Added PM implementation according to MCAT 1.6.1
common:
- updated header files according to MCAT 1.6.1

V4.11.3 - 2012-01-13
- IOCTL(s) extended for VRX:
 + DSL_FIO_INIT extended with DSL_ActivationFsmConfigData_t settings
common:
- VRX nAdslSubPref parameter removed from the following data types:
 + DSL_MultimodeFsmConfigData_t
 + DSL_MultimodeFsmStatusData_t
- Danube (DSLCPE_SW-582) RTT functionality available.
Bug fix(es):
- VRX: Correction within context of CMD_OLR_Control
  + SRA is now also supported by ADSL firmware for US (upstream) direction
- VRX (DSLCPE_SW-587) [VRX200] Optimization of FW/SW interaction handling.
  Step2 implementation added as specified in the related JIRA entry.
- VRX (DSLCPE_SW-584) Extensions for Microfilter detection.
  + Added error DSL_ERR_NOT_SUPPORTED_IN_CURRENT_VDSL_MODE for MFD related
    IOCtl/CLI commands in case of VDSL is currently active
  + Updated DSL_DRV_DEV_LinkActivate: "not supported in VDSL mode" warning added
    in case of VDSL is currently active
- VRX (DSLCPE_SW-590) [VRX200] T1.413 support for Telefonica.
  CAM FSM extensions added as specified.

V4.11.2 - 2011-12-30
- IOCTL(s) extended for VRX:
  DSL_FIO_LOOP_LENGTH_STATUS_GET
  DSL_FIO_FILTER_DETECTION_DATA_GET
  DSL_FIO_HYBRID_SELECTION_DATA_GET
common:
- (Danube & VRX): compilation warnings fixed for compilation models "Lite",
   "Footprint", "Typical", "Full", "Debug"
- VRX (DSLCPE_SW-584) Extensions for Microfilter detection.
  + VRX MFD implementation added.
  + MFD related values are reseting on a switch between ADSL and VDSL
Bug fix(es):
- VRX: Correction within context of CMD_OLR_Control
  + MsgSize corrected within drv_dsl_cpe_vrx_msg_olr.h (19->16 bit)
  + Use positive logic for Bitswap enable bits
  + removed special handling to disable Bitswaps in VDSL mode

V4.11.1 - 2011-10-26
common:
- VRX & Danube (DSLCPE_SW-561) Set CPE vendor ID to defined value
Bug fix(es):
- VRX (DSLCPE_SW-543) Enable/extend Retransmission (ReTx) support for VRX200
  BugFix to update ReTx status (CLI: lfsg, bReTxEnable) correctly in showtime.

V4.11.0 - 2011-09-26
Bug fix(es):
- VRX (DSLCPE_SW-550) T1.413 mode shall be included to be used by default
  Update to make it possible to select T1.413 mode exclusively.
- common (DSLCPE_SW-568) Timing performance - Optimization of autoboot polling
  cycles
- VRX (DSLCPE_SW-543) Enable/extend Retransmission (ReTx) support for VRX200
- VRX (DSLCPE_SW-572) Support of NTR feature
- VRX (DSLCPE_SW-573) Extend mapping of ACTPS to FW message value

V4.10.1 - 2011-07-18
common:
- VRX (DSLCPE_SW-550) T1.413 mode shall be included to be used by default
  T1.413 mode is included in case of ADSL AnnexA by default and can be
  configured manually in addition.
- VRX (DSLCPE_SW-541) Enable/extend SystemInterface-Config/-Status
  implementation

V4.10.0 - 2011-04-11
common:
- Danube RTT status update extended.
Bug fix(es):
- VRX (DSLCPE_SW-529) Implementation of message dump printouts are not in
  sync with specification.
  Implementation extended to fulfill specification.
- VRX (DSLCPE_SW-533) Optimize multimode handling.
  On sub-error code "S_XDSL_MODE" switch to VDSL mode.
- Danube
  RTT functionality check fixed.

V4.9.2 - 2011-02-24
Bug fix(es):
- VRX (DSLCPE_SW-529) Implementation of message dump printouts are not in
  sync with specification.
  RX/TX message dump fixed.
- Danube (N/A)
  Several fixes added to compatibility with new MEI driver sources.

V4.9.1 - 2011-02-18
common:
- VRX (DSLCPE_SW-530) Multimode debugging capability.
  New debug module definition added: DSL_DBG_MULTIMODE.
  Multiple debug messages related to multimode handling added.

V4.9.0 - 2011-02-15
common:
- VRX (DSLCPE_SW-531) Message header files update to VRX FWMCAT Rev1.4.
  Header files updated, related code reworked.

V4.8.12 - 2011-01-31
Bug fix(es):
- Common (DSLCPE_SW-529) Implementation of message dump printouts are not in
  sync with specification.
  message dump implementation fixed.
- Danube (DSLCPE_SW-527) Problems in case of special split-point configuration.
  warning doesn't lead to an error anymore.

V4.8.11 - 2011-01-28
common:
- Common (DSLCPE_SW-431) linefeaturestatus does not return an error if system is
  not in showtime.
  Linestate check added to DSL_DRV_LineFeatureStatusGet.
- VRX (DSLCPE_SW-485) Add information of which hybrid type (HW) is connected to
  version command.
  Hybrid type information added to the ioctl DSL_FIO_VERSION_INFORMATION_GET.

V4.8.10 - 2011-01-14
Bug fix(es):
- Danube (DSLCPE_SW-523) Configuration and status implementation for ReTx is
  wrong
  ReTx activation and status check fixed.
- Danube (DSLCPE_SW-524) g997xtusecs does not reflect the actual mode enabled
  for AnxJ
  AnxJ handled as AnxB. All related code reworked.

V4.8.9 - 2010-12-29
Bug fix(es):
- Danube (N/A) DELT array spread function fixed.
- VRX (DSLCPE_SW-505) DELT for VR9 FW in ADSL mode reports only every second
  tone.
  Spread DELT downstream values for ADSL mode.

V4.8.8 - 2010-12-24
Bug fix(es):
- Common (DSLCPE_SW-522) Reboot causes soft lockup and then kernel panic.
  Kernel thread handling fixed.
common:
- Common (DSLCPE_SW-518) New IOCTL(s) added
  + DSL_FIO_DBG_DEVICE_MESSAGE_MODIFY_SEND

V4.8.7 - 2010-12-02
Bug fix(es):
- Danube (N/A) CMV DSL 8 8 initialization removed.

V4.8.6 - 2010-12-01
Bug fix(es):
- Danube (N/A) Fixed RTT initialization.

V4.8.5 - 2010-11-30
Bug fix(es):
- Danube (N/A) Fixed RTT initialization.
common:
- IOCTL DSL_FIO_RTT_INIT added Ip address and port settings.

V4.8.4 - 2010-11-13
Bug fix(es):
- Common (DSLCPE_SW-511) Generation for "ifx_mei_atm_showtime_exit" signal does
  not work correctly
- VRX (DSLCPE_SW-511) Channel status update fixed.
  Channel status information update added to MeiShowtimeSignaling.

V4.8.3 - 2010-11-01
common:
- Added unit selector value in ioctl DSL_FIO_LOOP_LENGTH_STATUS_GET to choose
  between feet and meter for loop length status values.
- New IOCTL(s) added:
  + DSL_FIO_HYBRID_SELECTION_DATA_GET
  + DSL_FIO_FILTER_DETECTION_DATA_GET
- new configuration option(s) added:
  + INCLUDE_DSL_FILTER_DETECTION
    (--enable-dsl-filter-detection)
- Danube (DSLCPE_SW-507) Extensions for Microfilter detection.
  Extensions added.

V4.8.2 - 2010-10-15
- New IOCTL(s) added:
  + DSL_FIO_RTT_INIT
  + DSL_FIO_RTT_CONFIG_SET
  + DSL_FIO_RTT_CONFIG_GET
  + DSL_FIO_RTT_STATUS_GET
  + DSL_FIO_RTT_CONTROL_SET
  + DSL_FIO_RTT_STATISTICS_GET
- New configuration option added to enable/disable RTT support:
  + --enable-real-time-trace (INCLUDE_REAL_TIME_TRACE)
- Parameters nRxCorruptedTotal, nRxUncorrectedProtected, nRxRetransmitted,
  nRxCorrected removed. Following IOCTL(s) affected:
  + DSL_FIO_PM_RETX_COUNTERS_15MIN_GET
  + DSL_FIO_PM_RETX_COUNTERS_1DAY_GET
  + DSL_FIO_PM_RETX_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_RETX_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_SET
Bug fix(es):
- VRX (DSLCPE_SW-510) Autoboot issue with ReTX fw.
  Data Rate handling fixed.

V4.8.1 - 2010-10-01
- New IOCTL(s) added:
  + DSL_FIO_RETX_STATISTICS_GET
- Added parameter nEftrMin to DSL_PM_ReTxData_t structure
  following IOCTL(s) affected:
  + DSL_FIO_PM_RETX_COUNTERS_15MIN_GET
  + DSL_FIO_PM_RETX_COUNTERS_1DAY_GET
  + DSL_FIO_PM_RETX_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_RETX_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_SET
- Added parameter ActualNetDataRate to DSL_G997_ChannelStatusData_t structure.
- Added new error code DSL_ERR_RETRANSMISSION_DISABLED.

V4.8.0 - 2010-09-17
- New IOCTL(s) added:
  + DSL_FIO_LOOP_LENGTH_STATUS_GET
- Danube (DSLCPE_SW-499) Added b20BitSupport within the following IOCTLs:
  + DSL_FIO_LINE_FEATURE_CONFIG_SET/GET
  + DSL_FIO_LINE_FEATURE_STATUS_GET
Bug fix(es):
- Danube (DSLCPE_SW-498) API for FW R5 Release - Looplength estimation.
  Looplength estimation feature added.
- Danube (DSLCPE_SW-497) API for FW R5 Release - Hybrid (LIF) Module Selection.
  Hybrid selection support added.
- Danube (DSLCPE_SW-495) API for FW R5 Release - Erasure decoding
  Dependency between DSL_ERASURE_DECODING_TYPE_DS and DSL_TRUST_ME_BIT added.
- Danube (DSLCPE_SW-496) API for FW R5 Release - US inband spectral shaping
  DSL_INBAND_SPECTRAL_SHAPING_US mapping corrected.

V4.7.3 - 2010-09-03
common:
- Added multiple VR9 messages to the white list
  + CMD_CRC_STATSNE_NOTR1GET
  + CMD_FEC_STATSNE_NOTR1GET
  + CMD_CRC_STATSNE_NOTR1SET
  + CMD_FEC_STATSNE_NOTR1SET
Bug fix(es):
- VRX (DSLCPE_SW-492) Event "DSL_EVENT_S_MULTIMODE_FSM_STATUS" is generated
  also in single xDSL mode.
  Single xDSL modes handling fixed.
- VRX (DSLCPE_SW-489) no NE CRC & FEC in ADSL broken with FW 5.3.2.4.1.2
  CRC and FEC ADSL handling extended.

V4.7.2 - 2010-08-05
common:
- VRX (DSLCPE_SW-480) Cleanup of LowLevelConfigSet/Get according to VirtualNoise
  switch
- VRX (DSLCPE_SW-479) Default handshake tone sets
  Extended interface and internal implementation as defined within jira issue.
- VRX (DSLCPE_SW-475) Remove unused parameters from LowLevelConfigurationGet/Set
  IOCTLs LowLevelConfigurationGet/Set parameters list reduced.
- VXX (DSLCPE_SW-476) Handle new 'sub error code' of firmware for hybrid detection
  error
  New error code definition and handling added for suberror
  LINIT_SUB_FW_HYBRID(=5)
Bug fix(es):
- Danube (DSLCPE_SW-482) Include read-modify-write sequence for DSL 2
  Changed to read-modify-write for DSL0/1/2 access
- Danube/VRX (DSLCPE_SW-484) DSL Drivers are getting loaded in Ethernet WAN Models
  Extended driver installation scripts (inst_drv_dsl_cpe_api<_xxx>.sh) as suggested
- VRX (DSLCPE_SW-477) Wrong TC-Layer returned in
  "sisg"/"DSL_FIO_SYSTEM_INTERFACE_STATUS_GET"
  Set TC-Layer staus and config within context of FW download as follows
  ADSL FW -> ATM, VDSL FW -> EFM

V4.7.1 - 2010-07-16
Bug fix(es):
- Common (DSLCPE_SW-473) Use 120s timeout for line activation for all platforms
  Timeout values corrected.
- VRx (DSLCPE_SW-474) Do not use configuration values for
  "sics"/"DSL_FIO_SYSTEM_INTERFACE_CONFIG_SET".
  Special error code DSL_WRN_CONFIG_PARAM_IGNORED (4) added for the
  DSL_FIO_SYSTEM_INTERFACE_CONFIG_SET ioctl call.

V4.7.0 - 2010-07-09
Bug fix(es):
- Danube (DSLCPE_SW-471) Optimization of the current US OHC Polling frequency.
  PM FE counters request handling fixed, all OHC counters are handled in a
  single HDLC request.
- Vinax/VRx (DSLCPE_SW-472) Provide line status parameters within context of
  "g997lspbg" in ADSL mode.
  Implementation extended.
- Common (DSLCPE_SW-405) please reformat debug output of Vinax FW messages.
  For Danube: Message dump for DSL_DBG_WRN level fixed.
  For Vinax/VRX: Message write check added. Message dump for DSL_DBG_WRN level
  fixed. Message opcode definitions added to drv_dsl_cpe_device_vxx.h

V4.6.3 - 2010-07-02
Bug fix(es):
- VRx (N/A) Multimode FSM switch fails from MULTIMODE ADSL to VDSL.
  Internal FSM handling fixed.
- VRx (N/A) DSL_FIO_MULTIMODE_FSM_STATUS_GET returns wrong values.
  DSL_FIO_MULTIMODE_FSM_STATUS_GET ioctl handling fixed.

V4.6.2 - 2010-07-01
common:
- VRx specific messages removed:
  + CMD_REINITFE_CONFIGURE
  + CMD_GAINCALIBRATIONSET
  + CMD_HW_CONFIGSET
  + CMD_LED_CONTROL
- Added multiple VR9 messages to the white list
  + CMD_PTM_BC0_STATSNE_GET
  + CMD_PTM_BC0_STATSNE_SET
  + CMD_ATM_BC0_STATSNE_GET
  + CMD_ATM_BC0_STATSNE_SET
  + CMD_LINEPERFCOUNTNE_NOTR1GET
  + CMD_LINEPERFCOUNTFE_NOTR1GET
  + CMD_LINEPERFCOUNTNE_NOTR1SET
  + CMD_DATAPATHFAILURESGET
  + CMD_MODEMFSM_OPTIONSSET
  + CMD_HLINDS_GET
  + CMD_HLINUS_GET
  + CMD_HLOGDS_GET
  + CMD_NOISEMARGINDELTASET
  + CMD_OH_OPTIONSSET
  + CMD_LINEFAILUREFE_GET
  + CMD_LINESTATUSPERBANDUS_GET
  + CMD_LINESTATUSPERBANDDS_GET
  + CMD_SYSVENDORSERIALNUM_R_SET
  + CMD_OLR_CONTROL
  + CMD_TESTPARAMSAUXDS_GET
  + CMD_TESTPARAMSAUXUS_GET
  + CMD_PILOTTONESGET
  + CMD_INTEROPCONFIGGET
Bug fix(es):
- Danube (DSLCPE_SW-373) Reporting of showtime pilot tones.
  PilotTonesStatusGet return warning code changed to error code -10
  (not supported by firmware).
- VRx (DSLCPE_SW-463) Disable/do not configure T1.413 mode on VR9 systems.
  Mask added for T1.413 and ETSI Annex C modes.

V4.6.1 - 2010-06-25
common:
- New IOCTL(s) added:
  + DSL_FIO_MULTIMODE_FSM_CONFIG_SET
  + DSL_FIO_MULTIMODE_FSM_CONFIG_GET
  + DSL_FIO_MULTIMODE_FSM_STATUS_SET
- New event for reboot added
  + DSL_EVENT_S_MULTIMODE_FSM_STATUS
- New data type(s) definitions added:
  + DSL_FirmwareType_t
  + DSL_MultimodeConfigData_t
  + DSL_MultimodeFsmConfig_t
  + DSL_MultimodeFsmStatusData_t
  + DSL_MultimodeFsmStatus_t
Bug fix(es):
- VRx (DSLCPE_SW-453) Extensions for API internal multimode handling
  (ADSL/VDSL).
  CPE Automode FSM implemented according to the proposed concept.
  For more details please refer to the appropriate JIRA entry.

V4.6.0 - 2010-06-04
common:
- Added VR9 message CMD_XTSE_CONFIGURE to the white list

V4.5.0 - 2010-05-14
common:
- Added multiple VR9 messages to the white list
  + CMD_ADSL_FRAMEDATAUS_LP0GET
  + CMD_ADSL_FRAMEDATADS_LP0GET
  + CMD_ADSL_FRAMEDATAUS_LP1GET
  + CMD_ADSL_FRAMEDATADS_LP1GET
- Removed multiple VR9 messages from the white list
  + CMD_GAINCALIBRATIONSET
  + CMD_DIGITALFILTERSET
  + CMD_ALGORITHMCONTROLSET

V4.4.1 - 2010-04-09
Bug fix(es):
- Common (SMS01446192) Enhancement of debug implementation for Linux console
  prints.
  Debug prints implementation extended. For more details please refer to the
  appropriate UTP entry.

V4.4.0 - 2010-04-02
common:
- new file(s) added:
  + \src\include\drv_dsl_cpe_device_vxx.h
- Vinax and VRx common implementation extracted to drv_dsl_cpe_device_vxx.c

V4.3.5 - 2010-03-29
common:
- new file(s) added:
  + \src\device\drv_dsl_cpe_device_vxx.c
- Vinax and VRx common implementation extracted to drv_dsl_cpe_device_vxx.c
- Vinax and VRx VDSL1 support removed
- VRx SAR module related code removed
Bug fix(es):
- Vinax/VRx (SMS01434916) Extend automode handling with firmware System Sub
  Error Code "S_XDSL_MODE".
  Automode handling extended according to the updated concept. For more details
  please refer to the appropriate UTP entry.

V4.3.4 - 2010-03-19
-

V4.3.3 - 2010-02-05
common:
- VRx device specific implementation
  + optimizations
  + XTSE status update added in the SHOWTIME state a workaround.
  + ACK_ModemFSM_StateGet parameter#3 ignored since it signals L3 state even
    in the SHOWTIME.
- Added multiple VR9 messages to the white list
  + CMD_ADSL_BAT_US_GET
  + CMD_ADSL_BAT_DS_GET
  + CMD_GAINTABLEENTRIESGET
  + CMD_ADSL_GAINTABLEUS_GET
  + CMD_ADSL_GAINTABLEDS_GET
  + CMD_SNR_DS_GET
  + CMD_SNR_US_GET
  + CMD_HLOGUS_GET
  + CMD_QLN_US_GET
  + CMD_HS_TONEGROUPSET
  + CMD_REINITFE_CONFIGURE
  + CMD_HS_VDSL2PROFILECONTROL
  + CMD_DIGITALFILTERSET
  + CMD_HS_STANDARDINFOFE_SPAR1GET
  + CMD_OLR_DS_STATSGET
  + CMD_OLR_US_STATSGET

V4.3.2 - 2010-02-26
common:
- KW cleanups.

V4.3.1 - 2010-02-19
common:
- Vinax MCAT header files updated according to the MCAT ver.4.9.1.
Bug fix(es):
- Danube (SMS01391618) Extend existing interface to report pilot tones.
  Danube family implementation extended to support Pilot Tones reporting.
- Danube (SMS01391626) Extension of testmodes with sleep state.
  Implementation extended, DSL_TESTMODE_SLEEP (=6) handling added.
- Common (SMS01391620) Add new configuration interface for changing API reboot
  criteria's.
  API extended. For more details please refer to the appropriate UTP entry.

V4.3.0 - 2010-02-05
common:
- New error code(s) added:
  + DSL_WRN_NOT_RECOMMENDED_CONFIG = 20
Bug fix(es):
- Danube (SMS01300427) Showtime Lock doesn't work.
  Showtime lock handling fixed.
- Common (SMS01371264) negative DSL_OPT_NOISE_MARGIN_DELTA_DS should trigger a
  warning (it does not).
  Special warning "DSL_WRN_NOT_RECOMMENDED_CONFIG" return added in case of
  negative values configured.
- Common (SMS01354000) XTSE sanity checks not applied if -i option of
  dsl_cpe_control is used.
  XTSE sanity checks handling fixed during CPE API driver initialization.
- Danube (SMS01371266) API triggers a FW download (although it should not).
  Default nSnrMarginRebootMode changed from "DSL_SNRM_REBOOT_AUTOMODE_API" to
  "DSL_SNRM_REBOOT_AUTOMODE_FW". Handling fixed. Documentation corrected.
- Danube/VRx (SMS01379873) Support of Annex J (handling binaries with different
  numbering scheme).
  API handling extended to accept application type (Annex B/J = 0x0).

V4.2.0 - 2010-01-13
-

V4.0.9 - 2009-12-29
common:
- LED module implementation moved to a deprecated functionality.
- VRx implementation added:
  + FW version decode corrected according to the latest concept.
  + Last Exception Codes support added
- Added multiple VR9 messages to the white list
  + CMD_VENDORID_O_GET
  + CMD_SYSVENDORID_O_GET
  + CMD_SYSVENDORVERSIONNUMO_GET
  + CMD_SYSVENDORSERIALNUM_O_GET
  + CMD_AUXINVENTORYINFO_O_GET
  + CMD_TR1CONTROLSET
  + CMD_CRC_STATSNE_GET
  + CMD_CRC_STATSFE_GET
  + CMD_FEC_STATSNE_GET
  + CMD_FEC_STATSFE_GET
  + CMD_CRC_STATSNE_SET
  + CMD_CRC_STATSFE_SET
  + CMD_FEC_STATSNE_SET
  + CMD_FEC_STATSFE_SET
  + CMD_LINEPERFCOUNTNE_GET
  + CMD_LINEPERFCOUNTFE_GET
  + CMD_LINEPERFCOUNTNE_SET,
  + CMD_LINEPERFCOUNTFE_SET,
  + CMD_SYSVENDORID_R_SET
  + CMD_SYSVENDORVERSIONNUM_R_SET
  + CMD_AUXINVENTORYINFO_R_SET
  + CMD_ALGORITHMCONTROLSET
  + CMD_MODEMFSM_FAILREASONGET
Bug fix(es):
- Vinax (SMS01284262) Last Exception Error Get reports all time 0 in API
  Version 3.27.5.
  Last Exception Errors handling fixed.
- Common (N/A) missing symbol "debug_level" during CPE API driver startup.
  "debug_level" variable handling fixed.

V4.0.8 - 2009-12-03
common:
- VRx implementation added:
  + FW version decode corrected according to the latest MCAT.
- Corrected showtime entry handling to inform ATM/PTM driver. Removed call from
  showtime polling cycle (is called only once).
- Added multiple VR9 messages to the white list
  + CMD_FRAMEDATAEXT2DS_GET
  + CMD_FRAMEDATAEXT2US_GET
  + CMD_BEARERCHSDS_GET
  + CMD_BEARERCHSUS_GET
  + CMD_VERSIONINFOGET
  + CMD_LINESTATUSDS_GET
  + CMD_LINESTATUSUS_GET
  + CMD_XTSE_STATUSGET
  + CMD_BAT_TABLEENTRIESGET
  + CMD_BANDCONTROL_DS_GET
  + CMD_BANDCONTROL_US_GET
  + CMD_SNR_NE_TABLEENTRIESGET
  + CMD_HS_SELECTEDPROFILEVDSL2GET
  + CMD_REINITNE_CONFIGURE
- Activate ATM/PTM driver intercommunication by default

V4.0.7 - 2009-11-27
common:
- SAR support moved to the Vinax device specific part.
Bug fix(es):
- Common (SMS01273903) Extension of DSL_FIO_DBG_LAST_EXCEPTION_CODES_GET
  (CLI: lecg).
  Vinax implementation extended for the DSL_FIO_DBG_LAST_EXCEPTION_CODES_GET
  ioctl. Danube implementation updated: nError2 code handling added on the API
  level, firmware CMV STAT 23 0 handling removed.

V4.0.6 - 2009-11-23
common:
- New IOCTL(s) added:
  + DSL_FIO_G997_RATE_ADAPTATION_STATUS_GET
Bug fix(es):
- Vinax (SMS01264429) Reporting of ACT-RA-MODEus/ds.
  Implementation added according to the specified concept. For more details
  please refer to the appropriate UTP entry.
- Danube (SMS01264426) Control of DS target margin adjustment.
  Danube implementation extended according to the specified concept. For more
  details please refer to the appropriate UTP entry.
- Vinax (SMS01264434) [VINAX] "Sticky" bit for NE-LPR defect indication.
  Implementation extended according to the specified concept. For more details
  please refer to the appropriate UTP entry.

V4.0.5 - 2009-11-20
common:
- Vinax MCAT header files updated according to the MCAT ver.4.9.
- New IOCTL(s) added:
  + DSL_FIO_PILOT_TONES_STATUS_GET
- New configure option(s) added:
  + "--enable-pilot-tones-status"/"INCLUDE_PILOT_TONES_STATUS"
Bug fix(es):
- Common (SMS01263395) Reporting of showtime pilot tones.
  Implementation added according to the specified concept. For more details
  please refer to the appropriate UTP entry.

V4.0.4 - 2009-11-13
Bug fix(es):
- Danube (SMS01218167) bitswap status reporting seems to be broken.
  "bBitswapEnable" US status parameter handling added (CMV OPTN 2 0, bit#15).
  Line Features periodical status update during the showtime state added.
  General concept for the BitSwap status information will be defined/clarified
  later.
- Danube (SMS01222754) g997dsnrg: nMeasurementTime = 0.
  INFO 79/80 2 CMV handling added to get SNRMT parameter. INFO 80 2 CMV is
  currently supported only in the Loop Diagnostic state to get the SNRMT US
  parameter. A separate UTP will address this issue to the FW team.

V4.0.3 - 2009-11-12
common:
- Changed copyright header to Lantiq version

V4.0.2 - 2009-11-03
common:
- VRx device specific minor adaptations: white list handling added for the MCAT
  messages.
- VRx MCAT header files updated according to the MCAT ver.1.0.2.

V4.0.1 - 2009-10-23
common:
- VRx device specific implementation added:
  + ATM/PTM Showtime Entry/Exit signalling added. Draft implementation placed
    under "INCLUDE_DSL_ATM_PTM_INTERFACE_SUPPORT" internal configuration option
Bug fix(es):
- Vinax/VRx (SMS01263029) Endianess issue within DSL_DRV_XXX_AdslChStatusGet().
  nAdsl1Mode variable type changed to DSL_uint8_t.

V4.0.0 - 2009-10-09
common:
- FW message layer added for Vinax and VRX devices (...SendMsg...)
- New configuration option "--enable-vrx" added.
- New file(s) added:
  + drv_dsl_cpe_msg_vrx.c
  + drv_dsl_cpe_msg_vinax.c
  + drv_dsl_cpe_vrx_ceoc.c
  + drv_dsl_cpe_device_vrx.c
  + drv_dsl_cpe_api_g997_vrx.c
  + drv_dsl_cpe_msg_vrx.h
  + drv_dsl_cpe_msg_vinax.h
  + drv_dsl_cpe_device_vrx.h
  + drv_dsl_cpe_vrx_ctx.h
  + drv_dsl_cpe_vrx_msg_config_pmd.h
  + drv_dsl_cpe_vrx_msg_const.h
  + drv_dsl_cpe_vrx_msg_debug.h
  + drv_dsl_cpe_vrx_msg_dmt_scope.h
  + drv_dsl_cpe_vrx_msg_ghs_status.h
  + drv_dsl_cpe_vrx_msg_olr.h
  + drv_dsl_cpe_vrx_msg_perf_pmd.h
  + drv_dsl_cpe_vrx_msg_tc_counters.h
- Device specific implementation added:
  + VRx device support layer added (draft version)

V3.27.1 - 2009-09-18
-

V3.27.0 - 2009-09-11
Bug fix(es):
- Danube (SMS00973145) [Danube Family] Provide workaround for LED callback
  usage.
  ATM LED handling corrected not to overload CPU during intensive ATM LED
  callbacks
common:
- New error code(s) added:
  + DSL_ERR_L3_REJECTED_NOT_DESIRED
- Danube device specific implementation added
  + L3 Request handling extended for the new "DSL_ERR_L3_REJECTED_NOT_DESIRED"
    error code support.

V3.26.1 - 2009-08-14
Bug fix(es):
- Vinax (SMS00957386 ) [Vinax] Change re-init trigger configuration.
  Re-init trigger configuration changed to the original one.
- Danube (SMS00957922) US SNRM, US SATN, US LATN paramertes return
  "strange values" when connected against the Vinax CO in PTM/ATM modes.
  HDLC handling fixed as proposed. For more details please refer to the
  corresponding UTP entry.

V3.26.0 - 2009-08-07
common:
- Klocwork issues crosschecked/fixed for both Vinax and Danube builds.
Bug fix(es):
- Vinax (SMS00948042) multimode switching VDSL ADSL
  Multimode switching concept slightly changed. Implementation corrected
  accordingly.

V3.25.1 - 2009-07-31
common:
- "--enable-dsl-bonding" configure option handling extended to disable BND
  feature in case of a single device configuration.
Bug fix(es):
- Corrected handling for using nTxDataRateRatio parameter from ioctl
  DSL_FIO_BND_SETUP. The value now includes the ration between datarates of
  PHY0/PHY1.
- Corrected handling to process error codes within context of CPE triggered
  L3 request.

V3.25.0 - 2009-07-10
Bug fix(es):
- Common (SMS00939712) New handling for G994VendorID of line inventory for
  near end.
  G994VendorID NE handling extended.

V3.24.4 - 2009-07-07
- Removed obsolete IOCTL(s):
  + DSL_FIO_BND_ETH_DBG_COUNTERS_RESET
  + DSL_FIO_BND_ETH_COUNTERS_RESET

V3.24.3 - 2009-07-03
common:
- New file(s) added:
  + drv_dsl_cpe_api_bnd_vinax_fpga.h
  + drv_dsl_cpe_api_bnd.h
  + drv_dsl_cpe_api_bnd_vinax.h
  + drv_dsl_cpe_api_bnd.c
  + drv_dsl_cpe_api_bnd_vinax.c
  + drv_dsl_cpe_api_bnd_vinax_fpga.c
- New IOCTL(s) added:
  + DSL_FIO_BND_HW_INIT
  + DSL_FIO_BND_SETUP
  + DSL_FIO_BND_CONFIG_SET
  + DSL_FIO_BND_CONFIG_GET
  + DSL_FIO_BND_HS_STATUS_GET
  + DSL_FIO_BND_HS_CONTINUE
  + DSL_FIO_BND_TEAR_DOWN
  + DSL_FIO_BND_ETH_DBG_COUNTERS_GET
  + DSL_FIO_BND_ETH_DBG_COUNTERS_RESET
  + DSL_FIO_BND_ETH_COUNTERS_GET
  + DSL_FIO_BND_ETH_COUNTERS_RESET
- New configure option(s) added:
  + "--enable-dsl-bonding"/"INCLUDE_DSL_BONDING"
- Bonding implementation integrated from ver.3.20.5.104

V3.24.2 - 2009-06-26
common:
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.8.3
Bug fix(es):
- Common (SMS00927364) VxWorks drv_dsl_cpe_os_vxworks.c
  Type for the "nRetCode" changed to "DSL_Error_t"
- Common (SMS00930434) Trellis related issues with AmzSE & Vinax.
  Implementation updated according to the specified requirements. For more
  details please refer to the appropriate UTP entry.
- Vinax (SMS00923465) please reformat debug output of Vinax FW messages.
  Debug output of the Vinax FW messages reformated as suggested.
- Danube (N/A) Line Inventory SelfTestResult parameter mapping to the FW values
  incorrect.
  Mapping to CMVs fixed.
- Vinax (SMS00932278) [Vinax] Add support for ACTATP and ACTPSD parameter.
  ACTATP and ACTPSD parameters support added.

V3.24.1 - 2009-06-19
common:
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.8.2
Bug fix(es):
- Danube (SMS00925063) [Danube] Correct inventory processing for FE (HDLC)
  handling.
  Byte swapping fixed.

V3.24.0 - 2009-06-05
Bug fix(es):
- Vinax (SMS00922904) [Vinax] Extend Vinax CPE API handling by event handling
  for system status indication.
  System Interface status signaling added.

V3.23.2 - 2009-06-03
common:
- Minor source code optimization

V3.23.1 - 2009-05-29
common:
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.8.1
Bug fix(es):
- Common (SMS00916876) Extend API Interface to provide Upstream Mask selection
  for AnnexM/J.
  API extended. For more details please refer to the corresponding UTP entry.

V3.23.0 - 2009-05-18
-

V3.22.1 - 2009-04-29
common:
- New IOCTL(s) added:
  + DSL_FIO_PM_SYNC_MODE_GET
Bug fix(es):
- Common (SMS00892937) a way to reset elapsed time
  Total and Showtime elapsed time reset added.
- Common (SMS00902740) Include an ioctl to read the PM sync mode configuration.
  DSL_FIO_PM_SYNC_MODE_GET ioctl support added.
- Danube (SMS00838875) 'g997dsnrg x 1' return values do not make sense in
  showtime.
  Issue fixed according to Analysis description log.
- Common (SMS00834640) Total counters do not indicate bValid.
  bValid (always TRUE) flag added to the PM total counters IOCTLs.
- Vinax (SMS00904182) [AR9+Vinax-D/A] Vinax & API feedback.
  Found issues fixed according to detailed logs provided with the UTP entry.
- Common (SMS00834633) Performance counters of current interval report bValid=0
  bValid flag handling fixed.
- Common (SMS00904619) Extend counter reset functionality.
  PM counters reset functionality extended.

V3.22.0 - 2009-04-24
Bug fix(es):
- Common (SMS00902646) Impossible jumps of UAS (unavailable seconds) counter.
  nUAS counter handling fixed.
- Vinax (SMS00901874) BAT, SNR and Gain per sub carrier mismatch.
  BAT issue fixed, SNR and Gain issues are still open.
- Vinax (SMS00901534) Vinax ADSL1 fast mode problems: nBP and nLPATH do not
  match CO.
  nLPATH issue fixed. nBP issue is FW related. For more details please refer to
  the corresponding UTP entry log.

V3.21.3 - 2009-04-03
Bug fix(es):
- Danube (SMS00892900) Extension of DSL_FIO_BAND_BORDER_STATUS_GET
  functionality.
  Functionality extended. CMV STAT 24 handling added.

V3.21.2 - 2009-03-27
Bug fix(es):
- Common (SMS00888839) counter overflow issues.
  LineSec counters save/restore handling fixed.

V3.21.1 - 2009-03-20
common:
- Danube device specific configuration option(s) added:
  + INCLUDE_DEVICE_EXCEPTION_CODES
- Minor source code size optimization.
Bug fix(es):
- Common (SMS00885822) Do not use LOS-NE as reboot criteria with API.
  LOS-NE API reboot criteria removed. For more details please refer to
  appropriate UTP entry.

V3.21.0 - 2009-03-13
-

V3.20.5 - 2009-03-04
common:
- Vinax device specific implementation added:
  + "0x1C45" FW message in case of VDSL FW send only for FW versions
    9.11.0.5.x.y.
- PM module Vinax device specific implementation added:
  + SOS counter save/restore mechanism added.
- PM module common implementation added:
  + Stop FW polling in case of "DSL_AUTOBOOTSTATE_RESTART_WAIT" autoboot state.
Bug fix(es):
- Common (SMS00877705) Problem with multiple access of the DSL CPE API driver.
  Lock for the Open Context List added.
- Danube (SMS00877713) Handling of firmware configuration INFO 103 1 is wrong.
  INFO 103 1 read/modify added.

V3.20.4 - 2009-02-24
-

V3.20.3 - 2009-02-24
common:
- new configuration option(s) added:
 + INCLUDE_DEPRECATED
 + INCLUDE_DSL_CPE_PM_LINE_FAILURE_COUNTERS
- IOCTLs magic numbers extended with:
 + DSL_IOC_MAGIC_CPE_API
 + DSL_IOC_MAGIC_CPE_API_G997
 + DSL_IOC_MAGIC_CPE_API_PM
 + DSL_IOC_MAGIC_CPE_API_SAR
 + DSL_IOC_MAGIC_CPE_API_DEP
- Old (deprectated) IOCTLs definitions added:
 + DSL_FIO_PM_LINE_FAILURE_COUNTERS_15MIN_GET
 + DSL_FIO_PM_LINE_FAILURE_COUNTERS_1DAY_GET
 + DSL_FIO_PM_LINE_FAILURE_COUNTERS_SHOWTIME_GET
 + DSL_FIO_PM_LINE_FAILURE_COUNTERS_TOTAL_GET
 + DSL_FIO_PM_LINE_FAILURE_HISTORY_STATS_15MIN_GET
 + DSL_FIO_PM_LINE_FAILURE_HISTORY_STATS_1DAY_GET
- PM module common implementation added for old (deprecated) functions:
 + DSL_DRV_PM_LineFailureHistoryStats15MinGet()
 + DSL_DRV_PM_LineFailureHistoryStats1DayGet()
 + DSL_DRV_PM_LineFailureCounters15MinGet()
 + DSL_DRV_PM_LineFailureCounters1DayGet()
 + DSL_DRV_PM_LineFailureCountersTotalGet()
 + DSL_DRV_PM_LineFailureCountersShowtimeGet()

V3.20.2 - 2009-02-20
common:
- New IOCTL(s) added:
  + DSL_FIO_DBG_DEBUG_FEATURE_CONFIG_SET
  + DSL_FIO_DBG_DEBUG_FEATURE_CONFIG_GET
- New data type(s) definition(s) added:
  + DSL_DBG_DebugFeatureConfig_t
  + DSL_DBG_DebugFeatureConfigData_t
  + DSL_DebugFeatureSelector_t
  + DSL_DataLedBehavior_t
- Danube device specific implementation added
  + Data LED implementation corrected according to TR68.
  + Data LED simulator implementation added

V3.20.1 - 2009-02-16
interface:
- DSL_FIO_PM_LINE_FAILURE_COUNTERS_xxx renamed to
  DSL_FIO_PM_LINE_EVENT_SHOWTIME_COUNTERS_xxx
- DSL_FIO_PM_LINE_FAILURE_HISTORY_STATS_xxx renamed to
  DSL_FIO_PM_LINE_EVENT_SHOWTIME_HISTORY_STATS_xxx
- DSL_PM_LineFailureCounters_t renamed to DSL_PM_LineEventShowtimeCounters_t
- DSL_PM_LineFailureCountersTotal_t renamed to
  DSL_PM_LineEventShowtimeCountersTotal_t
- DSL_PM_LineFailureData_t renamed to DSL_PM_LineEventShowtimeData_t
- DSL_PM_LineEventShowtimeData_t extended with "nSosSuccess"
common:
- "--enable-pm-line-failure-counters" renamed to
  "--enable-pm-line-event-showtime-counters"
- PM module general implementation added:
  + Handling for the "nSosSuccess" counter added
- DSL_G997_RA_MODE_t extended with "DSL_G997_RA_MODE_DYNAMIC_SOS = 4"
- Vinax device specific implementation added:
  + handling for the "DSL_G997_RA_MODE_DYNAMIC_SOS" mode added in the context
    of the "0x0F45" FW message
  + ADSL/VDSL mode specific handling for the "CMD_NoiseMarginDeltaSet" message
    added.
- Vinax device specific PM module implementation added:
  + "nSosSuccess" counter handling added (FW messages 0x290A/0x2A0A)
- Klocwork issues fixes
Bug fix(es):
- Vinax (SMS00869039) SOS/SRA feature extension.
  Implementation extended.

V3.20.0 - 2009-02-13
common:
+ Danube device specific handling added for the DSL_ME_HDLC_MSG_QUEUED HDLC
  status.
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.7.1
Bug fix(es):
- Vinax (SMS00867362) Correct format of "Target Noise Margin Delta DS" written
  to firmware.
  Vinax message "CMD_NOISEMARGINDELTASET" format for the deltaTARSNRMds
  parameter corrected according to the MCAT4.7.1.
- Danube (SMS00867361) Extension for R4 AnnexB release of firmware.
  A1, A2, A3, A4 subtasks ready.

V3.19.2 - 2009-01-30
common:
- New IOCTL(s) added:
  + DSL_FIO_DBG_LAST_EXCEPTION_CODES_GET
- New data type definition added:
  + DSL_DBG_LastExceptionCodes_t
Bug fix(es):
- Danube (SMS00724277) record reason for FW reboot.
  Implementation Extended according to the specified concept.

V3.19.1 - 2009-01-23
common:
- Danube device specific implementation added:
  + DSL_DRV_DANUBE_FailReasonGet() extended with the complete failure codes
    mapping
- New error code(s) added:
  + DSL_WRN_EVENT_FIFO_OVERFLOW
- New data type definition added:
  + DSL_EventStatusExt_t
- "DSL_EventStatusData_t" structure extended with the "nEventStatusExt" element
  of type "DSL_EventStatusExt_t"
Bug fix(es):
- Common (SMS00855518) Extend DSL CPE API interface to get extended information
  for event handling.
  Implementation extended.
- Vinax (SMS00857408) pmdpctg: nHEC/nUserTotalCells/nCRC_P/nCRCP_P/nCVP_P seem
  to be incorrect (overflow?).
  "dataPathData" structure initialization with zeros added within
  "DSL_DRV_PM_CountersUpdate()" implementation.

V3.19.0 - 2009-01-16
common:
- IOCTLs description extended with the corresponding CLI command name.
- New option for installer added: "CHM_FILE_INCLUDED" to include/exclude
  ".chm" documentation file.
Bug fix(es):
- Vinax (N/A) ReTx counters update fails.
  DSL_DRV_PM_DEV_ReTxCountersGet() implementation fixed.
- Common (N/A) Wrong last tone index in the DSL_DRV_AdslBandLimitsGet()
  implementation for ADSL2 Annex A US.
  Last tone index corrected to 31 from 32.
- Danube (SMS00853242) drv_dsl_cpe_os_rtems.c: typo (missing "E")

V3.18.3 - 2008-12-26
common:
- PM module implementation extended for the Data Path counters:
  + nTxUserTotalCells counter support added for the Vinax device
  + nTxIBE counter support added for the Vinax device
- New configuration options added:
  + "--enable-dsl-pm-retx-counters"/"INCLUDE_DSL_CPE_PM_RETX_COUNTERS"
  + "--enable-dsl-pm-retx-thresholds"/"INCLUDE_DSL_CPE_PM_RETX_THRESHOLDS"
- New IOCTL(s) added:
  + DSL_FIO_PM_RETX_COUNTERS_15MIN_GET
  + DSL_FIO_PM_RETX_COUNTERS_1DAY_GET
  + DSL_FIO_PM_RETX_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_RETX_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_RETX_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_RETX_THRESHOLDS_1DAY_SET
- PM module common implementation added for the ReTx counters endpoint.
- PM module Danube Family specific implementation added for the ReTx counters.
- New event(s) definition added:
  + DSL_EVENT_I_RETX_THRESHOLD_CROSSING
- New data type(s) definition added:
  + DSL_PM_ReTxCounters_t
  + DSL_PM_ReTxData_t
  + DSL_PM_ReTxCountersTotal_t
  + DSL_PM_ReTxThreshold_t
  + DSL_PM_BF_ReTxThresholdCrossing_t
  + DSL_PM_ReTxThresholdCrossing_t
Bug fix(es):
- Danube (SMS00849311) Interface extension and implementation of ReTx counters.
  Interface extended and implementation added.

V3.18.2 - 2008-12-19
Bug fix(es):
- Vinax (SMS00849003) Endless loop in case of changing XTSE configuration during
  multimode operation.
  Multimode handling fixed.

V3.18.1 - 2008-12-16
common:
- KW issues fixed.
- "DRV_DSL_CPE_FORCE_MACROS" issue fixed.
- ADSL2 Annex L Mask1 and Mask2 support added within DSL_DRV_AdslBandLimitsGet.
- PM module Vinax ADSL specific implementation added:
  + FE channel counters (CMD_CRC_STATSFE_GET, CMD_FEC_STATSFE_GET)
  + FE line sec counters (CMD_LINEPERFCOUNTFE_NOTR1GET)
- g997racs/g997racg handling fixed.
- new IOCTL(s) added:
  + DSL_FIO_LINE_OPTIONS_CONFIG_SET
  + DSL_FIO_LINE_OPTIONS_CONFIG_GET
- new data type(s) definition added:
  + DSL_LineOptionsConfig_t
  + DSL_LineOptionsConfigData_t
  + DSL_LineOptionsSelector_t
- Vinax device specific implementation added:
  + DSL_DRV_VNX_NoiseMarginDeltaSet()
Bug fix(es):
- Vinax (SMS00844723) [Vinax ADSL CPE] FS6 related changes for FE/US parameter.
  Implementation extended.
- Vinax (SMS00844727) [Vinax ADSL] Usage of extended FW overhead handling
  configuration.
  Implementation extended for the Vinax ADSL mode.
- Vinax (SMS00844731) [Vinax ADSL] Counter reset behavior.
  Implementation extended.
- Danube (SMS00845633) Console hangs due to LED endless loop.
  Included additional initialization (pContext->bLedStatusOn) on each callback.


V3.18.0 - 2008-12-05
common:
- Danube device specific handling added for the DSL_LINESTATE_TEST line state.
- API header files update according to the changes in the 3.16.5 mainline
  version.
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.6
  + "CMD_SRA_Control" (0x0F45) message support added in case of VDSL2 mode
  firmware with FS >= 11.
  + DSL_DRV_DEV_BandBorderStatusGet()
  + US SRA control added in case of VDSL2 mode firmware with FS >= 11.
- New error code(s) added:
  + DSL_WRN_FW_BB_STANDARD_VIOLATION
Bug fix(es):
- Danube (SMS00838650) bbsg return values incorrect for g.lite.
  Implementation fixed for the G.Lite mode.

V3.17.1 - 2008-11-28
common:
- Source code optimizations.
Bug fix(es):
- Vinax (SMS00766687) showtime lock and quiet mode not supported by API.
  Issue reworked. Test modes access opened for the ADSL Annex A firmware.
- Danube (SMS00840698) Event signaling of SystemInterfaceStatus is done to late
  System Interface Status update moved to the FULL_INIT state handling.

V3.17.0 - 2008-11-21
common:
- Source code optimizations.
Bug fix(es):
- Danube (SMS00835643) major g997csg issues in T1.413 (fast/intlv combination).
  Handling for the latency path specific parameters fixed.
- Danube (N/A) Backup training ATTNDR value not correct.
  Handling for the backup training ATTNDR parameter fixed.
- Danube (SMS00750206) g997xtusesg not working in DELT mode.
  Issue reworked. XTSE status information access opened in the DIAG_ACTIVE
  state.

V3.16.5 - 2008-11-14
- common:
  + DSL_DRV_EventStatusMaskConfigSet() handling for the
  "DSL_EVENT_S_FIRMWARE_REQUEST" event fixed.
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.5
- Danube device specific implementation added:
  + IOP features configuration extended with the "bFeRequestOff" parameter
  to control the request of the FE parameters via OHC.
Bug fix(es):
- Danube (SMS00833706) g997lsg does not work in ADSL1 modes.
  g997lsg handling fixed.
- Vinax (SMS00833954) please remove ifcs and ifcg.
  Mentioned functionality for IOP features excluded from the Vinax build.
- Danube (SMS00804217) DELT mode not possible in AnnexM & Annex I 2+.
  Added 100ms timeout for polling STAT1 and STAT17.
- Vinax (SMS00748728) Implement API internal calculation of
  ActualInterleaveDelay value.
  Rework description: T1.413 handling fixed for the "ActualInterleaveDelay"
  parameter.
- Vinax (SMS00750206) g997xtusesg not working in DELT mode.
  Rework description: XTSE status update added in the FULL_INIT state.
- Danube (N/A) g997lsg backup mechanism issue.
  Implementation fixed.
- Vinax (SMS00834680) Line path counters not properly updated when switching
  ADSL->ADSL.
  Counters backup sequence fixed.

V3.16.4 - 2008-11-07
common:
- Danube device specific implementation added:
  + DSL_DRV_DANUBE_HdlcRead(): max debug level changed to DSL_DBG_WRN
    for the HDLC timeout printout.
- New error code(s) added:
  + DSL_WRN_CONFIG_PARAM_IGNORED
Bug fix(es):
- Danube (SMS00830687) please remove UtopiaAddress commands for Danube Family.
  IOCTLs to set/get UtopiaAddress parameter removed from the Danube family
  build.
- Danube (SMS00832569) Add configuration of retransmission (ReTx).
  "LineFeaure/ConfigSet/ConfigGet/StatusGet" related IOCTLs extended with the
  "bReTxEnable" parameter.
- Danube (SMS00830775) g997csg ActualImpulseNoiseProtection value incorrect.
  "ActualImpulseNoiseProtection" parameter calculation added according to the
  following equation in all ADSL modes: 10*4*Dp*Rp/Lp.
  Firmware values reported via CMVs INFO 92/93 ignored since they report
  incorrect values for the "ActualImpulseNoiseProtection" parameter in some
  modes (ADSL1, ADSL2+ Annex M, etc.)

V3.16.3 - 2008-10-31
common:
- Configuration models (lite/footprint/typical/full/debug) introduced
- Danube device specific implementation added:
  DSL_DRV_DANUBE_FramingParameterStatusGet() implementation extended for
  the ADSL1 "nMp" parameter support.
Bug fix(es):
- Vinax (SMS00812782) DSL CPE Extension for new configuration options.
  "DSL_SAR_SegClassFilter_t" extended with the new filter type
  "DSL_SAR_FILTER_MAC_SRC_ADDR".
  MAC frame configuration added in the context of the
  "DSL_FIO_EFM_MAC_CONFIG_SET" ioctl.
- Danube (n/a) version information match fails on the first control application
  start.
  DSL_FIO_VERSION_INFORMATION_GET handling fixed.
- Vinax (SMS00821009) g997dhling: scaling problem.
  ADSL Hlin DS values spreading will take place only in case of ADSL2+ mode.
- Danube (SMS00821447) API returns an additional byte (=0x00) at the end of an
  SNMP message. Rework description: implementation changed to the original one.
  Extra byte seems to be a FW issue. It was figured out that the reported value
  for the RX offset (INFO 85 4) is 16-bit aligned instead of byte aligned.
- Danube (SMS00830213) Optimization for FE line status parameter handling.
  Implementation extended according to the suggested solution. For more details
  please refer to the appropriate UTP entry.
- Vinax (SMS00830228) Mapping of Trellis configuration.
  Trellis configuration handling fixed.

V3.16.2 - 2008-10-24
common:
- New field(s) in the DSl CPE API Context:
  + bLedInit
- PM module implementation updated for the FE path.
- Danube device specific implementation added:
  + Line Failures extended with the LOM support.
- Danube device specific PM module implementation added:
  + Line Failure Counters extended with the LOM counter support.
- Danube (n/a) LED module error code return during "acs 0"/"acs 1" sequence.
  LED module initialization flag check added.
- Danube (SMS00827720) FE line status - usage of training values.
  G997 Line Status handling extended.

V3.16.1 - 2008-10-17
common:
- New error code(s) definition added:
  + DSL_WRN_VERSION_INCOMPATIBLE
- Danube ADSL2/2+ mode implementation added for the following parameters:
  + DSL_MLS_ATT_TOTAL_DATA_RATE_US:
  + DSL_MLS_ATT_TOTAL_DATA_RATE_DS:
  + DSL_MLS_ATT_LINE_DATA_RATE_US
  + DSL_MLS_ATT_LINE_DATA_RATE_DS
  + DSL_MLS_ATT_AGGREGATE_DATA_RATE_US
  + DSL_MLS_ATT_AGGREGATE_DATA_RATE_DS
- PM module implementation updated (only NE path) according to the spec.
  ver.1.4.
Bug fix(es):
- Danube (SMS00824101) serious DS gain and SNR problem in G992.5 (all Annexes).
  DSL_DRV_DEV_G997_GainAllocationNscGet(),
  DSL_DRV_DEV_G997_SnrAllocationNscGet() implementation fixed.
- Danube (SMS00818525) g997lsg ACTPS values do not match CO (not even similiar)
  ACTPS parameter handling fixed.
- Danube (SMS00821447) [g997smr] API returns an additional byte (=0x00) at the
  end of an SNMP message.
  Message length handling fixed.

V3.16.0 - 2008-10-10
common:
- Danube specific implementation added for the following parameters:
  + DSL_MLS_TOTAL_DATA_RATE_US
  + DSL_MLS_TOTAL_DATA_RATE_DS
  + DSL_MLS_AGGREGATE_DATA_RATE_US
  + DSL_MLS_AGGREGATE_DATA_RATE_DS
Bug fix(es):
- Vinax (SMS00821009) g997dhling: scaling problem.
  Special handling added for the Hlin DS values in case of ADSL mode.
  FW returns DELT Hlin DS values subsampled by 2. FW values spreading added
  to report the correct number of tones.

V3.15.4 - 2008-10-07
common:
- New configure option(s) added:
  + INCLUDE_DSL_CPE_MISC_LINE_STATUS
- Danube specific G997 implementation added:
  + DSL_DRV_DANUBE_G997_ShowtimeHlogUsGet()
  + DSL_DRV_DANUBE_G997_ShowtimeQlnUsGet()
- DSL_FIO_MISC_LINE_STATUS_GET ioctl extended with the following parameters:
  + DSL_MLS_ATT_AGGREGATE_DATA_RATE_DS
  + DSL_MLS_ATT_LINE_DATA_RATE_DS
  + DSL_MLS_ATT_TOTAL_DATA_RATE_DS
Bug fix(es):
- Danube (SMS00819261) ActualImpulseNoiseProtection calculation incorrect
  in ADSL1.
  ActualImpulseNoiseProtection calculation added according to the following
  equation in ADSL1 mode: 10*4*Rp*Dp/Lp.
- Danube (SMS00801683) ADSL Line Status Information.
  Correction of calculation for the ATTNDR parameter in ADSL1 mode.
  SNRM parameter is continuously changing during the showtime which is the
  desired behavior (see API description for this parameter).
- Danube (SMS00821232) Various parameter extensions - First step (FS1).
  API extended with the FS1 parameters. Also the PM module extensions added.
- Danube (n/a) Corrected handling of parameter "vendor_id" within ioctl context
  DSL_FIO_MIB_ADSL_ATUC_PHYS_ENTRY_GET. It return the system vendor ID instead
  of the G.994.1 vendor ID now.

V3.15.3 - 2008-10-03
common:
- new configuration option(s) added:
  + INCLUDE_DSL_CPE_PM_LINE_FAILURE_COUNTERS
    (--enable-dsl-pm-line-failure-counters)
  + INCLUDE_DSL_CPE_PM_DATA_PATH_FAILURE_COUNTERS
    (--enable-dsl-pm-datapath-failure-counters)
- new IOCTL(s) added:
  + DSL_FIO_BAND_BORDER_STATUS_GET
  + DSL_FIO_MISC_LINE_STATUS_GET
  + DSL_FIO_PM_LINE_FAILURE_COUNTERS_15MIN_GET
  + DSL_FIO_PM_LINE_FAILURE_COUNTERS_1DAY_GET
  + DSL_FIO_PM_LINE_FAILURE_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_LINE_FAILURE_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_LINE_FAILURE_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_LINE_FAILURE_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_COUNTERS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_COUNTERS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_FAILURE_HISTORY_STATS_1DAY_GET
- new data type(s) definition added:
  + DSL_BandBorderStatusData_t
  + DSL_MiscLineStatus_t
  + DSL_PM_DataPathFailureCountersTotal_t
  + DSL_PM_DataPathFailureCounters_t
  + DSL_PM_LineFailureCountersTotal_t
  + DSL_PM_LineFailureCounters_t
- Danube device specific implementation added:
  + DSL_DRV_DEV_BandBorderStatusGet()
  + DSL_DRV_DEV_MiscLineStatusGet()
- PM module common implementation added:
  + DSL_DRV_PM_DataPathFailureHistoryStats15MinGet()
  + DSL_DRV_PM_DataPathFailureHistoryStats1DayGet()
  + DSL_DRV_PM_DataPathFailureCounters15MinGet()
  + DSL_DRV_PM_DataPathFailureCounters1DayGet()
  + DSL_DRV_PM_DataPathFailureCountersTotalGet()
  + DSL_DRV_PM_DataPathFailureCountersShowtimeGet()
  + DSL_DRV_PM_LineFailureHistoryStats15MinGet()
  + DSL_DRV_PM_LineFailureHistoryStats1DayGet()
  + DSL_DRV_PM_LineFailureCounters15MinGet()
  + DSL_DRV_PM_LineFailureCounters1DayGet()
  + DSL_DRV_PM_LineFailureCountersTotalGet()
  + DSL_DRV_PM_LineFailureCountersShowtimeGet()
Bug fix(es):
- Danube (SMS00819345) major bug in US CRC / FEC reporting
  FE counters handling corrected in case of the FE FW counters reset.

V3.15.2 - 2008-09-18
common:
- Vinax device specific implementation added:
  + XTSE configuration/status extended for the G992.3/G992.5 Annex I/J support.
- DSL_SAR_SegClassFilter_t type extended with a new filter type
  DSL_SAR_FILTER_MAC_SRC_ADDR.
Bug fix(es):
- Danube (SMS00813753) sics / sicg do not work for Danube Family with AnnexB
  binary.
  System Interface configuration/status data handling corrected.
- Danube (SMS00812065) DSL-API doesn't always flag Showtime although FW does.
  Consecutive STAT 4 0 (bit 1) polling enabled with a 10 sec timeout.
- Danube (SMS00815322) No SNR Upstream Data available in several ADSL modes
  (error code -20).
  Handling for the ADSL (1 or 2/2+) type corrected.

V3.15.1 - 2008-09-12
Bug fix(es):
- Danube (SMS00722929) g997fpsg -> nNFEC and nINTLVBLOCK are incorrect.
  nNFEC and nINTLVBLOCK parameters handling corrected.
- Common (SMS00722938) fpsg-> nMSGC and nSEQ contain incorrect values in ADSL1.
  Framing parameters handling corrected in the ADSL1 mode.
  "fpsg" returns DSL_WRN_INCOMPLETE_RETURN_VALUES in the ADSL1 mode.

V3.15.0 - 2008-09-05
common:
- new configuration option(s) added:
  + INCLUDE_DSL_CPE_PM_CONFIG
- new IOCTL(s) added:
  + DSL_FIO_PM_CONFIG_SET
  + DSL_FIO_PM_CONFIG_GET
Bug fix(es):
- Common (SMS00807518) Include configuration possibilities for PM module
  (polling cycles).
  PM module functionality extended.
- Common (SMS00807632) Change implementation for bValid flag handling within
  PM module counter context.
  PM module implementation extended according to the new requirements for the
  bValid flag handling.
- Common (N/A) PM Interval Elapsed time not correct in case of External
  Sync mode.
  History statistics added for the PM intervals elapsed time.
- Common (SMS00809834) nUAS far end counter only increases in steps of 10s.
  nUAS handling corrected. nUAS counting now is independent from the FE poll
  cycle.
- Common (SMS00809841) nUAS far end values not always correct.
  The same resolution as for the SMS00809834 issue.
- Danube (SMS00809842) nES counter not available if not in showtime.
  Danube specific implementation corrected.
- Danube (SMS00801067) ETSI AnnexC support is missing.
  ADSL Annex C mode support added.
- Danube (SMS00784794) new error message
  "not_supported_by_current_adsl_mode_or_annex".
  New error code (DSL_ERR_NOT_SUPPORTED_IN_CURRENT_ADSL_MODE_OR_ANNEX = -33)
  handling added.
- Danube (SMS00631507) [g997gang / g997gansg] different values on CPE/CO side.
  Format conversions applied for the Gain values.
- Vinax (SMS00810588) Severe problems with line activation.
  FW version check added for the 0x0549 and 0x0649 messages handling.

V3.14.0 - 2008-08-29
common:
- New error code(s) definition added:
  + DSL_ERR_NOT_INITIALIZED = -34
  + DSL_ERR_NOT_SUPPORTED_IN_CURRENT_ADSL_MODE_OR_ANNEX = -33
- New field(s) in the DSl CPE API Context:
  + hdlcMutex
Bug fix(es):
- Danube (SMS00798646) no warning / error msg for missing g997sang information
  in T1.413.
  New error code added to signal unavailable data depending on the current mode
  or Annex type.
- Vinax (SMS00804332) setting AnnexL also has to set Annex A ADSL2 mode.
  Special checks added for the Vinax device specific implementation of the
  XTSE settings handling (the same as for the Danube family).
- Vinax (SMS00766687) showtime lock and quiet mode not suppported by API.
  Ne/Fe reinit trigger handling corrected.
- Danube (SMS00768197) g997lsg values do not make sense all the time.
  Lock feature added to the HDLC handling.
- Vinax (SMS00795534) Significantly different performance with Vinax
  CO & CPE API
  Manual update of Vinax MsgCat header file "drv_dsl_cpe_vinax_msg_config_pmd.h"
  necessary to set special reserved bits within CMD_AlgorithmControlSet to
  values that are different from inverse logic pre-initialization.
  Changed implementation of CMD_AlgorithmControlSet to solve issue with
  connection problems for Vinax-CO on short loops.

V3.13.5 - 2008-08-05
Bug fix(es):
- Danube (SMS00798841) SuperFrame counter problem.
  DSL_DRV_PM_DEV_ChannelCountersExtGet() implementation corrected.
  memset() for the pCounters moved to the DSL_DRV_PM_CountersUpdate().

V3.13.4 - 2008-08-01
common:
- new configuration option(s) added:
  + INCLUDE_DSL_CPE_PM_CHANNEL_EXT_COUNTERS
- new ioctl(s) added:
  + DSL_FIO_PM_CHANNEL_COUNTERS_SHOWTIME_EXT_GET
- PM module implementation added:
  + DSL_DRV_PM_ChannelCountersExtShowtimeGet()

V3.13.3 - 2008-07-25
Bug fix(es):
- Vinax (SMS00778536) Error in ADSL counter write back.
  Issue reworked.

V3.13.2 - 2008-07-21
Bug fix(es):
- Danube (N/A) Incorrect maximum value for the 16-bit FW counters.
  Added correct definition for the 16-bit counters maximum values.
- Danube (N/A) Incorrect equation for the wrap around handling.
  Equation corrected.

V3.13.1 - 2008-07-18
common:
- New error code(s) added:
  + DSL_WRN_NOT_SUPPORTED_IN_CURRENT_ADSL_MODE_OR_ANNEX
  + DSL_WRN_INCONSISTENT_ADSL_MIB_FLAGS
MIB:
- adslAtucPhysTableFlags_t extended:
  + ATUC_CURR_ATN_FLAG
  + ATUC_CURR_SNR_FLAG
- adslAturPhysTableFlags_t extended:
  + ATUR_CURR_ATN_FLAG
  + ATUR_CURR_SNR_FLAG
- adslAtucPhysEntry_t structure extended with additional fields:
  + DSL_int_t SnrMgn
  + DSL_uint32_t Attn
Bug fix(es):
- Danube (SMS00790480) mibatucceg: nReturn not set properly.
  MIB flags check added.
- Danube (SMS00790538) mibatucceg: interleaveDelay calculation is wrong.
  ADSL MIB "interleaveDelay" parameter calculation corrected.
- Danube (SMS00790592) mibatuccieg: counters not implemented.
  PM module extended with the required counters.
- Danube (SMS00790594)  mibaturceg: interleave delay calculation
  wrong / crcBlkLen unavailable.
  crcBlkLen parameter calculation added according to the assignment
  info log.

V3.13.0 - 2008-07-10
common:
- MIB implementation crosschecked/corrected:
  + DSL_FIO_MIB_ADSL_LINE_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_PHYS_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_PHYS_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_CHAN_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_CHAN_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_PERF_DATA_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_PERF_DATA_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_INTERVAL_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_INTERVAL_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_CHAN_PERF_DATA_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_CHAN_PERF_DATA_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_CHAN_INTERVAL_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_CHAN_INTERVAL_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_PERF_DATA_EXT_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUR_PERF_DATA_EXT_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_INTERVAL_EXT_ENTRY_GET
  + DSL_FIO_MIB_ADSL_ATUC_INTERVAL_EXT_ENTRY_GET
  + ATUC/ATUR mapping to NE/FE corrected
  + Temporary workaround added to request/accumulate SuperFrame counter on the
    MIB layer via PLAM 20 0/PLAM 21 0.
Bug fix(es):
- Common (SMS00752976) quiet mode requires restart of autoboot.
  Issue reworked. Implementation corrected according to the new requirements.
  For more details on the Test mode control settings please refer to the
  UM: DSL_TestModeControlSet_t type definition.
- Common (SMS00786154) g997csg INP calculation is wrong for US and DS.
  Danube-family INP calculations corrected to report values in fraction of
  0.1 symbols. Also the Vinax specific INP calculations corrected for the
  VDSL1 and ADSL modes.
- Danube (SMS00771532) counter problem in Danube-API.
  Workaround applied to disable channel counters reset in FW.
- Danube (SMS00784467) CRC counter in T1.413 defect.
  The same as for the SMS00771532 issue.
- Danube (SMS00786036) pmcc1dg: problems with nCodeViolations and nFEC couters.
  The same as for the SMS00771532 issue.

V3.12.4 - 2008-07-01
Bug fix(es):
- Danube (n/a) AR9 kernel panic on reboot.
  Callback handler corrected. All "sleeps" removed from the
  DSL_DRV_HandleEventCallback()

V3.12.3 - 2008-06-26
-

V3.12.2 - 2008-06-20
common:
- Ioctl handling reworked. Ioctl table introduced to optimize source code
  size.
- DSL_IOCTL_Table_t type definition added
- DSL_DRV_IoctlInstanceHandleHelperCall() implementation removed
- PM module implementation added:
  + DSL_DRV_PM_InternalCountersGet()
- Danube device specific implementation removed:
  + DSL_DRV_DANUBE_SnrmDsUpdate()
  + DSL_DRV_DANUBE_ModemStart()
  + DSL_DRV_DANUBE_ResetDFE()
  + DSL_DRV_DANUBE_HaltDFE()
  + DSL_DRV_DEV_InitDataPrepare()
  + DSL_DRV_DEV_InitDataFree()
  + DSL_DRV_DEV_AutobootHandleFwRequest()
- Danube device specific implementation changed:
  + DSL_DRV_DANUBE_ModeControlSet()
  + DSL_DRV_DANUBE_XTUSystemEnablingConfigSend()
  + DSL_DRV_DEV_G997_LineStatusGet()
- Danube device specific implementation added:
  + DSL_DRV_DANUBE_G997_EocLineStatusGet()
Bug fix(es):
- Danube (SMS00774014) Implementation of device version handling (ASE V1.1
  workaround).
  ASE V1.1 workaround activation sequence corrected. Workaround is activated
  only for the V1.1 chipset.
- Danube (SMS00777804) AnnexM and AnnexJ do not work (using CPE AnnexB
  firmware).
  AnnexM settings added to CMV OPTN 0 and OPTN 7.
  For more details on this issue please refer to the appropriate UTP entry
  attached e-mail.
- Danube (SMS00777059) AnnexB FW , enable Annex M failure.
  The same as in the SMS00777804 issue.

V3.12.1 - 2008-06-16
Bug fix(es):
- Common (SMS00777043) Avoid usage of EOC within g.dmt (ADSL1) mode.
  Implementation corrected according to the Assignment Info Log.
  For more details please refer to the appropriate UTP entry.
- Vinax (SMS00778536) Error in ADSL counter write back.
  Message length setting corrected.

V3.12.0 - 2008-05-30
common:
- New configuration options added:
  + INCLUDE_DSL_FRAMING_PARAMETERS
  + INCLUDE_DSL_G997_FRAMING_PARAMETERS
  + INCLUDE_DSL_G997_LINE_INVENTORY
  + INCLUDE_DSL_RESOURCE_STATISTICS
  + INCLUDE_DSL_SYSTEM_INTERFACE
  + INCLUDE_DSL_CONFIG_GET

V3.11.3 - 2008-05-29
Bug fix(es):
- Danube (SMS00768197) g997lsg values do not make sense all the time.
  Backup mechanism added for the G997 Far-End Line Status data.
- Danube (SMS00723912) *ang / *ansg: number of tones does not make sense.
  AnnexM g992.3 mode handling added.
- Danube (SMS00750232) Bitswap, SRA and L2/L3.
  SRA Get/Set handling corrected.

V3.11.2 - 2008-05-21
common:
- Vinax device specific implementation added:
  + message header files updated according to the latest MCAT4.3
  + DSL_DEV_Hybrid_t type changed according the latest MCAT4.3. No backward
    compatibility with the previous definitions.
  + "DSL_DeviceLowLevelConfig_t" type extended with "bNtrEnable" parameter.
- New error code(s) added:
  + DSL_WRN_CHECK_HYBRID_CONFIGURATION = 300
- New field(s) in the DSL Context:
  + bFeLineInventoryValid
Bug fix(es):
- Danube (SMS00767902) FE parameters request in L2 mode.
  DSL_DRV_DEV_G997_LineStatusGet(), DSL_DRV_DEV_G997_SnrAllocationNscGet()
  implementation corrected. FE parameters will be not requested in case of
  L2 power mode.
- Vinax (SMS00765221) Update of hybrid configuration.
  Implementation updated according to the latest MCAT4.3 (FS10 firmware).
  For more details please refer to the SMS00765221 UTP entry assignment info
  log.
- Danube (SMS00631353) g997dsnrg issues.
  The root cause for the incorrect number of tones reported was found in the
  XTSE status update sequence. The XTSE status information is used to determine
  the correct number of tones in the active ADSL mode.
  It was found that there is a delay ~20 ms between reporting the DIAG_ACTIVE
  state and updating the XTSE status info in the FW. Due to the fact that API
  tries to get the XTSE status information from the FW directly after getting
  the DIAG_ATIVE state sometimes it gets not updated values from the FW.
  API impementation corrected to retreive the XTSE information with a several
  retries.
- Danube (SMS00631298) incorrect DELT HLIN values for downstream.
  The same root cause and resolution as in the SMS00631353 issue.
- Vinax (SMS00767741) NTR Support.
  Low level configuration extended for the NTR support.
- Vinax, Danube (SMS00766371) far end line inventory information should only be
  reported if available.
  Implementation corrected to return special error codes for the Far-End line
  inventory information:
  + DSL_ERR_ONLY_AVAILABLE_IN_SHOWTIME - if line is not in the SHOWTIME
  + state DSL_ERR_DEVICE_NO_DATA - if the FE line information is not available.
  FE line inventory information is requested from the FE after the
  timeout (10 sec) since entring the SHOWTIME state.
- Vinax (SMS00766687) showtime lock and quiet mode not suppported by API
  All restrictions regarding TEST modes usage in the ADSL modes removed
  according to the latest VINAX MCAT4.3.

V3.11.1 - 2008-05-15
common:
- New file(s) added:
  + drv_dsl_cpe_os_win32.c
  + drv_dsl_cpe_os_win32.c
  + drv_dsl_cpe_simulator_danube.c
  + drv_dsl_cpe_simulator_vinax.c
  + drv_dsl_cpe_tcp_simulator_danube.c
  + drv_dsl_cpe_tcp_simulator_vinax.c
  + drv_dsl_cpe_simulator_danube.h
  + drv_dsl_cpe_simulator_vinax.h
  + drv_dsl_cpe_tcp_simulator_danube.h
  + drv_dsl_cpe_tcp_simulator_vinax.h
- Vinax, Danube WIN32 device simulator added
  + common simulator
  + WIN32 device TCP debug message simulator
- Danube device specific implementation
  + XTSE status information update in the FULL_INIT state removed
Bug fix(es):
- Danube (SMS00765710) L2 Power Management Mode.
  PM module FE counters update sequence via HDLC triggered the restart sequence
  in the L2 power mode.
  HDLC handling corrected with proper values for timeouts.
  Special error code added to the HDLC handling sequence in case of timeouts
  while transferring HDLC packets.
- Danube (N/A) ~20-90 sec delay in the reboot sequence while in the L2 mode.
  HDLC handling corrected. Correct values for HDLC timeouts assigned.
  Line state check added in the HDLC handling.
- Danube (N/A) significant delay (~20 sec) while requesting PM module Far-End
  counters in the L2 mode.
  PM counters "request-update" handling decoupled for both Near-End and Far-End
  directions.

V3.11.0 - 2008-05-04
common:
- RTEMS support added
- New file(s) added
  + src/common/drv_dsl_cpe_os_rtems.c
  + src/include/drv_dsl_cpe_os_rtems.h
  + build_rtems/Makefile
Bug fix(es):
- Danube (SMS00762819) showtime lock does not work with r3 firmware.
  Autoboot handling corrected for r3 FW.

V3.10.2 - 2008-04-29
common:
- New configuration options added:
  + "--enable-dsl-delt"
  + "--enable-dsl-G997-per-tone"
  + "--enable-dsl-G997-status"
  + "--enable-dsl-G997-alarm"
- Source code size optimization
  + Danube "bspMutex" Lock/Unlock related optimizations (~7.3KB saved)
  + Danube "DSL_DRV_DANUBE_ChannelRateUpdate" function optimized
- Device specific implementation removed:
  + DSL_DRV_DEV_ShowtimeRebootCheck()
Bug fix(es):
- Danube (SMS00759307) unplugging the line while in showtime leads to kernel
  panic with r3 firmware.
  CMV access within LL driver CallBack removed.
- Danube (SMS00762361) acos - WaitBeforeRestart/AutoContinueWaitBeforeRestart
  do not work.
  Autoboot handling corrected for the bWaitBeforeRestart wait point in case of
  Reboot triggered from the FW.

V3.10.1 - 2008-04-18
common:
- Device dependency for compilation of Danube/Amazon-SE/AR9 removed.
  Single configuration for Danube added.
Bug fix(es):
- Vinax (SMS00747734) Change of MultimodeSwitching concept regarding nUAS.
  PM module implementation extended according to the new counters restoring
  concept. For more details please refer to the appropriate UTP entry.
- Danube (SMS00759304) reboot criteria not set properly.
  Implementation corected according to the Assignment Info log.
  For more details please refer to the SMS00759304 UTP entry.

V3.10.0 - 2008-04-11
Bug fix(es):
- Amazon-SE/AR9/Danube (SMS00752976) quiet mode requires restart of autoboot
  Implementation corrected as suggested to restart the Autoboot in case of
  DSL_TESTMODE_QUIET and DSL_TESTMODE_DISABLE. Documantation extended
  accordingly.
- Amazon-SE/AR9/Danube (SMS00631298) incorrect DELT HLIN values for downstream.
  CMV 72 specification issue.
  FW format for the HLIN-DS values is:
  offset_0=value_for_tone_1
  offset_1=value_for_tone_3
  offset_2=value_for_tone_5
  .....
  DSL CPE API implementation for the HLIN-DS parameter retreiving corrected.
  API will return spread values for the HLIN-DS parameter (value_for_tone_1,
  value_for_tone_1, value_for_tone_3, value_for_tone_3, value_for_tone_5,
  value_for_tone_5, ...).
- Vinax (SMS00755268) AlgorithmControlSet message - wrong use of command.
  DSL_DRV_VNX_SendMsgAlgorithmControl() implementation corrected according to
  the Assignment info log.
- Vinax (SMS00748728) Implement API internal calculation of ActualInterleaveDelay
  value.
  Internal calculations for the InterleaveDelay parameter applied.
  Results crosschecked for the Vinax in all modes and also for the Amazon-SE.

V3.9.4 - 2008-03-28
common:
- New configuration option "--with-max-device" (DSL_DRV_MAX_DEVICE_NUMBER)
  added to specify the maximum supported devices. Default value "1"
  (if not specified).
- "DSL_MAX_DEVICE_INSTANCES" renamed to "DSL_DRV_MAX_DEVICE_NUMBER".
- DSL_FIO_G997_RATE_ADAPTATION_CONFIG_SET/GET IOCTLs changed from the Vinax
  device specific to common.
- Vinax device specific implementation corrected:
  + DSL_DRV_DEV_G997_RataAdaptationConfigSet/Get behavior modified to be
  accessed in all line states.
- Amazon-SE/AR9/Danube device specific implementation added:
  + DSL_DRV_DEV_G997_RateAdaptationConfigSet/Get()
- "DSL_InteropFeatureConfigData_t" data type extended with the following
  parameters:
  + bL2modeDisable
  + bL3modeDisable
- PM Vinax device specific implementation added:
  + DSL_DRV_PM_DEV_HistoryIntervalAlign()
- "SraConfigDataDs" field removed from the CPE Context structure.
Bug fix(es):
- Amazon-SE/AR9/Danube (SMS00750206) g997xtusesg not working in DELT mode.
  XTSE status information update added in the FULL_INIT state and also in
  the DIAG_ACTIVE state.
- Vinax (SMS00734958) CounterConcept MMSwitching: 15min/1day trigger within
  "EAPStimeout intervall".
  15min/1day intervals switch within EAPS timeout corrected.
- Amazon-SE/AR9/Danube (SMS00750232) Bitswap, SRA and L2/L3.
  + Bitswap (US/DS)
    Already available via the DSL_FIO_LINE_FEATURES_CONFIG_SET ioctl
  + SRA (US/DS)
    Danube, Amazon-SE, AR9 device specific implementation added.
    The mentioned SRA feature could be controlled via the
    DSL_FIO_G997_RATE_ADAPTATION_CONFIG_SET/GET
  + L2, L3 modes control
    L2, L3 modes control implementation added. DSL CPE API access to the
    L2, L3 settings could be performed via the
    DSL_FIO_INTEROP_FEATURE_CONFIG_SET/GET

V3.9.3 - 2008-03-20
Bug fix(es):
- Autoboot status event generation within DSL_DRV_Init() corrected.
- "DSL_FIO_EVENT_STATUS_GET" ioctl handling corrected
- DSL_DRV_EventUnqueue() implementation corrected. Correct exit sequence added
  in case of an empty FIFO.

V3.9.2 - 2008-03-18
Bug fix(es):
- AR9: Corrected include path for low level driver (temporarily because this
  will change in the near future due to unified low level driver)

V3.9.1 - 2008-03-14
Bug fix(es):
- Vinax (SMS00745919) [VDSL] LowLevelConfigSet (llcs) - malfunction nLineMode
  0x100 (HS tone A43C).
  "nLineMode" parameter check corrected.
- Amazon-SE/AR9/Danube (SMS00743979) Provide additional test parameters.
  HLOGpsds (INFO 74), QLNpsds (INFO 6), SNRpsus (INFO 78) parameters support
  added in the SHOWTIME state.
- Vinax (SMS00746141) LineInitCounters - historyStatus considers nEAPS timeout.
  PM_LineInitHistoryStats15MinGet(), PM_LineInitHistoryStats1DayGet()
  implementation corrected.
- Vinax (SMS00735029) [VDSL-ADSL] Clause30Counter - MultiModeSwitching.
  Issue reworked. NFC handling in the ADSL mode corrected.
- Vinax (SMS00746755) ADSL1 Fixed Rate, wrong Rate / Interleaving Reporting.
  LP1 handling added. DSL_DRV_VNX_AdslChStatusGet(),
  DSL_DRV_VNX_SendMsgAdslFrameDataGet() implementation corrected.
- Common, Multiple Device Event generation issue fixed

V3.9.0 - 2008-03-07
common:
- new configuration option added "--enable-dsl-fw-request". This option is
  enabled by default in the configure process.
- "DSL_AutobootLoadFirmwareData_t" structure extended with the
  "bChunkDonwloadEnabled" fields.
- new field(s) in the DSL CPE Context:
  + bAutobootStartPending
- Vinax MCAT header files updated (Rev 4.2)
Bug fix(es):
- Vinax (SMS00743724) no DS SNR DELT values.
  SNR DS values in ADSL mode retreiving added. Vinax FW message 0x0b03 used.
- Common (SMS00743972) Improvement of autoboot handling in conjunction with
  FW download mechanism.
  New features added. For more details please refer to the appropriate
  description on the UTP entry.
- Vinax (SMS00735432) pmdpctg  -> nUserTotalCells counter does not increase.
  Total DataPath counters are not valid in the ADSL mode. Implementation
  corrected to return "DSL_ERR_NOT_SUPPORTED_BY_FIRMWARE=-10" error code in
  this case. FW MCAT will be further updated accordingly.

V3.8.4 - 2008-02-29
common:
- new configuration option added:
  + "--enable-ifxos-include"
- "selNodeAdd" functionality added under VxWorks
Bug fix(es):
- Common (SMS00738886) API writes CMVs although this has been disabled via acos
  Implementation corrected. All write accesses to the FW in the
  bWaitBeforeConfigWrite  point removed.

V3.8.3 - 2008-02-22
common:
- IFXOS support added for the Linux build
- new configuration option "--enable-ifxos" added
- PC-Lint checks passed. Insecure coding corrected/removed. The following
  + PC-Lint errors/warnings corrected:
    e58, e64, e415, e419, e512, e502, e522, e525, e527, e539, e545, e550, e571,
    e613, e641, e644, e661, e714, e715, e721, e725, e731, e732, e734, e785,
    e821, e834
  + "drv_dsl_cpe_os_lint_map.h" header file added

V3.8.2 - 2008-02-15
common:
- new parameter(s) in the proc file system:
  + avsar_SNRpsds
  + avsar_QLNpsds
- new field(s) in the Vinax device specif Context:
  + bMultimode
  + nLastShowtime
  + nCurrShowtime
  + bPermanentShowtime
Bug fix(es):
- Vinax/Amazon-SE/AR9/Danube (SMS00543600) g997lis / g997lis not working.
  Issue reworked.
  VINAX fix for this issue is available starting from the 3.8.0 version.
  In case of ADSL mode, the FE XTSE capabilities are retreived via the 0xCB03
  FW message and appropriate mapping aplies to the SPAR octets.
- Vinax (SMS00732380) no EAPStimeout handling allowed in CPE-SingleMode.
  EAPS timeout disabled in case of Single mode operation configured.
- Vinax (SMS00729972) some sarcg / sarcs parameters apply to segmentation only.
  DSL_SAR_ConfigData_t type description extended.
- Vinax/Amazon-SE/AR9/Danube (SMS00723912) *ang / *ansg: number of tones does
  not make sense.
  Issue reworked.
  g992.2 mode support added.
- Amazon-SE/AR9/Danube (SMS00720251) sics bitmasks for EfmTcConfig.
  Issue reworked.
  Checks for the EfmTcConfigUS and EfmTcConfigDS  birfields corrected.
  US supports normal and pre emption, DS - only normal.
- Vinax (SMS00725185) reporting of Bitswap status does not match CO.
  Bitswap status update added in case of ADSL mode.
  There is no Vinax FW message to retreive the bitswap status directly from
  the FW. Vinax FW messages CMD_OLR_RxStatusGet/CMD_OLR_TxStatusGet
  (0x5f03/0x6003) are used to get the current status for the bitSwap.
- Vinax (SMS00731987) sarrts - no sanity check.
  Special checks added within the DSL CPE API driver.
  Notes:
  CLI cannot handle values greater than the max allowable by the specific
  parameter type. CLI handling will wrap the parameter in this case.
- Vinax (SMS00731985) sarsts - no parameter sanity check.
  Special checks added within the DSL CPE API driver.
  Notes:
  CLI cannot handle values greater than the max allowable by the specific
  parameter type. CLI handling will wrap the parameter in this case.
- Vinax (SMS00735029) Clause30Counter - MultiModeSwitching.
  Clause30 counters handling corrected according to the UTP entry provided
  description.
- Amazon-SE/AR9/Danube (SMS00631353) g997dsnrg issues.
  SNR Q88 format conversion corrected.

V3.8.1 - 2008-02-08
common:
- new source file(s) added:
  + drv_dsl_cpe_procfs_linux.c
  + drv_dsl_cpe_procfs_linux.h
- proc file system implementatiom reworked, "seq_file" interface support added.
- new parameter(s) in the proc file system:
  + avsar_bit_allocation_table
Bug fix(es):
- Vinax (SMS00731437) PM_LintInitCounters are influenced by
  ModeSwitch/nEAPStimeout.
  PM module Line counters handling split into LineInit and LineSec counters to
  allow LineInit counters stay unchanged in case of mode switch.
- Vinax (SMS00731354) PM_LineInitCountersShowtimeGet: Unexpected behaviour
  after showtime entered.
  PM history intervals handling corrected.
- Vinax (SMS00731937) resurgence of UAS counter caused by PMR @ wrong time.
  Aux PM Line Sec counters were not reseted corectly. Implementation corrected.
- Vinax (SMS00731857) UAS: strange counter value after ModeSwitching
  VDSL-->ADSL.
  The same root cause as for the SMS00731937 issue. Implementation corrected.
  For more details please refer to the SMS00731937 entry.

V3.8.0 - 2008-02-01
common:
- New configuration option "INCLUDE_DSL_CPE_PROCFILES" added.
- New IOCTLs added:
  + DSL_FIO_RESOURCE_USAGE_STATISTICS_GET
- Common implementation added:
  + DSL_DRV_ResourceUsageStatisticsGet()
  + DSL_DRV_SystemInterfaceConfigCheck()
  + DSL_DRV_EfmMacConfigCheck()
  + DSL_DRV_SAR_ConfigCheck()
  + DSL_ResourceUsageStatistics_t
- "DSL_G997_LDSF_t" type extended with DSL_G997_LDSF_LAST
- "DSL_G997_ACSF_t" type extended with DSL_G997_ACSF_LAST
- "DSL_G997_StartupMode_t" type extended with DSL_G997_STARTUP_LAST
- proc file system implementation added:
  + DSL_DRV_InstallProcEntry() general implementation corrected
  + DSL_DRV_Itoa()
  + DSL_DRV_ArraySPrintF()
  + DSL_DRV_ProcAvsarVerGet()
  + DSL_DRV_ProcAvsarModemStatsGet()
  + DSL_DRV_ProcAvsarModemTrainingGet()
  + DSL_DRV_ArrayPrintFormat_t
  + DSL_DRV_PROC_EntryData_t
  + DSL_DRV_PROC_EntryTable_t
- Vinax/Amazon/Danube device specific implementation added:
  + DSL_DRV_DEV_ResourceUsageStatisticsGet()
- Vinax device specific implementation added:
  + DSL_DRV_VNX_FeXtseCapabilitiesAdslGet()
- Usage of AR9 naming convention
Bug fix(es):
- Vinax (SMS00728203) multi mode switching implementation: xTSE masking issue
  in CAF_VDSL.
  ADSL bits are masked out in case of VDSL only mode detected.
- Vinax (SMS00728209) automode switching concept does not fully correspond
  to specification.
  a) Automode handling corrected in case of CPE bootup with multimode enabled.
  b) nPrevMode based Reinit counter handling corrected.
- common (SMS00723912) *ang / *ansg: number of tones does not make sense.
  Issue reworked.
  Handling for the T1.413 mode added.
- Vinax (SMS00730569) PM_LineInitCounter - MultiModeSwitching Concept:
  Failures.
  Line init counters internal state reset sequence corrected.

V3.7.3 - 2008-01-25
common:
- Amazon-Se/AR9/Danube device specific implementation added:
  + DSL_DRV_DANUBE_MinSnrMarginDsUpdate()
  + DSL_DRV_DEV_ShowtimeStatusUpdate() implementation updated
- Vinax device specific implementation added:
  + DSL_DRV_VNX_SendMsgModemFsmOptionsSet() implementation updated to
    support Virtual noise enabling/disabling.
- "DSL_SnrMarginRebootCfg_t" type definition added.
- "DSL_InteropFeatureConfigData_t" type extended with the "nSnrMarginRebootCfg"
  parameter.
Bug fix(es):
- common (SMS00724278) Configurability of FW reboot due to min margin.
  Implementation added accroding to analysis results. For more details please
  refer to the UTP History log.
- Vinax (SMS00724287) Adding capability to turn on/off virtual nosie.
  New parameters added to the VINAX device Low Level configuration:
  + bVirtualNoiseSupportUs
  + bVirtualNoiseSupportDs
- Amazon-Se/AR9/Danube (SMS00723912) *ang / *ansg: number of tones does
  not make sense.
  Issue reworked.
  Handling for the T1.413 mode added.

V3.7.2 - 2008-01-18
common:
- New field(s) in the DSL CPE Context:
  + bGotFullInit
- New error code(s) defined:
  + DSL_WRN_INCONSISTENT_XTSE_CONFIGURATION
- Update PM module Line Init counters handling according to the changed
  requirements
- Amazon-Se/AR9/Danube device specific implementation added:
  + DSL_DRV_DANUBE_UsedTonesNumberGet()
  + DSL_DRV_DEV_XtseSettingsCheck()
- Vinax device specific implementation added
  + DSL_DRV_VNX_L3ShutdownRequest()
  + DSL_DRV_VNX_TxL3RequestStatusGet()
  + DSL_DRV_VNX_TxL3RequestFailReasonGet()
- G997 Vinax device specific implementation added
  + DSL_DRV_DEV_G997_PowerManagementStateForcedTrigger() extended with the
    Lx to L3 trigger support
Bug fix(es):
- Amazon-Se/AR9/Danube - Added recognition of line state for T.1413 to
  processing within function DSL_DRV_DEV_LineStateGet. The state will be
  handled as handshake state.
- Amazon-Se/AR9/Danube (SMS00543600) g997lis / g997lis not working.
  Issue reworked.
  Implementation corrected according to the rework description. Mapping between
  SPAR and XTSE  bits introduced.
- Amazon-Se/AR9/Danube (SMS00699362) arbitrary msgs (e.g. WinHost) via
  DeviceMessageSend do not work.
  "rb" command works as intended, but:
  please make sure that the following device node exists "/dev/ifx_mei".
  If not, please execute the following command: mknod /dev/ifx_mei c 105 0
- Amazon-Se/AR9/Danube (SMS00708198) API cannot handle AnnexL modes.
  Issue reworked.
  DSL_DRV_G997_XTUSystemEnablingConfigSet() extended with special checks
  according to the following description:
  + if there are also supported bits within current configuration call the
  unsupported should be just removed and a warning should be returned.
  Only in case if there are NO valid bits specified at all an error shall be
  returned and NO changes are done within current configuration.
  Common behavior of API
  - ERROR - NO changes are done at all!
  - WARNING - Changes are done but there are some inconsistencies within
    configuration
  + In case of selecting AnnexL US Mask bits only the according mode
  (G.992.3, AnnexA) shall be set automatically and a warning shall be returned
- Amazon-Se/AR9/Danube (SMS00704337) WinHost vs. Tcpmessages functionality
  (crashes!).
  Issue reworked.
  "mknod /dev/ifx/mei c 105 0" added to the "inst_drv_dsl_cpe_api_danube.sh".
  WinHost "rb" command works with DSL CPE API ver >= 3.7.x
- Common (SMS00723900) g997xtusesg should return -21 if not in showtime.
  According implementation corrected to return XTSE status information only in
  the SHOWTIME state, otherwise "-21" error code will be returned.
- Amazon-Se/AR9/Danube (SMS00725377) pmcctg -> nCodeViolations and nFEC
  increase although we are not in showtime.
  Amazon/Danube PM counters handling changed.
- Amazon-Se/AR9/Danube (SMS00723912) *ang / *ansg: number of tones does
  not make sense.
  Implementation corrected to return values according to the table below:
  ADSL   Annex   US/DS
   1      A         0...32/0...256
   1      B         0...64/0...256
   2      A,I,L     0...32/0...256
   2      B,J       0...64/0...256
   2+     A,I,L     0...32/0...512
   2+     B,J,M     0...64/0...512
- Amazon-Se (SMS00725359) disconnect of line: time to FW reboot is more than
  5 seconds.
  + PM module Far-End counters update cycle handling corrected
  + DSL CPE API own reboot time (without time which is needed to detect LOS
    condition within the FW) is less than 2 sec. For more details please refer
    to the Assignment Info Log on the UTP entry.
- Amazon-Se "WaitBeforeConfigWrite" issue fixed
- Vinax Multimode switching issue fixed

V3.7.1 - 2008-01-14
common:
- BugFix according to using extended autoboot script handling configuration on
  init (DSL_Init) of DSL CPE API.

V3.7.0 - 2008-01-11
common:
- New IOCTLs added:
  + DSL_FIO_G997_RATE_ADAPTATION_CONFIG_SET
  + DSL_FIO_G997_RATE_ADAPTATION_CONFIG_GET
- New field(s) in the DSL CPE Context:
  + bShowtimeReached
  + SraConfigDataDs
  + xtsePoss
- New field(s) in the Vinax device specific Context:
  + nPrevMode
- New error code(s) defined:
  + DSL_WRN_PM_PREVIOUS_EXTERNAL_TRIGGER_NOT_HANDLED
- Vinax device specific message header files updated according to the
  lates MCAT ver.4.0.1.
- Vinax device specific implementation updated:
  + DSL_DRV_VNX_SendMsgModemStateGet() implementation removed
  + DSL_DRV_VNX_SendMsgSraControl() implementation added
  + L2 power mode handling added within DSL_DRV_DEV_LineStateGet()
- common implementation added:
  + DSL_DRV_XtseSettingsCheck()
- G997 common implementation added:
  + DSL_DRV_G997_RateAdaptationConfigSet()
  + DSL_DRV_G997_RateAdaptationConfigGet()
  + DSL_G997_RateAdaptationConfig_t type definition added
- G997 Vinax device specific implementation added:
  + DSL_DRV_DEV_G997_RateAdaptationConfigSet()
  + DSL_DRV_DEV_G997_RateAdaptationConfigGet()
- PM common implementation updated:
  + DSL_PM_SyncEvent_t type definition added
  + DSL_WRN_PM_PREVIOUS_EXTERNAL_TRIGGER_NOT_HANDLED return code added to the
    DSL_DRV_PM_15MinElapsedExtTrigger() implementation
  + DSL_EVENT_S_PM_SYNC event generation added
Bug fix(es):
- Amazon-Se/AR9/Danube (SMS00715335) DSL API CPE extension for interop
  INFO 103 1 used instead of TEST 22 CMV.
- Vinax (SMS00708043) g997csg - ActualImpulseNoiseProtection: return format
  does not correspond to g997.1.
  ActualImpulseNoiseProtection parameter description updated.
- Vinax (SMS00719084) VDSL: FE-CRC/FEC counters do not behave correctly after
  link drop.
  The described behaviour was not found with the latest DSL CPE API ver.3.7.0.
- Amazon-Se/AR9/Danube (SMS00708198) API cannot handle AnnexL modes.
  Issue reworked.
  1. cmv stat 4 0 (bit 12 and bit 13) used to retreive infotmation about
     current Annex L mode.
  2. Validation checks added for the XTSE configuration settings
- Vinax (SMS00722574) DSL_ERR_NOT_SUPPORTED_BY_FIRMWARE vs ..._BY_DEVICE
  Return code changed to DSL_ERR_NOT_SUPPORTED_BY_FIRMWARE (-10).
- Vinax (SMS00718808) Required update Automode Switching.
  Automode Swithcing implementation updated according to the new requirements.
  For more details please refer to the UTP attached FSM statechart.
- Amazon-Se/AR9/Danube (SMS00721242) disconnect of line is not detected
  with FS2 FW-> SHOWSTOPPER.
  fast solution applied to modify the FW versions that will support callback
  mechanism to FS3. Further decisions are necessary. For more details please
  refer to the appropriate UTP entry.
- Amazon-Se/AR9/Danube (SMS00722943) fpsg and g997fpsg should return -21
  if CPE is not in showtime.
  "fpsg" and "g997fpsg" will return DSL_ERR_ONLY_AVAILABLE_IN_SHOWTIME if the
  line is not in the showtime state.
- common (SMS00722944) g997csg, g997lsg should return -21 if not in showtime.
  "g997csg" and "g997lsg" will return DSL_ERR_ONLY_AVAILABLE_IN_SHOWTIME if the
  line is not in the showtime state.
- Amazon-Se/AR9/Danube (SMS00720251) sics bitmasks for EfmTcConfig.
  DSL_DRV_DANUBE_SystemInterfaceConfigCheck() implementation corrected
  according to the Assignment Info Log.
- Amazon-Se/AR9/Danube (SMS00719982) Redesign of FE line inventory
  implementation.
  System Vendor ID, Version Number and Serial Number retrieving via the EOC/OHC
  messages added.
- Amazon-Se/AR9/Danube (SMS00543600) g997lis / g997lis not working.
  Issue reworked.
  System Vendor ID, Version Number, Serial Number parameters retrieving via
  EOC/OHC messages added. Far-end XTSECapabilities are not correctly reported
  by the FW. For more details please refer to the appropriate UTP entry.
- Amazon-Se/AR9/Danube (SMS00718794) implementation of fixed retrain
  margin for ADSL AnnexA.
  Implementation corrected as described in the Assignment Info Log for the 1st
  step (fixed implementation).

V3.6.4 - 2007-12-28
common:
- DSL_TimeoutEvent_t type extended with "DSL_TIMEOUTEVENT_EAPS"
- Vinax device specific implementation added
 + DSL_DRV_VNX_OnEapsTimeout()
 + DSL_TIMEOUTEVENT_EAPS timeout event handling added
- DSL_DeviceLowLevelConfig_t type extended with "nEapsTimeout"
- New field(s) in the DSL CPE Context:
 + nEapsTimeoutId
 + nFullInits
 + nFailedFullInits
- PM implementation added
 + DSL_PM_FwMode_t type definition added
 + DSL_DRV_PM_Resume()
 + DSL_DRV_PM_DEV_Restart()
 + DSL_DRV_PM_DEV_Suspend()
 + DSL_DRV_PM_DEV_OnEapsTimeout()
 + Added "DSL_WRN_INCOMPLETE_RETURN_VALUES" special return value for PM module
   API functions
- New fields in the PM Context
 + bPmDataValid
 + nLastShowtime
 + nCurrShowtime
Bug fix(es):
- Vinax (SMS00718798) Change counter concept for automode handling (A/VDSL)
  PM counters save/restore sequence updated/corrected according to
  the new requirements.
- Vinax (SMS00669925) PM Line Init counters in ADSL mode not working at all.
  Line Init counters handling completely shifted to the DSL CPE API level.
  No FW support for these counters are required.

V3.6.3 - 2007-12-21
common:
- New IOCTLs added:
  + DSL_FIO_DATA_PATH_COUNTER_TOTAL_GET
- Common implementation added:
  + DSL_DRV_DataPathCounterTotalGet()
- VINAX device specific implementation added
  + DSL_DRV_DEV_Clause30CountersSave()
  + DSL_DRV_DEV_DataPathCounterTotalGet()
- DSL_DataPathCounterTotal_t type definition added
- New field(s) in the DSL CPE Context:
  + nTotalLinePathCounters
  + nTotalDataPathCounters
- PM common implementation corrected: multiple lock for the direction mutex
  removed.
Bug fix(es):
- Vinax (SMS00718368) Availability of Clause 30 Counters in FAIL state.
  Added mechanism to save Clause30 counters before FW reload and further
  use these values as a reference for calculations.
- Common (SMS00715335) DSL API CPE extension for interop.
  Issue reworked.
  Firmware version check added with (new) preprocessor definition
  "#define DSL_MIN_FW_VERSION_FTTXPOTS 3, 2, -1, -1 "
- Amazon-Se/AR9/Danube (SMS00718797) Turning on all modes for
  annexes A/I/M/L does not work.
  DSL CPE API checks the XTSE settings according to the CMVs specification.
  The mentioned ERROR printout appears in case of enabling all possible modes
  for Annex A/I/M. According to the latest CMV specification (ver.1.3) this
  is not allowed - please refer to the p34. OPTN0 description.
  It was clarified by Joerg Dauerer that the statement in the CMV spec
  regarding the limitations in multimode is wrong. The current FW supports
  multimode for all relevant annexes (i.e. A/L/I/M or B/M/J).
  DSL CPE API checks regarding Annex A/L/I/M or B/M/J multimode removed.
- VINAX (SMS00718458) VDSL: Clause30 counters: Docu issue and extension
  DSL_FIO_LINE_PATH_COUNTERS_TOTAL_GET documentation corrected.
  DSL_FIO_DATA_PATH_COUNTERS_TOTAL_GET ioctl added.
- Common (SMS00669127) Change/update "special" values for API interface
  return values.
  Issue reworked.
  VINAX DSL CPE API mapping for the LATNpb and SATNpb parameters corrected.
  FW special value 0x3FF (OOR value) is mapped to the API value 1271.

V3.6.2 - 2007-12-14
common:
- New IOCTLs added:
  + DSL_FIO_INTEROP_FEATURE_CONFIG_SET
  + DSL_FIO_INTEROP_FEATURE_CONFIG_GET
- New file(s) added:
  + "drv_dsl_cpe_api_amazon_s_kernel_config.h"
- New field(s) in the DSL CPE Context:
  + interopFeatureConfigData
- "DSL_InteropFeatureConfig_t" data type definition added
- Amazon-Se/Danube device specific implementation addded:
  + "DSL_CmvTestPmd_t" definition added
- VINAX device specific implementation added
  + DSL_DRV_VNX_SendMsgBandControlGet() extended for ADSL mode support
- Common implementation added:
  + DSL_DRV_InteropFeatureConfigSet()
  + DSL_DRV_InteropFeatureConfigGet()
- "DRV" prefix added to the following functions:
  + DSL_DRV_LED_Flash()
  + DSL_DRV_LED_Poll()
  + DSL_DRV_LED_ModuleInit()
  + DSL_DRV_LED_FirmwareInit()
Bug fix(es):
- VINAX (SMS00716720) [ADSL] showtime g997gang, g997bang for DS direction.
  Implementation corrected to return values according to the suggested
  table (please refer to the appropriate UTP entry).
- VINAX (SMS00710363) DIAGNOSTIC DELT: Alignment for "nNumData"
  for g997dhlog, g997dhlin, g997dqln, g997dsnr.
  Implementation corrected to return values according to the suggested
  table (please refer to the appropriate UTP entry).
- VINAX (SMS00716864) [ADSL] showtime DELT/{gain, snr, bit} allocations.
  Implementation corrected to return values according to the suggested
  table (please refer to the appropriate UTP entry).
- Common (SMS00715335) DSL API CPE extension for interop.
  Implementation extended as suggested.
- Common (SMS00717346) Extend DSL CPE API with configure option for AR9.
  new configuration oprion "INCLUDE_DSL_CPE_API_AR9" added for the
  AR9 chipset support. For more details please refer to "configure --help"
- Common (SMS00715335) DSL API CPE extension for interop.
  New IOCTLs added:
  + DSL_FIO_INTEROP_FEATURE_CONFIG_SET
  + DSL_FIO_INTEROP_FEATURE_CONFIG_GET
  Amazon-Se/Danube device specific handling for bFtTxPotsHp parameter added.

V3.6.1 - 2007-12-07
common:
- DSL_BandPlanType_t extended with additional bandplans definitions.
- VxWorks Mutex mapping changed to IFXOS Lock.
- IOCTL implementation added:
  + DSL_FIO_TEST_MODE_STATUS_GET
- common implementation added:
  + DSL_DRV_TestModeStatusGet()
- VINAX device specific implementation added:
  + DSL_DRV_DEV_SystemInterfaceStatusGet()
Bug fix(es):
- VINAX (SMS00712951) VCI / VPI sanity check is missing.
  Sanity checks added as suggested:
  VCI 0-31 and >65535 are not allowed
  VPI > 255 are not allowed
  Special error code "DSL_ERR_INVALID_PARAMETER = -30" is reported in case of
  range checking error.
- VINAX (SMS00712197) "acs 0" leads to a (never ending) stop of the
  autoboot daemon.
  Fix were introduced in the DSL CPE API ver 3.5.2.
- VINAX (SMS00712608) bpsg ("BandPlanSupportGet") seems to be incomplete.
  DSL_DRV_BandPlanSupportGet() implementation corrected according to the
  appropriate DSL API (CO) implementation.

V3.6.0 - 2007-12-03
- Enable 'autoControl' independently from filter setting. Later on an
  additional configuration option might be used for configuration.

V3.5.2 - 2007-11-30
common:
- new field(s) in the DSL CPE Context
  + bAutobootRestart
- Sync mechanism between DSL_DRV_AutobootControlSet() and
  DSL_DRV_AutobootStateCheck added
- PM module generic implementation added
  + DSL_DRV_PM_Suspend()
- Configuration options change(s)
  + "--inc-debug-tool-interface" renamed to "--inc-firmware-memory-free"
Bug fix(es):
- VINAX (SMS00710363) DIAGNOSTIC DELT: Alignment for "nNumData" for g997dhlog,
  g997dhlin, g997dqln, g997dsnr.
  XTSE status information retrieving added in the "DIAG_COMPLETE" state.
  The number of requested DELT values directly depends on the XTSE status
  (mode and Annex in use).
- VINAX (SMS00710781)"acs 2" restart during multi-mode operation.
  Automode switching FSM reset added in case of external "acs" trigger
- VINAX (SMS00712213) "alig" returns values in ADSL mode.
  "DSL_ERR_NOT_SUPPORTED_BY_FIRMWARE = -10" error code return added
  in case of ADSL mode

V3.5.1 - 2007-11-23
common:
- "dev_num" parameter added to all debug printouts (e.g. DSL[dev_num]: ...)
Bug fix(es):
- VINAX (SMS00708043) g997csg - ActualImpulseNoiseProtection: return format
  does not correspond to g997.1.
  Suggested equation for ACTINP parameter used for calculations in VDSL2 mode.
  10 * 8*Dp*floor( Rp / (2*q_p) ) / Lp
- VINAX (SMS00705435) vinax: multiple devices.
  Multiple devices support implementation reviewed/corrected. Tested under
  VxWorks on the EASY83002 eval board.
- Amazon-Se/Danube (SMS00708198) API cannot handle AnnexL modes.
  DSL_DRV_DANUBE_XTUSystemEnablingStatusUpdate() implementation corrected.
  Now the DSL CPE API handles the XTSE5=0x8 (Annex L G992.3 narrow)
  mode correctly.
  Notes:
  Setting XTSE5=0x4 (Annex L G992.3 wide) mode on both sides (CO & CPE) causes
  the following behaviour:
  * showtime is reached
  * CO reports status for XTSE5=0x4 correctly
  * CPE reports status for XTSE5=0x8 INCORRECTLY
  In case of XTSE5=0x4 configuration mode the Amazon-Se FW (ver.3.1.0.7.1.1)
  returns Annex L G992.3 narrow mode status (0x1100 in the CMV STAT ADDR=1).
  This behaviour should be crosschecked within the FW.
- Amazon-Se/Danube (SMS00657234)  g997csg - Update of previous datarate
  DS wrong (rework).
  Automatically fixed by the SMS00708198 issue .
- Common (SMS00669127) Change/update "special" values for API interface
  return values.
  Implementation reviewe. Some parameters handling corrected according to
  specified requirements.

V3.5.0 - 2007-11-20
-

V3.4.5 - 2007-11-19
Bug fix(es):
- Amazon-Se/Danube: FW reboot in case of "acs 0" CLI command.
  FW reboot sequence corrected in case of Amazon-Se/Danube and
  TCP debug tool usage
- VINAX: Added implementation for configuration of ADSL2 Annex L modes within
  function DSL_VNX_SendMsgVtseConfigure() - VinaxMsg: CMD_XTSE_Configure

V3.4.4 - 2007-11-15
common:
- New Vinax MSG header files grouping
  + "drv_dsl_cpe_vinax_msg.h" file removed
  + "drv_dsl_cpe_vinax_msg_config_pmd.h" file added
  + "drv_dsl_cpe_vinax_msg_debug.h" file added
  + "drv_dsl_cpe_vinax_msg_ghs_status.h" file added
  + "drv_dsl_cpe_vinax_msg_olr.h" file added
  + "drv_dsl_cpe_vinax_msg_perf_pmd.h" file added
- New "--enable-debug-tool-interface" configuration option added
- DSL_DRV_AutobootStatGet_t extended with "DSL_AUTOBOOT_STATUS_RESTART_WAIT"
- New event "DSL_EVENT_S_AUTOBOOT_STATUS" definition added
  within DSL_EventType_t
- DSL_AutobootStateMachineOptions_t extended with "bWaitBeforeRestart"
- New autoboot state "DSL_AUTOBOOTSTATE_RESTART_WAIT" added
- DSL_DRV_AutobootStatusSet(): "DSL_EVENT_S_AUTOBOOT_STATUS" event
  generation added
- DSL_DRV_EventStatusMaskConfigSet/Get(): "DSL_EVENT_S_AUTOBOOT_STATUS" event
  handling added
- DSL_DRV_AutobootHandleException(): new trigger point "bWaitBeforeRestart"
  handling added
- Amazon-Se/Danube device specific implementation added
  + DSL_DEV_Reboot()
Bug fix(es):
- VINAX: According to MsgCat all "support" bits within FW Msg
  CMD_HS_VDSL2ProfileControl are enabled if at least one VDSL XTSE bit is
  selected.
- VINAX (SMS00668516) g997fpsg delivers wrong values in ADSL mode.
  Rework: nFEC = nINTLVBLOCK = DSL API (CO) calculation
- VINAX (SMS00707463) new trigger point required.
  Implementation added according to the new Autoboot Script handling
  requirements
- Amazon-Se/Danube (SMS00704337) WinHost vs. Tcpmessages
  functionality (crashes!).
  The mentioned "crash" was not found with the latest DSL CPE API version.
  DSL CPE API new configure option added "--enable-debug-tool-interface"
  to include TCP debug tool support. Depending on the
  "--enable-debug-tool-interface" option the DSL CPE API will free the
  low-level driver resources after reaching showtime.

V3.4.3 - 2007-11-08
common:
- VxWorks related changes/fixes for "multiple device" support
- "inst_drv_dsl_cpe_api_vinax.sh" script changes for
  "multiple device" support.
Bug fix(es):
- VINAX (SMS00705574) adsl does not work with VxWorks
  Memory leakage bug was found and fixed in the DSL CPE API event
  generation part.
- VINAX (SMS00706057) default api configuration change
  for FW v9.9.4.2.1.2 required.
  POTS3 selected by default. 0x0445 message "autoControl" bit is set
  in case of POTS3 selection. CMD_DigitalFilterSet structure extended.

V3.4.2 - 2007-11-02
common:
- VINAX device specific implementation added
  + DSL_DEV_TestModeControlSet()
- Danube/Amazon-Se device specific implementation added
  + DSL_DEV_TestModeControlSet()
- DSL_DRV_SysTimeGet() implementation added
- New field(s) in the DSL Context
  + DELT_SHOWTIME
- DSL_G997_DeltShowtimeData_t type definition added
- PM module implementation added
  + new field in the PM Context - "pCountersDump"
  + new field in the PM Context - "nElapsed15MinTime"
  + new field in the PM Context - "nElapsed1DayTime"
  + DSL_DRV_PM_InternalStateReset() implementation added
  + nCurrTime argument removed from the DSL_DRV_PM_SyncTimeUpdate()
Bug fix(es):
- common, PM module polls FW in case of FW crash.
  Restart sequence trigger added to the PM module handling.
- VINAX (SMS00689713) InstanceControlSet: nActivationMask cannot be changed
  Implementation corrected. Internally "nEventActivationMaks" parameter was
  handled, but it was not stored on the DSL CPE API internal memory.
- VINAX (SMS00670729)  TestModeControlSet - not working as noted in
  documentation.
  Rework: Implementation according to issue notes added.
- VINAX (SMS00702765) g997bansg, g997gansg, g997sansg: Not whole allocation
  table returned.
  Implementation corrected.
  64 (ADSL-US), 256/512 (ADSL-DS) or 4096 (VDSL2-US/DS) values are returned
  in the "Short" version of the mentioned CLI commands - depending
  on the operating mode
- VINAX (SMS00703009) VDSL-DELT in DIAGNOSTIC mode.
  1. HLOG, QLN, HLINSC and Line Status parameters are enabled to be retrieved
     in the DIAG_COMPLETE state for VDSL mode.
  2. HLIN measurement time is not supported by the VINAX FW in general.
     API returns "0"
  3. CMD_TestParamsAuxUS_Get (0x5003) FW message returns "0" for HLOG, SNR and
     QLN measurement time. API returns "0" for these parameters.
- VINAX (SMS00703164) No correct FW download.
  FW reload in case of switching from VDSL to VDSL added. Previously it was not
  reloaded. VINAX_IOCTL_HW_RST_MASK_ALL added to the reset mask.
- VINAX (SMS00690107) g997gang and g997gansg: some issues.
  Implementation corrected. Issues A, B fixed. For the issue C it was decided
  to return Gain-DS values in the Q8.8 dB format for the current ADSL FW.
  For the future versions (>=9.4.x.y.z.5 (Annex A) and >=9.5.x.y.z.6 (Annex B))
  The values according to the G997 reccomendations will be returned.
  Appropriate notes will be added to the CPE API documentation.
- VINAX (SMS00704491) FE-TestParameter in VDSL-Showtime ("showtime DELT").
  FE-Test parameters (HLOG, QLN, SNR) request/retrieving added on each
  showtime entry.
- VINAX (SMS00705105) overflows reg. different pm counters
  PM counters save/restore sequence corrected
- VINAX (SMS00705107) PM_LineSecCounters: increment of UAS not correct
  UAS counter PM internal handling corrected

V3.4.1 - 2007-10-25
Bug fix(es):
- Amazon-SE/Danube: Various corrections according to integration of lib_ifx_os
  library

V3.4.0 - 2007-10-22
common:
- Major rework to include new OS abstraction layer (lib_ifx_os)
- DSL_GetTimeOfDay() function replaced by macro
Bug fix(es):
- DANUBE, DSL_DANUBE_ModeControlSet(): annexes B/J/M check corrected
- VINAX, 0x2F03 message send corrected
- VINAX (SMS00688569) ADSL: g997bansg delivers too many tones.
  nNumData assign corrected, ADSL modes check added.
  The same was corected in the DSL_VNX_GainAllocationTableGet() and
  DSL_VNX_SnrAllocationTableNeGet()
- VINAX, DANUBE: DSL_VNX_SnrAllocationTableNeGet(): SNR values format conversion
  corrected
- VINAX (SMS00668799)  G997_LineStatusGet: some erroneous parameters in VDSL
  mode.
  Issue reworked. ACTATP-DS parameter now available in ADSL/VDSL modes.
  ACTATP-DS/US VDSL parameters are swapped due to the bug in the FW.
- VINAX, Automode Switching FSM reworked according to the updated
  documentation.
- VINAX, DSL_VNX_G997_FramingParameterStatusAdslGet(): nNFEC parameter
  calculation added according to the used ADSL mode. Also please refer
  to the SMS00668516 issue. Fix above is a 50% of the mentioned issue.
- VINAX (SMS00689480) ADSL: SAR commands: Bearer Channel parameter is neglected
  by the CLI/API.
  DSL_CHECK_CHANNEL_RANGE() check added. At the moment only bearer channel 0
  is supported.

V3.3.8 - 2007-10-19
common:
- Added new SystemInterface mode DSL_TC_EFM_FORCED
Bug fix(es):
- Danube/Amazon-SE: Corrected SystemInterface configuration handling to be
  checked with defined minimum PTM firmware version.

V3.3.7 - 2007-10-12
common:
- DSL_GetTimeOfDay() implementation added to the OS specific part
- VINAX device specific implementation adeded
  + DSL_VNX_SnrAllocationTableGet() renamed to DSL_VNX_SnrAllocationTableNeGet
    nDirection parameter removed
  + DSL_VNX_DeltSnrPerGroupCalculate() renamed to DSL_VNX_SnrPerGroupCalculate()
    nGroupSize parameter added
  + CMD_TR1ControlSet structure extended with the CntInhibitEnable field
  + usec handling removed from the PM module intervals handling
  + FE counters update added to the DSL_PM_CountersSave()
- DSL_PM_DEV_Start() call added to the DSL_PM_CountersRestore() to restart
  the PM module device specific part
- ADSL/VDSL automode switching implementation rework according to the new
  concept changes
Bug fix(es):
- VINAX (SMS00680214) initial value for nElapsedTime
  PM Intervals time calculation corrected, usec handling removed
- VINAX (SMS00669050) g997sang/g997sansg: G997_SnrAllocationNscGet -
  concept, documentation, implementation weaknesses
  Subissue B reworked. Subissue A still pending.

V3.3.6 - 2007-10-05
common:
- VINAX device specific implementation added
  + DSL_VNX_GainAllocationTableGet(), Excess Margin Reduction added
- DANUBE device specific implementation added
  + DSL_DEV_G997_GainAllocationNscGet(), Excess Margin Reduction added
Bug fix(es):
- VINAX (SMS00672938) g997csg: Copying process actual-->previous. minor issue.
  Implementation corrected within DSL_CtxDataUpdate()
- VINAX (SMS00668799) G997_LineStatusGet: some erroneous parameters in
  VDSL mode (rework).
  DSL_VNX_LineStatusGet() implementation corrected. Special value (-901)
  assigned to ACTPS parameter
- VINAX (SMS00673360) DELT in DIAGNOSTIC MODE: Concept issue.
  nDeltDataType field added to the DSL_G997_LineStatus_t.
  DSL_G997_LineStatusGet() extended with new parameter nDeltDataType.
  Line Status Parameters update added to the DSL_VNX_DiagnosticDeltDataGet().
- VINAX (SMS00673349) ADSL DELT DiagnosticMode
  DSL_VNX_SendMsgTestParamsAuxGet() implementation corrected.
  DSL_VNX_DeltHlogGet(), DSL_VNX_DeltHlinGet(), DSL_VNX_DeltSnrGet(),
  DSL_VNX_DeltQlnGet() implementation corrected, default value 512
  assigned to nDataNum.
- VINAX (SMS00673630) ADSL DELT ShowtimeMode.
  SMS00673349 issue fix automatically fixed SMS00673630 issue (A, C)
  Issue B fix: Dummy pointer check removed from
  the DSL_VNX_SendMsgTestParamsAuxGet()
- Amazon-Se/Danube (SMS00631327) [g997dhlogg] values reported by
  CO & CPE differ.
  Not found with the latest Amazon-Se FW and latest DSL CPE API (ver.3.3.5).
  Detailed log attached within UTP entry
- VINAX (SMS00640230) g997sansg and g997sang return NE results only.
  ADSL SNRus parameter retrieving added via CMD_SNR_US_GET (0x4E03) message.
  DSL_FIO_G997_SNR_ALLOCATION_NSC_GET ioctl help extended.
- VINAX (SMS00673917) G997_BitAllocationsNscGet: max 256 values in
  ADSL2+ operating mode.
  Implementation corrected to request 512 tones information

V3.3.5 - 2007-09-28
Bug fix(es):
- VINAX (SMS00662341) Add of Utopia width configuration parameter.
  + DSL_UtopiaBusWidthConfigSet(), DSL_UtopiaBusWidthConfigGet()
    implementation added
  + DSL_DEV_UtopiaBusWidthConfigSet(), DSL_DEV_UtopiaBusWidthConfigGet()
    implementation added
  + new IOCTLs DSL_FIO_UTOPIA_BUS_WIDTH_CONFIG_SET,
    DSL_FIO_UTOPIA_BUS_WIDTH_CONFIG_GET added
  + DSL_UtopiaBusWidthConfig_t type definition added
- VINAX (SMS00670729)  TestModeControlSet - not working as noted in
  documentation. Security check added to allow test mode only in the
  VDSL mode (ADSL test mode not supported by the FW).
  DSL_LINESTATE_TEST state handling added.
- VINAX (SMS00670748) UtopiaAddressConfigSet does not work with scripting.
  DSL_DEV_LowLevelConfigurationSet() implementation corrected.
- Danube/Amazon-Se (SMS00543600) g997lis / g997lis not working (Danube)
  Issue not found in the current version. Detailed log provided on th UTP
  entry
- Danube/Amazon-Se (SMS00648103) DSL Diagnostics failure in driver
  Described behaviour not found with the latest Amazon-Se FW, DSL CPE API
  Detailed log provided on th UTP entry.
- Danube/Amazon-Se (SMS00659898)  DSL Diagnostics - Invalid dsl line state
  (DSL Link down).
  Described behaviour not found with the latest Amazon-Se FW, DSL CPE API
  Detailed log provided on th UTP entry.
- VINAX (not submitted) Temporary workaround added for the FW Automode
  Switching issue with the latest FS9 FW.
  Workaround added under AUTOMODE_SWITCHING_WORKAROUND internal compile
  switch

V3.3.4 - 2007-09-21
common:
- VINAX device specific implementation added
  + DSL_VNX_DeltSnrPerGroupCalculate()
- New error code added DSL_WRN_PM_NOT_ALLOWED_IN_CURRENT_SYNC_MODE
- DSL_AUTOBOOTSTATE_CONFIG_WRITE_WAIT definition added within
  DSL_Autoboot_State_t
- DSL_AUTOBOOT_CONFIG_WRITE_WAIT_POLL_TIME definition added
Bug fix(es):
- DANUBE/Amazon-SE (SMS00638837) pmlictg->nFullInits does not change on retrain
  not found in ver.3.3.4 (detailed log provided on the UTP entry)
- Common (SMS00668804) Extension of autoboot script handling by using an
  additional wait point "bWaitForConfiguration"
  New DSL_AUTOBOOTSTATE_CONFIG_WRITE_WAIT autoboot state handling added
- Common (SMS00668806)  Extension of DELT data request ioctls by data tape
  (diagnostic or showtime data)
  Current implementation adapted to fulfill new requirements
  + hlogDataUsVdsl, snrDataUsVdsl, qlnDataUsVdsl new parameters added
    within DSL_G997_DeltData_t
  + DSL_VNX_SendMsgTestParamsAuxGet() test parameters update removed,
    pAck output fucntion parameter added
  + DSL_VNX_DeltHlogGet() nDataNum input parameter removed,
    ADSL mode support added
  + DSL_VNX_DeltHlinGet() nDataNum input parameter removed,
    ADSL mode support added
  + DSL_VNX_DeltSnrGet() nDataNum input parameter removed,
    ADSL mode support added
  + DSL_VNX_DeltQlnGet() nDataNum input parameter removed,
    ADSL mode support added
  + DSL_VNX_AdslDeltAllDataGet() renamed to DSL_VNX_DiagnosticDeltDataGet,
    Aux test parameters update added, VDSL mode support added
  + DSL_DEV_ShowtimeStatusUpdate() aux test parameters update added
  + nDeltDataType parameter handling added
- VINAX (SMS00669441) LinePathCounterTotalGet: Documentation Issue.
  Description within DSL_LinePathCounterTotalData_t corrected
- VINAX (SMS00669530) PM Reset (pmr): not working as expected.
  DSL_PM_xxxCountersReset() implementation corrected
- VINAX (SMS00669050) g997sang/g997sansg: G997_SnrAllocationNscGet - concept,
  documentation, implementation weaknesses
  DSL_FIO_G997_SNR_ALLOCATION_NSC_GET ioctl description extended,
  ADSL support added
- VINAX (SMS00669859) PM Elapsed Time Reset (pmetr) does not work...
  DSL_FIO_PM_ELAPSED_TIME_RESET ioctl description extended,
  DSL_WRN_PM_NOT_ALLOWED_IN_CURRENT_SYNC_MODE error code support added
- VINAX (SMS00670111) ADSL: SAR_ConfigGet does not report correctly
  DSL_SAR_ConfigGet() operates corretly with ver > 3.2.3
- VINAX (SMS00669985) VDSL automode: PM LineInitCounters: countervalues doubled
  on every showtime.
  Implementation corrected within DSL_PM_xxxCountersUpdate()

V3.3.3 - 2007-09-19
common:
- Amazon-SE/Danube: added new configure switch to define the data LED flash
  frequency (--with-adsl-data-led-flash-frequency)
Bug fix(es):
- Amazon-SE/Danube: IOP bugfix (getting data from CO side)

V3.3.2 - 2007-09-14
common:
- VINAX device specific implementation added
  + DSL_VNX_GainAllocationTableGet() added full ADSL support
  + DSL_VNX_SnrAllocationTableGet() added full ADSL support
Bug fix(es):
- Amazon-SE/Danube (SMS00668013):  DSL Data Rate Update problems during DSL
  Plugin/Plugout
  DSL_DANUBE_ChannelRateUpdate() implementation corrected
- VINAX (SMS00668269) g997lacs in ADSL mode
  0x0449 message now also available for the ADSL mode (starting from FW FS4)
- VINAX (SMS00667704) g997bansg and g997bang not supported for ADSL
  ADSL specific implementation added
- VINAX (SMS00668701) G997_LineInventoryGet returns wrong value for
  g994VendorID ATU-R
  There were variance between MCAT3.9 MsgId=0x4103 description and the actual
  FW.
  The mentioned msg is marked as unavailable for the ADSL mode.
  At the same time this message is successfuly handled by the ADSL FW.
  DSL CPE API implementation corrected accordingly to support this message in
  the ADSL mode.
- VINAX (SMS00668799) G997_LineStatusGet: some erroneous parameters in VDSL
  mode
  DSL_VNX_LineStatusGet() Implementation updated according to the latest
  MCAT3.9.1. Also SMS00656158 issue was taken into account.
- VINAX (SMS00668494) FramingParameterStatusGet (fpsg) not working correctly in
  ADSL mode
  Implementation corrected within DSL_VNX_SendMsgAdslFrameDataGet()
- VINAX (SMS00668516) g997fpsg delivers wrong values in ADSL mode
  Implementation corrected within DSL_VNX_SendMsgAdslFrameDataGet()
- VINAX (SMS00668233) g997csg: ActualImpulseNoiseProtection is not calculated
  correctly.
  Equation for ActualImpulseNoiseProtection corrected according to the
  DSL API (CO)

V3.3.1 - 2007-09-13
user interface definition change(s):
- Common (SMS00668806): Added new interface parameter 'nDeltDataType' for DELT
  data access ioctls, DSL_G997_Delt<XXX>Get (not functionally supported yet!)
- Common (SMS00668804): Added new autoboot state machine configuration option
  'bWaitBeforeConfigWrite' within 'DSL_AutobootConfigData_t' structure which is
  used for 'DSL_FIO_INIT' and 'DSL_FIO_AUTOBOOT_CONFIG_SET/GET' ioctls
  (not functionally supported yet!)

V3.3.0 - 2007-09-07
Bug fix(es):
- VINAX (SMS00667237): auto boot load firmware (alf) leads to an CLI
  stuck wenn ADSL-FW is loaded.
  Security check added to the VINAX DSL_DEV_FwDownload() function
- source code cleanup
- DSL_VNX_CurrentBandListGet() implementation removed

V3.2.3 - 2007-08-31
- DANUBE device specific implementation added
  + Debug message dump functionality extended: 0xFF debug level used to enable
    message dump printouts in both direction (ME->ARC, ARC->ME) on each access
    (read or write)
  + DSL_DANUBE_CmvAccessTypeGet() implementation added
  + DSL_DANUBE_CmvByteCountGet() implementation added
  + DSL_DANUBE_CmvMessageDump() implementation added
  + DSL_DEV_DBG_DeviceMessageSend() check for unsupported opcodes added

V3.2.2 - 2007-08-27
user interface definition change(s):
- DSL_DataPathCountersTotalData_t within DSL_DataPathCountersTotal_t
  renamed to DSL_LinePathCountersTotalData_t; UnitsCrc, UnitsAlign,
  SingleCollisionFrames, MultipleCollisionFrames fields excluded from the
  DSL_DataPathCountersTotalData_t type
common:
- DSL_LinePathCountersTotalGet() function implementation added
- Added ioctls
  + DSL_FIO_LINE_PATH_COUNTERS_TOTAL_GET ioctl implemented
- DANUBE device specific implementation added
  + DSL_DEV_DBG_DeviceMessageSend() function implementation adapted to support
    additional opcodes
- VINAX device specific implementation added
  + DSL_DEV_LinePathCountersTotalGet() implementation added

V3.2.1 - 2007-08-24
user interface definition change(s):
- Added ioctls
  + DSL_FIO_AUTOBOOT_CONFIG_SET
  + DSL_FIO_AUTOBOOT_CONFIG_GET
- nFwId removed from the DSL_FirmwareRequestData_t type\
- DSL_FwDownloadStatusData_t type definition added
- New event definition added, DSL_EVENT_S_FIRMWARE_DOWNLOAD_STATUS
- DSL_AutobootCtrlSet_t type extended with  DSL_AUTOBOOT_CTRL_CONTINUE
- DSL_AutobootStatGet_t type extended with  DSL_AUTOBOOT_STATUS_LINK_ACTIVATE_WAIT
- DSL_AutobootConfig_t type definition added
- Added new field nAutobootConfig within DSL_InitData_t type
- Added DSL_WRN_NOT_ALLOWED_IN_CURRENT_STATE warning definition within
  DSL_Error_t type
- DSL_Autoboot_State_t type extended with new Autoboot state definition
  DSL_AUTOBOOTSTATE_LINK_ACTIVATE_WAIT
- new fields in the DSL Context structure
  + bAutobootContinue
  + nAutobootConfig
common:
- DSL_AutobootControlSet(), DSL_AUTOBOOT_CONTROL_CONTINUE handling added
- DSL_AutobootConfigSet() implementation added
- DSL_AutobootConfigGet() implementation added
- DSL_EventStatusMaskConfigSet/Get(), DSL_EVENT_S_FIRMWARE_DOWNLOAD_STATUS
  event handling added
- New Autoboot state added DSL_AUTOBOOT_LINK_ACTIVATE_WAIT
- DSL_AutobootStateCheck, DSL_AUTOBOOT_LINK_ACTIVATE_WAIT handling added
- DANUBE device specific implementation added
  + DSL_DEV_FwDownload(): DSL_EVENT_S_FIRMWARE_DOWNLOAD_STATUS event generation
    added
  + DSL_DEV_LinkActivate() implementation added
- VINAX device specific implementation added
  + DSL_DEV_FwDownload(): DSL_EVENT_S_FIRMWARE_DOWNLOAD_STATUS event generation
    added
  + DSL_DEV_LinkActivate() implementation added
Bug fix(es):
- VINAX (SMS00659348): ADSL/VDSL automode handling does not work correctly
  Corrected internal handling to "play" together with extended autoboot
  script handling (refer to UTP SMS00656161).

- VINAX (SMS00656161) possibility to send tunnel messages for configuration is missing
  Implementation adapted according to the description in the "Assignment Info Log"
  of the SMS00656161 issue
- Common (SMS00656158) g997lsg reports in ACTATP wrong values
  Issue found only for the VINAX VDSL mode. Fixed as workaround.
  The same fix is already found in the DSL CO API.
  The ACTAP US/DS values are swapped in the VDSL mode.

V3.2.0 - 2007-08-14
user interface definition change(s):
- Added additional firmware request type status 'DSL_FirmwareRequestData_t'
  within event (DSL_EventData_Union_t) and AutobootStausGet function
  (DSL_AutobootStatus_t)
Bug fix(es):
- Amazon-SE/Danube (SMS00658752): Mode select from the GUI does not work
  Corrected internal translation of modes that are included within OPTN 7
  within function DSL_DANUBE_ModeControlSet()

V3.1.1 - 2007-08-02
common:
- Changed polling times of following autoboot states to speed up the necessary
  time for recovering the link after an exception
  + DSL_AUTOBOOT_TRAINING_POLL_TIME   (5000ms -> 1000ms)
  + DSL_AUTOBOOT_INIT_POLL_TIME       (1000ms ->  100ms)
  + DSL_AUTOBOOT_DIAGNOSTIC_POLL_TIME (5000ms -> 1000ms)
  + DSL_AUTOBOOT_FW_READY_POLL_TIME   (1000ms ->  100ms)

V3.1.0 - 2007-08-01
-

V3.0.104 - 2007-07-31
user interface definition change(s):
- Added ioctls
  + DSL_FIO_INSTANCE_STATUS_GET
Bug fix(es):
- VINAX (SMS00645606): LineFeatureStatusGet (lfsg) is not functional
common:
- common implementation added
  + DSL_InstanceStatusGet() function added
  + DSL_IoctlInstanceHandleHelperCall() function added
  + Event handling implementation adapted according to the new requirements
    (instance specific, multiple open)
  * DSL_EventStatusMaskConfigSet/Get implementation adapted to be instance
    specific
  * DSL_G997_SnmpMessageReceive() implementation adapted to be instance specific
  * DSL_G997_AlarmMaskLineFailuresConfigSet() implementation adapted to be
    instance specific
  * DSL_G997_AlarmMaskDataPathFailuresConfigSet() implementation adapted to be
    instance specific
  + DSL_ERR_EVENTS_NOT_ACTIVE error code added
- DSL_BF_Event_t renamed back to DSL_EventType_t

V3.0.103 - 2007-07-30
user interface definition change(s):
- Removed ioctl
  + DSL_FIO_EVENT_ACTIVATION_CONTROL_SET
- Added ioctls
  + DSL_FIO_INSTANCE_CONTROL_SET
    (replacement for DSL_FIO_EVENT_ACTIVATION_CONTROL_SET)
  + DSL_FIO_INSTANCE_STATUS_GET (definition only by now)
  + DSL_FIO_LINE_PATH_COUNTER_TOTAL_GET (definition only by now)

V3.0.102 - 2007-07-27
Bug fix(es):
- VINAX (SMS00640221): Behaviour of g997csg is not correct.
   + implementation corrected, nActualDataRate copied to the nPreviousDataRate
     and reset to "0" after getting out of the showtime
- VINAX (SMS00649757) wrong number of parameters when writing xTC counters
   + CMD_G997_PTM_StatsSet (0x3953) message transferring corrected
- VINAX (SMS00649350) auto mode switching still leads to API blocking.
   + Unwanted behaviour, while sending unsupported FW messages: "API block" bug
     fixed
- VINAX (SMS00649839) VDSL-DELT-showtime: no FE parameters for SNR, HLOG, QLN;
  no DELT test parameter.
   + FE parameters added. FE nMeasurement is not available from FW (always
     returned as 0)
- VINAX (SMS00640362 ) auto restart is performed by API even if DELT is triggered.
   + In the VINAX VDSL mode all DELT parameters can be retrieved only in the
     SHOWTIME state. This means that after leaving the DIAG_COMPLETE state modem
     goes into RESET/READY state and waits for the opposite side to start the
     HS and reach the SHOWTIME. In the VINAX ADSL mode (only starting from
     ver.3.0.0) all DELT parameters are stored in the DSL CPE API internal
     memory when the DIAG_COMPLETE state has been reached.
     Also the complete FW reload takes place in the ADSL mode after DIAG_COMPLETE
     state. All DELT parameters could be retrieved later via the appropriate
     ioctl from the DSL CPE API internal memory.
- COMMON (SMS00636711) G997_LineStatusGet: latn and satn values are not correct
   + implementation corrected, see current UTP Assignment Info Log
- [VINAX] (SMS00636093) auto mode switching does not work
common:
- proc/version" entry support for the DSL CPE driver added
- DSL_EventType_t renamed to DSL_BF_EventType_t
- DSL_DataReset() renamed to DSL_CtxDataUpdate
- new fields in the DSL Context structure
   + ActualInterleaveDelayUs
   + ActualInterleaveDelayDs
   + ActualImpulseNoiseProtectionUs
   + ActualImpulseNoiseProtectionDs
   + nChannelActualDataRatePrevUs
   + nChannelActualDataRatePrevDs

V3.0.101 - 2007-07-20
Bug fix(es):
- DSL_EfmMacConfigSet(), input parameters checks added, see SMS00624450
- DSL_TestModeControlSet(), input parameters checks added, see SMS00624450
- DSL_PM_ChannelCountersThresholdsCrossingCheck(),
  DSL_PM_LineCountersThresholdsCrossingCheck(),
  DSL_PM_DataPathCountersThresholdsCrossingCheck,
  implementation corrected, see SMS00636756
common:
- DSL_AuxLineInventoryGet(), implementation corrected to retrieve FE data from
  the Context
- DSL_AutobootHandleFwReady(), implementation added to handle
  DSL_AUTOBOOTSTATE_FIRMWARE_READY state
- New field(s) in the DSL CPE API Context
   + auxInventoryFe
- VINAX device specific implementation added
   + DSL_VNX_AuxLineInventoryFeGet()
   * DSL_VNX_FeInventoryGet(): Aux FE inventory retrieve added

V3.0.100 - 2007-07-14
common:
- Event handling, DSL_FIO_EVENT_ACTIVATION_CONTROL_SET ioctl implemented
- Multiple open
  + new structures defined
    - DSL_EventActivationControlSetData_t
    - DSL_EventActivationControlSet_t
  + open instances list defined
  + new function implemented
    - DSL_DriverCleanup()
  * DSL Context structure was updated
    - bFirmwareEventAssigned - new field
    - event stuff was moved to open context structure
  + DSL_OpenContext_t (open context for upper layer) defined
  * DSL_IOCTL_arg_t structure updated
    - eventActivation - new field
  + new IOCTL defined DSL_FIO_EVENT_ACTIVATION_CONTROL_SET
  * DSL_FIO_EVENT_STATUS_GET ioctl was moved to common section
  * update implementation
    - DSL_DRV_Open()
    - DSL_DRV_Release()
    - DSL_DRV_Write()
    - DSL_DRV_Ioctls()
    - DSL_DRV_Poll()
    - DSL_ModuleCleanup()
    - DSL_EventQueue()
    - DSL_EventUnqueue()
    - DSL_DriverHandleGet()
    - DSL_DriverHandleDelete()
    - DSL_Cleanup()
    - DSL_IoctlHandle(): DSL_FIO_EVENT_STATUS_GET

V3.0.0 - 2007-07-13
user interface definition change(s):
- Added 'nDirection' parameter within DSL_G997_LastStateTransmitted_t structure
common:
- Danube/Amazon-SE: Added support for DSL_FIO_G997_LAST_STATE_TRANSMITTED_GET
  ioctl (currently only supported for downstream direction by firmware)

V2.7.105 - 2007-07-06
user interface definition change(s):
- Changed definition of enum type 'DSL_TcLayerSelection_t' and
  'DSL_SystemInterfaceSelection_t'. Added unknown state which has value of zero
  (as default in case of missing information from firmware)
- Chip version will be returned by VersionInformationGet() function if supported
  by LowLevel Driver
bugfix(es):
- Danube/Amazon-SE (SMS00634782): SYSTEM_INTERFACE_STATUS event generated with
  unstable status information
- Danube/Amazon-SE (SMS00634445): PTM support for Danube and Amazon-SE
  Implemented extended firmware version check
  + firmware version will be ready only once after firmware download stored
    version will be used for later checks
  + mismatch of major version (device) and application (Annex) are detected
  Minimum Firmware version for using PTM functionality are
  Danube:    2.1.2.C.1.1 and later
  Amazon-SE: 3.1.0.5.1.1 and later
- Amazon-SE (SMS00635092): CMV to indicate Amazon-SE silicon
  Implemented handling to inform the firmware about the currently used chip
  version (A11 and A12 versions are handled by now)
- SMS00629769: acs 0 related problems
  + new line state defined: DSL_LINESTATE_NOT_UPDATED
  * DSL_AutobootHandleRestart() updated to use new state
- Danube/Amazon-SE:
  + Corrected configuration of GPIO for LEDs (ADSL Link status and ADSL Data
    LED)
common:
- PM module VINAX device specific implementation added
  + DSL_PM_DEV_ChannelCountersSet()
  + DSL_PM_DEV_DataPathCountersSet()
  + DSL_PM_DEV_LineSecCountersSet()
  + DSL_PM_DEV_LineInitCountersSet()
- code cleaning up
  - #if 0 removed
  - some comments removed
  - naming corrected
  - code line lengths corrected
- footprint optimization
  - DSL_CTX_READ macro optimized, nErrCode checking removed
  - DSL_CTX_WRITE macro optimized, nErrCode checking removed
  - DSL_CTX_READ() macro was replaced by DSL_CTX_READ_SCALAR() where it is possible
  - DSL_CTX_WRITE() macro was replaced by DSL_CTX_READ_SCALAR() where it is possible

V2.7.104 - 2007-07-03
bugfix(es):
- Vinax: Hot fix to avoid division by zero within function
  DSL_PM_HistoryItemIdxGet() if compiling without line counters/thresholds

V2.7.103 - 2007-06-29
common:
- Added possibility to compile with FlexeLint
- Used FlexeLint for code analysis and to fix reported issues

V2.7.102 - 2007-06-27
bugfix(es):
- Danube/Amazon-SE:
  + BugFix for crash in case of using TI based DSLAM
  + SMS00631512: g997smr & g997sms do not work - Corrected implementation for
    internal data handling and storing to FIFO
  + Corrected implementation to handle/request power management state
  + Configuration for activating interrupts (i.e. CEOC) will be written after
    each firmware download
common:
- Resource usage optimizations (code size and runtime memory)
  * firmware using chunks download support corrected
    + DSL_AutobootLoadFirmwareData_t structure updated: field bLastChunk added
    * implementation updated
      - DSL_AutobootLoadFirmware()
      - DSL_FwDownload()
      - DSL_DEV_FwDownload() for Danube and Vinax
  + PM module generic implementation added
    + DSL_PM_IsPmReady()
  + G997 common implementation added
    - new data types defined to store internally DELT parameters
  + VINAX G997 device specific implementation added
    - DELT implementation adapted according to the new data types
  + DANUBE G997 device specific implementation added
    - DELT implementation adapted according to the new data types
    - DELT group size parameter support implemented
    - dynamic memory allocation for DELT implementation
      - DSL_DANUBE_G997_LoopDiagnosticCompleted() updated
      - DSL_Cleanup() updated
- VINAX device specific implementation added
  + DSL_VNX_DumpMessage()
  + DSL_VNX_CheckMessageDumpBlackList()
  * DSL_VNX_ChRequestMessage(): add message dump functionality
- ADSL MIB module
  + implementation
    - DSL_MIB_ADSL_LineExtEntrySet()
    - DSL_MIB_ADSL_LineExtEntryGet()

V2.7.101 - 2007-06-20
bugfix(es):
- Danube/Amazon-SE: Correction of PM channel counter handling according to
  fast/interleaved selection in ADSL1 (polling update and restore in case of FW
  reboot)
- Danube/Amazon-SE: Correction for software check of reboot criteria
  (actual SNR margin against MinSNR margin)
- Danube/Amazon-SE
  + Correction of PM channel counter handling according to fast/interleaved
    selection in ADSL1 (polling update and restore in case of FW reboot)
  + Correction for software check of reboot criteria (actual SNR margin against
    MinSNR margin)
  + Corrected CMV handling for configuration of showtime event logging
  + Corrected showtime entry handling to inform low level driver with datarate
    also in case of ADSL1 (fast path)
  + Added implementation to handle G.992.2 (ADSL1 lite) both within CMV
    configuration as well as for status information
- Danube/Amazon-SE (SMS00624853): Corrected implementation to activate showtime
  event logging buffer
common:
- build scripts updated
  + support for DSL_CPE_STATIC_DELT_DATA added
  + support of OpenWrt for VINAX added
- DELT data dynamic memory allocation
  + new IOCTL DSL_FIO_G997_DELT_FREE_RESOURCES implemented
  * DSL_VNX_LoopDiagnosticCompleteHandle() - updated
  * DSL_DANUBE_G997_LoopDiagnosticCompleted() - updated
  * DSL_Cleanup() updated
- L3 power state implementation
  - DSL_AutobootHandleRestart() updated: the leaving from the L3 state
    check added for counters save call
  - DSL_DEV_ShowtimeStatusUpdate() updated: L3 power mode handling fixed
  - DSL_DEV_AutobootHandleL3() updated: L3 power mode handling fixed
  - DSL_DEV_G997_PowerManagementStateForcedTrigger() for Danube fixed
- bugfixes
  * DSL_DEV_ShowtimeStatusUpdate(): call to DSL_DANUBE_PowerStatusHandle() fixed
  * mutex application in the DELT functions added
    - DSL_DEV_G997_DeltHlinScaleGet() updated
    - DSL_DEV_G997_DeltHlinGet() updated
    - DSL_DEV_G997_DeltHlogGet() updated
    - DSL_DEV_G997_DeltQLNGet() updated
    - DSL_DEV_G997_DeltSNRGet() updated
- ADSL MIB module
  + implementation
    - DSL_MIB_ADSL_LineExtEntrySet()
    - DSL_MIB_ADSL_LineExtEntryGet()
    - DSL_MIB_ADSL_TrapsGet()
    - DSL_MIB_ADSL_ExtTrapsGet()
    - API support for ADSL MIB traps
      - new types defined: DSL_MIB_ADSL_Thresholds_t, DSL_MIB_ADSL_Context_t
      - drv_dsl_cpe_intern_mib.h added to main DSL CPE API internal header
      - new field MibAdslCtx added to DSL Context
      - line second traps implemented
        - DSL_PM_LineCountersThresholdsCrossingCheck() updated
      - line init traps implemented
        - DSL_PM_LineCountersThresholdsCrossingCheck() updated
      - data rate traps implemented
        - DSL_DANUBE_ChannelRateUpdate() updated
        - DSL_VNX_OnEventChannelDataRateThresholdCrossingUpdate() updated
  - DSL_MIB_ADSL_AlarmConfProfileExtEntrySet()
  - DSL_MIB_ADSL_AlarmConfProfileExtEntryGet()
- Danube/Amazon-SE: Added Low Level Driver call (DSL_FIO_BSP_FREE_RESOURCE) to
  free firmware resources after showtime entry and last codeswap has been
  finished

V2.7.100 - 2007-06-11
common:
- build scripts updated
  + new option INCLUDE_DSL_CPE_PM_OPTIONAL_PARAMETERS added
- autoboot thread reboot criteria check updated
  + new function DSL_DEV_ShowtimeRebootCheck() for Danube and VINAX implemented
  * DSL_AutobootHandleShowtime() updated
  + new enum defined DSL_DEV_RebootCheckResult_t
- DANUBE specific implementation
  + new implementation
    - DSL_DEV_G997_LineTransmissionStatusGet()
- ADSL MIB implementation
  + DSL_MIB_ADSL_LineAlarmConfProfileEntryGet()
  + DSL_MIB_ADSL_LineAlarmDataRateGet()
  + DSL_MIB_ADSL_LineAlarmDataRateSet()
  + DSL_MIB_ADSL_LineAlarmConfProfileEntrySet()
  + DSL_MIB_ADSL_LineExtEntrySet()
  + DSL_MIB_ADSL_LineExtEntryGet()
  * handling of INCLUDE_DSL_CPE_PM_OPTIONAL_PARAMETERS compiler switch added

V2.7.1 - 2007-06-08
bugfix(es):
- LED module optimizations

V2.7.0 - 2007-06-06
user interface definition change(s):
- Added GroupSize parameter for the following DELT functions (currently not
  supported)
  + DSL_G997_DeltHlinGet
  + DSL_G997_DeltHlogGet
  + DSL_G997_DeltQLNGet
  + DSL_G997_DeltSNRGet
common:
- Amazon-SE: Included handling for ADSL Data LED
bugfix(es):
- Danube/Amazon-SE (SMS00622712): Corrected data rate reporting for ADSL1 in
  fast mode
- Amazon-SE (SMS00626081): Corrected firmware version check for decision whether
  the ATM/PTM selection is supported (Amazon-SE >= FS1 supports it)
- Corrected build of driver archive (lib_dsl_cpe_api.a) to include device
  specific functionality.
- Corrected handling for showtime SNR handling in ADSL1 mode (g997lsg)

V2.6.105 - 2007-06-01
common:
- comments added to dsl_cpe_api_intern.h
- _DSL_CTX_READ and _DSL_CTX_WRITE macros fixed
- DANUBE specific implementation
  + new implementation
    - DSL_DEV_G997_LineTransmissionStatusGet()
    - DSL_DEV_G997_LastStateTransmittedGet()
  * DSL_DEV_G997_SnrAllocationNscGet() fixed for US: the number of
    returned values corrected accordingly Annex type and current ADSL mode
- Footprint optimization
  - some comments added
  - pContext checks analyzed and removed
    - DSL_DANUBE_G997_ActPSD_Get()
    - DSL_DANUBE_PowerStatusSet()
    - DSL_DANUBE_PowerStatusHandle()
    - DSL_DANUBE_ModemReset()
    - DSL_DANUBE_ChannelRateUpdate()
    - DSL_DANUBE_HdlcStatusGet()
    - DSL_DANUBE_HdlcResolvedGet()
    - DSL_DANUBE_HdlcSend()
    - DSL_DANUBE_L3StatusGet()
- VINAX specific implementation
  + new implementation
    - DSL_VNX_ChReadMessage()
    - VDSL DELT FE/ADSL parameters support added
    - DSL_VNX_HandleMessage()
    - DSL_VNX_DeltFeUpdate
    - DSL_VNX_DeltArrayParamsQuery
    - DSL_VNX_AdslDeltAllDataGet()
    - DSL_VNX_DeltHlinGet()
  * DSL_DEV_G997_DeltHlogGet(): VDSL FE/ADSL parameters support added
  * DSL_DEV_G997_DeltQLNGet(): VDSL FE/ADSL parameters support added
  * DSL_DEV_G997_DeltSNRGet(): VDSL FE/ADSL parameters support added
  * DSL_VNX_SendMsgTestParamsAuxGet():
    function renamed to DSL_VNX_SendMsgTestParamsAuxUpdate()
  * DSL_VNX_DeltHlogGet(): moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_DeltHlinGet(): moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_DeltSnrGet(): moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_DeltQlnGet(): moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_G997_FramingParameterStatusVdsl1Get():
    moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_G997_FramingParameterStatusVdsl2Get():
    moved to the "drv_dsl_cpe_device_vinax.c"
  * DSL_VNX_G997_FramingParameterStatusAdslGet():
    moved to the "drv_dsl_cpe_device_vinax.c"

V2.6.104 - 2007-05-25
common:
- Danube specific implementation
- VINAX specific implementation
  - DSL_VNX_ModemRestart() removed
  - Duplicated NULL-pointer checks removed
  + new implementation
    - DSL_VNX_LoopDiagnosticCompleteHandle()
- G997 implementation
  + new implementation
    - DSL_G997_LineTransmissionStatusGet()
    - DSL_G997_LastStateTransmittedGet()
  + new device interface functions added
    - DSL_DEV_G997_LineTransmissionStatusGet()
    - DSL_DEV_G997_LastStateTransmittedGet()
- PM implementaion
  - bActivate flag check added to DSL_PM_BurninModeSet()
- Danube specific PM implementation
  * line state checks corrected

V2.6.103 - 2007-05-15
common:
- Updated license within file headers
- Removed configure option '--enable-adsl-latency'. To activate dual latency the
  new option '--with-channels-per-line' has to be used with a value of '2'

V2.6.102 - 2007-05-11
common:
- new ioctls added
  + DSL_FIO_PM_ELAPSED_TIME_RESET
  + DSL_FIO_PM_BURNIN_MODE_SET
  + DSL_FIO_PM_SYNC_MODE_SET
  + DSL_FIO_PM_RESET
  + DSL_FIO_PM_15MIN_ELAPSED_EXT_TRIGGER
  + DSL_FIO_EFM_MAC_CONFIG_SET
  + DSL_FIO_EFM_MAC_CONFIG_GET
- PM module implementation added
  + DSL_PM_Reset()
  + DSL_PM_ChannelCountersReset()
  + DSL_PM_LineCountersReset()
  + DSL_PM_DataPathCountersReset()
  + DSL_PM_15MinElapsedExtTrigger()
  + INCLUDE_DSL_CPE_PM_TOTAL_COUNTERS configuration added
  * DSL_PM_SyncTimeUpdate() : showtime interval trigger point changed
  * DSL_PM_ChannelCountersShowtimeGet() : implementation changed to
    support accumulated sum over the requested intervals
  * DSL_PM_DataPathCountersShowtimeGet() : implementation changed
    to support accumulated sum over the requested intervals
  * DSL_PM_LineSecCountersShowtimeGet() : implementation changed
    to support accumulated sum over the requested intervals
  * DSL_PM_LineInitCountersShowtimeGet() : implementation changed to
    support accumulated sum over the requested intervals
  * DSL_PM_ThreadNe() : processing sequence changed
- VINAX device specific implementation added
  + DSL_EfmMacConfigSet()
  + DSL_EfmMacConfigGet()
- common implementation added
  * DSL_AutobootFwWait() : FW request on timeout removed
- congiguration options changed
  * "--inc-dsl-pm-line-init-counters" renamed
    to "--inc-dsl-pm-line-counters"
  * "--inc-dsl-pm-line-init-thresholds" renamed
    to "--inc-dsl-pm-line-thresholds"
- test modes extended
  - implementation of DSL_TESTMODE_TRAINING_LOCK
  - implementation of DSL_TESTMODE_LOCK
bugfix(es):
- Common: PM module lock/unlock during FW reload fixed.
  PM mutex was unlocked twice and this caused the PM module
  to continue FW polling during reload procedure.
- issue within DSL_DANUBE_G997_DeltSNRGet() regarding correct SNR values
  boundary checking fixed
- DSL_DEV_G997_SnrAllocationNscGet() fixed for US
- DANUBE device specific implementation updated
  - superfluous semaphore unlock fixed

V2.6.101 - 2007-05-08
-

V2.6.100 - 2007-05-07
common:
- added configuration options for the following macros:
  - INCLUDE_DSL_CPE_PM_SHOWTIME_COUNTERS
  - INCLUDE_DSL_CPE_PM_HISTORY
  - INCLUDE_DSL_CPE_PM_TOTAL_COUNTERS
- ADSL MIB updated to fullfil latest changes of PM interface
- PM module generic implementation added
  * DSL_PM_SyncTimeUpdate() : change implementation to support Showtime counters
  * DSL_PM_HistoryUpdate() : change implementation to support Showtime counters
  * DSL_PM_ChannelCountersUpdate() : change implementation to support Showtime
    counters
  * DSL_PM_LineCountersUpdate() : change implementation to support Showtime
    counters
  * DSL_PM_DataPathCountersUpdate() : change implementation to support Showtime
    counters
  + DSL_PM_ChannelCountersShowtimeGet()
  + DSL_PM_LineSecCountersShowtimeGet()
  + DSL_PM_LineInitCountersShowtimeGet()
  + DSL_PM_DataPathCountersShowtimeGet()
bugfix(es):
- incorrect error printout conditions fixed in the PM counters get functions

V2.6.2 - 2007-05-07
bugfix(es):
- Danube/Amazon-SE: corrected low level driver specific include file within
  "drv_dsl_cpe_device_danube.h" to be build within kernel context

V2.6.1 - 2007-05-02
bugfix(es):
- Vinax: use default value (0) for DSL_DEV_VINAX_CPE_DEFAULT_LINE
  to allow standard builds without extra CFLAGS
- Amazon-SE: corrected low level driver specific include file within
  "drv_dsl_cpe_device_danube.h"

V2.6.0 - 2007-04-30
bugfix(es):
- fix MODULE_PARM for linux kernel 2.6
removed file(s):
- Danube: "drv_dsl_cpe_bsp_danube.h" definitions of low level driver interface
  shall be used from low level driver directly. Therefore the configure option
  '--enable-driver-include' has to be used to specify the appropriate path
common:
- Added configure option to building for Amazon-SE target
- Danube/Amazon-SE: Adaptations within low level driver interface requires
  minimum version of low level driver of V3.0.0 for Danube and V2.0.1 for
  Amazon-SE
- Implemented common handling for callback support of following features
  + Dying gasp
  + CEOC message received
  + Firmware reboot request
- Vinax: Removed preprocessor definition "DSL_DEV_VINAX_CPE_DEFAULT_LINE=1" from
  file drv_dsl_cpe_device_vinax.h". Shall be defined within additional CFLAGs
  for more flexibility
- change name from "nDebugLevel" to "debug_level" (common name for all drivers!)

V2.5.104 - 2007-04-28
common:
- autoboot state machine
  + new autoboot state added: DSL_AUTOBOOTSTATE_L3
  * DSL_AutobootHandleShowtime() updated to handle L3
  * DSL_AutobootStateCheck() updated - handling for DSL_AUTOBOOTSTATE_L3
    state added
- common implementation
  * DSL_SystemInterfaceConfigGet() - updated
  * DSL_SystemInterfaceConfigSet() - updated
  + DSL_SystemInterfaceStatusGet() - new function
  + new fields in the DSL Context structure
    - PowerManagementL3Forced
    - nFwUnavailableTime
  * DSL_BF_EfmTcConfig_t definition fixed
  * DSL_AutobootLoadFirmware() : implementation changed to allow FW download
    from any state
- device specific interface
  + new prototypes added
    - DSL_DEV_AutobootHandleL3()
    - DSL_DEV_SystemInterfaceConfigSet()
    - DSL_DEV_SystemInterfaceConfigGet()
    - DSL_DEV_SystemInterfaceStatusGet()
- new error codes defined:
  - DSL_ERR_L3_UNKNOWN_FAILURE
  - DSL_ERR_L3_NOT_IN_L0
  - DSL_ERR_L3_TIMED_OUT
  - DSL_ERR_L3_REJECTED
- Danube specific implementation
  + System Interface Configuration added to device context data
  + new fields in the Danube specific data added: sysCIF, sysCIFSts
  + DSL_LX_TO_L3_ATTEMPT_COUNT definition added
  * header file drv_dsl_cpe_device_danube.h corrected
    - guard brakets corrected
  * DSL_DANUBE_LineFailuresUpdate(): L3 state check added, ADSL1 support added
  + new CMVs added:
    - addresses:
        - DSL_CMV_ADDRESS_INFO_DS_BIT_LOAD_FIRST
        - DSL_CMV_ADDRESS_INFO_DS_BIT_LOAD_LAST
        - DSL_CMV_ADDRESS_INFO_EXCESS_MARGIN
        - DSL_CMV_ADDRESS_STAT_L3_REQUEST
        - DSL_CMV_ADDRESS_STAT_L3_FAILURE_REASON
        - DSL_CMV_ADDRESS_RATE_DATA_NFEC_US_LP1
        - DSL_CMV_ADDRESS_RATE_DATA_NFEC_US_LP0
        - DSL_CMV_ADDRESS_RATE_DATA_NFEC_DS_LP1
        - DSL_CMV_ADDRESS_RATE_DATA_NFEC_DS_LP0
        - DSL_CMV_ADDRESS_CNTL_L3_REQUEST
        - DSL_CMV_ADDRESS_INFO_SYSTEM_INTERFACE
    - new indices
        - DSL_CMV_PMD_INDEX_NOMINAL_PSD_US
        - DSL_CMV_SYSTEM_INTERFACE_INDEX_CONFIG
        - DSL_CMV_SYSTEM_INTERFACE_INDEX_STATUS
  + new implementation
    - DSL_DEV_AutobootHandleL3()
    - DSL_DEV_G997_PowerManagementStateForcedTrigger
  + PTM/ATM support
    - DSL_DANUBE_VersionFS2Check()
    - DSL_DANUBE_SystemInterfaceStatusUpdate()
    - DSL_DANUBE_SystemInterfaceConfigCheck() - new function
    - DSL_DANUBE_VersionFS2Check() - new function
    - DSL_DEV_SystemInterfaceConfigSet() - new function
    - DSL_DEV_SystemInterfaceConfigGet() - new function
    - DSL_DEV_SystemInterfaceStatusGet() - new function
    - DSL_DEV_AutobootHandleStart() updated
    - DSL_DEV_AutobootHandleTraining() updated for PTM
    - DSL_DEV_DeviceInit() updated for PTM
- VINAX G997 device specific implementation added
   +  DSL_DEV_G997_PowerManagementStateForcedTrigger()
- VINAX device specific implementation added
   * DSL_VNX_SendMsgHsToneGroupSet() : implementation synchronized to
     the latest changes in the DSL API (CO)
   * DSL_VNX_SendMsgBearerChSet() : implementation synchronized to the
     latest changes in the DSL API (CO)
   * DSL_DEV_LowLevelConfigurationSet() : implementation synchronized
     to the latest changes in the DSL API (CO)
   * DSL_VNX_SendMsgAlgorithmControl() : implementation synchronized to
     the latest changes in the DSL API (CO)
   * DSL_VNX_SendMsgDigitalFilter() : add new (POTS_3) digital filter support
   * DSL_VNX_SendMsgHybridSelect() : add new (F1_998E17_U0) hybrid support
   + DSL_DEV_AutobootHandleL3() function implementation
- PM module implementation added
   + DSL_PM_HistoryDelete()
   + DSL_PM_ChannelCountersReset() : partly implemented
   + DSL_PM_LineCountersReset() : partly implemented
   + DSL_PM_DataPathCountersReset() : partly implemented
   * bPmLock flag check added to all PM API functions to avoid
     access during PM Lock
   * Elapsed time for PM total counters now starting at zero on
     startup of DSL CPE API independently of the PM_SYNC_MODE
bugfix(es):
- Danube specific implementation
  - DSL_DANUBE_G997_ActPSD_Get() - new algorithm implemented
  - DSL_DEV_G997_FramingParameterStatusGet() updated:
    - nFEC getting implemented
    - nINTLVBLOCK is always set to 0
  - DSL_DANUBE_G997_DeltSNRGet() updated: invalid values corrected

V2.5.103 - 2007-04-20
common:
- Linux OS part: module parameter for initial debug levels definition
  added
- New IOCTLs implemented
  + DSL_FIO_G997_POWER_MANAGEMENT_STATE_FORCED_TRIGGER
  + DSL_FIO_G997_POWER_MANAGEMENT_STATUS_GET
- G997 common implementation added
  + DSL_G997_PowerManagementStateForcedTrigger()
  + DSL_G997_PowerManagementStatusGet()
- DANUBE device specific implementation updated and fixed
  * DSL_PM_DEV_ChannelCountersGet() fixed to return right values
  * DSL_PM_DEV_DataPathCountersGet() fixed to return right values
  * DSL_PM_DEV_LineSecCountersGet() fixed to return right values,
    set nLOFS to zero
  * DSL_DANUBE_LineFailuresUpdate() is fixed
  * DSL_DANUBE_G997_DeltSNRGet() is fixed
- VINAX device specific implementation added
  + VINAX Automode Control
  + DSL_VNX_CamFsmStateSet()
  + DSL_VNX_CamFsmStateGet()
  + DSL_VNX_CamFsmEnable()
  + DSL_VNX_CamFwLoadNeededCheck()
  + DSL_VNX_CamExceptionHandle()
  + DSL_VNX_SendMsgSpar1Get()
  + DSL_DEV_FramingParametersStatusGet()
  + DSL_VNX_FramingParametersVdsl2StatusGet()
  + DSL_VNX_FramingParametersAdslStatusGet()
  + VINAX Power Management States handling
  + DSL_DEV_G997_PowerManagementStateForcedTrigger()
  + DSL_VNX_PowerManagementStatusSet()
  + "DSL_EVENT_S_LINE_POWERMANAGEMENT_STATE" event handling
- New fields in the DSL CPE Context
  + bSEM_PowerMgmtState
  + powerMgmtStatus

V2.5.102 - 2007-04-19
user interface definition change(s):
- Added ioctls for TR-98 counters (currently only dummy implementation which
  returns fixed values!)
  + DSL_FIO_PM_LINE_SEC_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_LINE_INIT_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_CHANNEL_COUNTERS_SHOWTIME_GET
  + DSL_FIO_PM_DATA_PATH_COUNTERS_SHOWTIME_GET
- Added ioctl for getting the system interface status
  + DSL_FIO_SYSTEM_INTERFACE_STATUS_GET
- Extended ioctls for configuration/status of TPS TC configuration options
  + DSL_FIO_SYSTEM_INTERFACE_CONFIG_SET
  + DSL_FIO_SYSTEM_INTERFACE_CONFIG_GET
bugfix(es):
- Fix adaption for linux kernel 2.6 (tested against 2.6.19)
- Fix ioctl definition for DSL_FIO_G997_GAIN_ALLOCATION_NSC_GET,
  DSL_FIO_G997_GAIN_ALLOCATION_NSC_GET and DSL_FIO_G997_DELT_HLOG_GET
  (structure too big for VDSL2)
- small fixes for gcc 4.x-compatibility

V2.5.101 - 2007-04-13
documentation:
- new file doc/api/org_fig/autoboot_sm.vsd - autoboot state machine figure
bugfix(es):
- DSL_DANUBE_G997_DeltHlinGet() fixed data elements number
- DSL_DANUBE_G997_DeltQLNGet() fixed
- new semaphore for initialization critical section
  added (DSL_Context_t.initMutex), DSL_ModulesInit() fixed to use this semaphore
- DSL_AutobootControlSet() is updated to use DSL_ModulesInit(),
  Autoboot start conditions is applied
- update DSL_LINESTATE_LOOPDIAGNOSTIC_COMPLETE state handling
  in the Danube part to read current ADSL mode
- Fix "DELT timeout" issue. In the selected DELT mode the Autoboot timeout
  is set to 360 sec, otherwise - to 120 sec
- Cross check all available DELT data
- Fix "pmlsc15mg, pmlsc1dg" issue.
  PM module generic implementation corrected
- Fix "nUAS down counting" issue.
  PM module generic implementation corrected
- Fix "Channel counters" issue for the VINAX device. All channel counters
  checked
- Fix "LOS/LOF polling" issue for the VINAX device. LOS/LOF bits
  are successfully updated and reported by events
- Fix "Autoboot Control Set" issue for the VINAX device. Implementation
  corrected
- DSL_DEV_FwDownload() (Danube) updated
- functionality to restart autoboot from the API error is added
common:
- refactoring
  * DSL_ModemReset() renamed to DSL_LinkReset()
  * DSL_DEV_ModemReset() renamed to DSL_DEV_LinkReset()
- DSL_DANUBE_ChannelStatusUpdate() is now global
- CEOC module implementation added
  * CEOC context pointer check modified in the CEOC API functions
- PM module implementation added
  + DSL_PM_Restart()
  * PM context pointer check modified in all PM API functions
- VINAX device specific implementation added
   *  DSL_DEV_ModemReset() renamed to DSL_DEV_LinkReset()
- Align all debug printouts
- Added autoboout functionality to initialize DSL CPE API without
  specified FW
- Danube part G997 implementation
  + new function DSL_DEV_G997_FramingParameterStatusGet()
  + new CMVs
    - DSL_CMV_ADDRESS_CNFG_DATA_NFEC_US
    - DSL_CMV_ADDRESS_CNFG_DATA_NFEC_DS
    - DSL_CMV_ADDRESS_CNFG_DATA_INTLVBLOCK_US
    - DSL_CMV_ADDRESS_CNFG_DATA_INTLVBLOCK_DS
    - DSL_CMV_ADDRESS_CNFG_DATA_INTLVDEPTH_US
    - DSL_CMV_ADDRESS_CNFG_DATA_INTLVDEPTH_DS
- Danube part implementation
  + new functions
    - DSL_DANUBE_LineInventoryNeRead()
    - DSL_DANUBE_LineInventoryFeRead()
  * DSL_DANUBE_OnLineInventoryFe() updated
  * DSL_DEV_G997_LineInventoryGet() - reimplementation
  + new modem control definition
    - DSL_CMV_ADDRESS_ARG_CNTL_MODEM_STOP
  - Danube CEOC module
    - new function DSL_EventCB()
    - new style event callback DSL_NewStyle_EventCB()
    - DSL_DEV_DriverHandleGet() and DSL_DEV_DriverHandleDelete()
      updated for new style callbacks
    - DSL_DEV_AutobootHandleStart() updated
  * refactoring
    - DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_FE renamed to
      DSL_CMV_ADDRESS_INFO_VENDORID_G994_FE
    - DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_NE renamed to
      DSL_CMV_ADDRESS_INFO_VENDORID_G994_NE
  + new CMVs added
    - DSL_CMV_ADDRESS_INFO_REBOOT_INT_CONFIG
    - DSL_CMV_ADDRESS_INFO_REBOOT_INT_INFO
    - DSL_CMV_ADDRESS_OPTN_UTOPIA_ADDRESS
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEUS_FLAG_ADSL2_MSGLp
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEUS_FLAG_ADSL2_MSGc
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEDS_FLAG_ADSL2_MSGLp
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEDS_FLAG_ADSL2_MSGc

V2.5.100 - 2007-04-09
bugfix(es):
- Corrected function call in case of using ioctl
  DSL_FIO_G997_GAIN_ALLOCATION_NSC_GET which returned SNR values before
- PM module history statistics nPrevIvs initialization value corrected
- PM module "ElapsedTime" issue
- "Actual Impulse Noise Protection" cross check with DSL API (CO), correct
  equations
- Fix "sics"/"sicg" issue. Incorrect CLI commands caused the unwanted behaviour.
  Implementation corrected
- Fix LATN,SATN issue. Zero values are reported by the VINAX FW. This issue
  needs further clarification from the FW point of view
- Fix PM module history interval shift issue. b15minElapsedFlag and
  b1dayElapsedFlag were not reseted
- Fix PM module History Intervals issue. Implementation corrected
- Fix "DELT timeout" issue, autoboot timeout set to 360 sec in case of activated
  DELT
- Fix "pmlsc15mg, pmlsc1dg" issue, implementation corrected
- Fix "nUAS down counting" issue, implementation corrected
- rearrange of DSL_DBG_ERR/DSL_DBG_MSG usage in the Danube part
- Incorrect channel range printout issue fixed
- '\n' is replaced by DSL_CRLF
- '\r\n' is replaced by DSL_CRLF
- function entrance/leaving debug printouts updated
new features (G.997.1):
- DSL_G997_FramingParametersStatusGet()
common:
- DANUBE device specific implementation updated
  * DSL_DEV_AutobootHandleStart(): NE inventory handling
  * DSL_DANUBE_OnLineInventoryFe()
  * DSL_DEV_G997_LineInventoryGet() - reimplementation
- DANUBE device specific implementation added
  + new CMVs added
    - DSL_CMV_ADDRESS_INFO_REBOOT_INT_CONFIG
    - DSL_CMV_ADDRESS_INFO_REBOOT_INT_INFO
    - DSL_CMV_ADDRESS_OPTN_UTOPIA_ADDRESS
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEUS_FLAG_ADSL2_MSGLp
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEUS_FLAG_ADSL2_MSGc
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEDS_FLAG_ADSL2_MSGLp
    - DSL_CMV_ADDRESS_CNFG_DATA_RATEDS_FLAG_ADSL2_MSGc
  + DSL_DEV_FramingParameterStatusGet()
  + DSL_DEV_UtopiaAddressConfigGet()
  + DSL_DEV_UtopiaAddressConfigSet()
  + DSL_DANUBE_LineInventoryNeRead()
  + DSL_DANUBE_LineInventoryFeRead()
  + CEOC Module:
    - new functions:
      - DSL_EventCB()
      - DSL_NewStyle_EventCB()
- VINAX device specific implementation added
  + DSL_LowLevelConfigurationSet()
  + DSL_LowLevelConfigurationGet()
  + DSL_DEV_LowLevelConfigurationSet()
  + DSL_DEV_G997_FramingParametersStatusGet()
  + DSL_VNX_G997_FramingParametersStatusVdsl1Get()
  + DSL_VNX_G997_FramingParametersStatusVdsl2Get()
  + DSL_VNX_G997_FramingParametersStatusAdslGet()
- New IOCTLs implemented
  + DSL_FIO_LOW_LEVEL_CONFIGURATION_SET
  + DSL_FIO_LOW_LEVEL_CONFIGURATION_GET
  + DSL_FIO_G997_FRAMING_PARAMETERS_STATUS_GET
  + DSL_FIO_FRAMING_PARAMETER_STATUS_GET
- New interface function
  + DSL_FramingParameterStatusGet()
- refactoring
  - DSL_DEBUG removed, DSL_DEBUG_NOLINE renamed to DSL_DEBUG
  - DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_FE renamed to
    DSL_CMV_ADDRESS_INFO_VENDORID_G994_FE
  - DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_NE renamed to
    DSL_CMV_ADDRESS_INFO_VENDORID_G994_NE

V2.5.0 - 2007-03-30
bugfix(es):
- Danube: Fixed segmentation fault in case of requesting DELT data
- Do not copy data to/from context in case of size mismatch!

V2.4.5 - 2007-03-29
- VINAX SAR device specific implementation added
  + DSL_SAR_VNX_SegmentationCountersGet()
  + DSL_SAR_VNX_ReassemblyCountersGet()
- New IOCTLs implemented
  + DSL_FIO_SAR_CONFIG_SET
  + DSL_FIO_SAR_CONFIG_GET
  + DSL_FIO_SAR_SEGMENTATION_TABLE_SET
  + DSL_FIO_SAR_SEGMENTATION_TABLE_GET
  + DSL_FIO_SAR_REASSEMBLY_TABLE_SET
  + DSL_FIO_SAR_REASSEMBLY_TABLE_GET
  + DSL_FIO_SAR_SEGMENTATION_COUNTERS_GET
  + DSL_FIO_SAR_REASSEMBLY_COUNTERS_GET
  + DSL_FIO_G997_LINE_INIT_STATUS_GET
  + DSL_FIO_SYSTEM_INTERFACE_CONFIG_SET
  + DSL_FIO_SYSTEM_INTERFACE_CONFIG_GET
  + DSL_FIO_BAND_PLAN_SUPPORT_GET
  + DSL_FIO_BAND_PLAN_STATUS_GET
  + DSL_FIO_UTOPIA_ADDRESS_CONFIG_SET
  + DSL_FIO_UTOPIA_ADDRESS_CONFIG_GET
- Common implementation
  + DSL_SystemInterfaceConfigSet()
  + DSL_SystemInterfaceConfigGet()
  + DSL_SAR_ConfigSet()
  + DSL_SAR_ConfigGet()
  + DSL_SAR_SegmentationTableSet()
  + DSL_SAR_SegmentationTableGet()
  + DSL_SAR_ReassemblyTableSet()
  + DSL_SAR_ReassemblyTableGet()
  + DSL_SAR_SegmentationCountersGet()
  + DSL_SAR_ReassemblyCountersGet()
  + DSL_BandPlanStatusGet()
  + DSL_BandPlanSupportGet()
  + DSL_UtopiaAddressConfigSet()
  + DSL_UtopiaAddressConfigGet()
- New fields in the DSL Context
  + lineInitRetryCount
- ADSL MIB module
  + implementation
    - DSL_MIB_ADSL_ChanPerfDataEntryGet()
    - DSL_MIB_ADSL_ChanIntervalEntryGet()
    - DSL_MIB_ADSL_IntervalExtEntryGet()
    - DSL_MIB_ADSL_PerfDataExtEntryGet()
- new OS layer definitions:
  - DSL_OS_ModUseCountIncrement()
  - DSL_OS_ModUseCountDecrement()
- G997 implementation
  - new structure DSL_G997_DeltData_t to store all DELT data
- G997 Danube specific implementation
  - DELT redesign
    - new field DELT in the DSL_Context structure
    - new functions
      - DSL_DANUBE_G997_LoopDiagnosticCompleted()
      - DSL_DANUBE_G997_DeltHlinScaleGet()
      - DSL_DANUBE_G997_DeltHlinGet()
      - DSL_DANUBE_G997_DeltHlogGet
      - DSL_DANUBE_G997_DeltQLNGet()
      - DSL_DANUBE_G997_DeltSNRGet()
    - DELT interface functions was updated to read all data from DSL Context

V2.4.4.1 - 2007-03-27
- ADSL MIB module
  + implementation
    - DSL_MIB_ADSL_PerfDataEntryGet()
    - DSL_MIB_ADSL_IntervalEntryGet()
- Clear EOC module DANUBE device specific implementation
  + implementation
    - DSL_CEOC_DEV_MessageSend()
    - DSL_CEOC_DANUBE_DataRead()
    - DSL_CEOC_DANUBE_MessageReceive()
    - DSL_CEOC_DEV_MessageReceive()

V2.4.4 - 2007-03-23
- update common implementation
  - Line state changed event generation is moved
    from DSL_LineStateUpdate() to DSL_LineStateSet()
- autoboot thread updates
  - DSL_AutobootThreadInit() is updated to set
    DSL_LINESTATE_NOT_INITIALIZED only once
  - line state setting is updated in the autoboot thread
  - link loss detection issue fixed
- Device specific interface
  - DSL_DEV_CEOC_FirmwareInit() removed
- G997 implementation (common and device specific) for
  the DSL_G997_LineInventoryGet/Set() corrected. All inventory data stored in
  the DSL Context
- new fields in the DSL Context:
  + lineInventoryNe
  + lineInventoryFe
  * nRestartTime removed
  + nLPath
-New IOCTLs implemented
  + DSL_FIO_G997_SNMP_MESSAGE_SEND
  + DSL_FIO_G997_SNMP_MESSAGE_RECEIVE
- G997 generic implementation added
  + DSL_G997_SnmpMessageSend()
  + DSL_G997_SnmpMessageReceive()
- PM module generic implementation
  + UAS specific handling added
- Clear ECO module generic implementation added
  + DSL_CEOC_Start()
  + DSL_CEOC_Stop()
  + DSL_CEOC_Restart()
  + DSL_CEOC_Thread()
  + DSL_CEOC_MessageSend()
  + DSL_CEOC_MessageReceive()
  + DSL_CEOC_SnmpMessageRead()
  + DSL_CEOC_SnmpMessageWrite()
  + DSL_CEOC_MessageRead()
  + DSL_CEOC_MessageWrite()
  + DSL_CEOC_CallbackHandle()
  + DSL_CEOC_InternalDevOpen()
  + DSL_CEOC_InternalDevClose()
  + DSL_CEOC_InternalMessageSend()
  + DSL_CEOC_InternalCbRegister()
- Clear EOC module VINAX device specific implementation added
  + DSL_CEOC_DEV_Start()
  + DSL_CEOC_DEV_Stop()
  + DSL_CEOC_DEV_Restart()
  + DSL_CEOC_DEV_MessageSend()
  + DSL_CEOC_DEV_MessageReceive()
- Clear EOC module DANUBE device specific implementation added
  + DSL_CEOC_EventCB()
  + DSL_DANUBE_CEOC_FirmwareInit()
  + DSL_CEOC_DEV_Start()
  + DSL_CEOC_DEV_Stop()
  + DSL_CEOC_DEV_Restart()
  + DSL_CEOC_DEV_MessageSend()
  + DSL_CEOC_DEV_MessageReceive()
  + new fields in the device specific data structure: CeocWaitQueue, bCeocRx
- VINAX device specific implementation added
  + DSL_VNX_PollDrvForModemResetState()
  * DSL_DEV_AutobootHandleStart(): Modem State polling added
- DANUBE device specific implementation added
  + DSL_DANUBE_ChannelStatusUpdate()
  * DSL_DEV_G997_LineInventorySet() is renamed to DSL_DANUBE_LineInventoryWrite()
- New files added
  + ceoc/drv_dsl_cpe_intern_ceoc.c
  + include/drv_dsl_cpe_api_ceoc_intern.h

V2.4.3.1 - 2007-03-20
common:
- ADSL MIB module
  + implementation
    - DSL_MIB_ADSL_PhysEntryGet()
  + initial implementation
    - DSL_MIB_ADSL_ChanIntervalEntryGet()
    - DSL_MIB_ADSL_LineAlarmConfProfileEntryGet()
    - DSL_MIB_ADSL_LineAlarmConfProfileEntrySet()
    - DSL_MIB_ADSL_TrapsGet()
    - DSL_MIB_ADSL_LineExtEntryGet()
    - DSL_MIB_ADSL_LineExtEntrySet()
    - DSL_MIB_ADSL_PerfDataExtEntryGet()
    - DSL_MIB_ADSL_IntervalExtEntryGet()
    - DSL_MIB_ADSL_AlarmConfProfileExtEntryGet()
    - DSL_MIB_ADSL_AlarmConfProfileExtEntrySet()
    - DSL_MIB_ADSL_ExtTrapsGet()
    - DSL_MIB_ADSL_AtucChanIntervalEntryGet()
    - DSL_MIB_ADSL_AturChanIntervalEntryGet()
    - DSL_MIB_ADSL_AtucPerfDataExtEntryGet()
    - DSL_MIB_ADSL_AturPerfDataExtEntryGet()
    - DSL_MIB_ADSL_AtucIntervalExtEntryGet()
    - DSL_MIB_ADSL_AturIntervalExtEntryGet()

V2.4.3 - 2007-03-16
bugfix(es):
- Corrected usage of data structures in function 'DSL_G997_LineInventorySet' for
  saving NE inventory data within context structure of DSL CPE API
- Danube: Corrected calculation of following values within context of
  DSL_FIO_G997_CHANNEL_STATUS_GET ioctl
  + ActualInterleaveDelay
  + ActualImpulseNoiseProtection
common:
- Refactoring
  - INCLUDE_ADSL_XXX renamed to INCLUDE_DSL_XXX
- new files: ceoc/drv_dsl_cpe_danube_ceoc.c, ceoc/drv_dsl_cpe_vinax_ceoc.c,
  mib/drv_dsl_cpe_adslmib.c, include/drv_dsl_cpe_api_ceoc.h,
  include/drv_dsl_cpe_device_ceoc.h
- file common/drv_dsl_cpe_mib.c removed
- update build scripts for new and removed files
- PM module redesigned according to the new FE handling requirements
- VINAX device specific DELT implementation moved to g997/drv_dsl_cpe_vinax.c
- new error code defined: DSL_ERR_CEOC_TX_ERR
- implementation
  + DSL_AutobootStatusGet()
  + DSL_AutobootStatusSet()
- fix current issues (Danube part)
  - issues regarding adsl2/2+ differences
    * DSL_DEV_G997_DeltHlinGet()
    * DSL_DEV_G997_DeltHlogGet()
  - DSL_TestModeControlSet() is fixed
  - Issue in the event FIFO initialization that leads to data corruption is fixed
  - initialization of bLoopDiagnosticsCompleted flag is moved
    to DSL_AutobootThreadStart()
- G997 for Danube implementation
  + DSL_DEV_G997_DeltQLNGet()
  + DSL_DEV_G997_DeltSnrGet()
  + New CMV addresses defined:
    - DSL_CMV_ADDRESS_INFO_DELT_SNR_PS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_QLN_PS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_QLN_PS_US
    - DSL_CMV_ADDRESS_INFO_DELT_SNR_PS_US
- DSL_IoctlHandlerHelperFunc_t definition is moved to header
- DSL_IoctHandlerHelperType definition is moved to header
- ADSL MIB module
  - build system and file structure
    - drv_dsl_cpe_mib.c is removed
    - drv_dsl_cpe_adslmib.c is added
    - build system is changed to conform ADSL MIB
      - drv_dsl_cpe_adslmib.c, drv_dsl_cpe_api_adslmib.h
        drv_dsl_cpe_api_adslmib_ioctl.h is added to scripts
      - drv_dsl_cpe_mib.c is removed from scripts
  - sceletons of DSL_DBG_ADSL_IoctlName(), DSL_MIB_ModuleInit()
  + implementation
    - DSL_MIB_IoctlHandle()
    - DSL_MIB_ADSL_AtucPhysEntryGet()
    - DSL_MIB_ADSL_AturPhysEntryGet()
    - DSL_MIB_ADSL_AtucChanEntryGet()
    - DSL_MIB_ADSL_AturChanEntryGet()
    - DSL_MIB_ADSL_AtucPerfDataEntryGet()
    - DSL_MIB_ADSL_AturPerfDataEntryGet()
    - DSL_MIB_ADSL_AtucIntervalEntryGet()
    - DSL_MIB_ADSL_AturIntervalEntryGet()
    - DSL_MIB_ADSL_AtucChanPerfDataEntryGet()
    - DSL_MIB_ADSL_AturChanPerfDataEntryGet()
  + initial implementation
    - DSL_MIB_ADSL_PhysEntryGet()
    - DSL_MIB_ADSL_ChanEntryGet()
    - DSL_MIB_ADSL_PerfDataEntryGet()
    - DSL_MIB_ADSL_IntervalEntryGet()
    - DSL_MIB_ADSL_ChanPerfDataEntryGet()
- Redesign of autoboot thread to fullfil new requirements

V2.4.2.1 - 2007-03-13
- DANUBE device specific implementation
  + new CMV address definitions:
    - DSL_CMV_ADDRESS_INFO_DELT_SNR_PS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_QLN_PS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_QLN_PS_US
    - DSL_CMV_ADDRESS_INFO_DELT_SNR_PS_US

V2.4.2 - 2007-03-09
- build scripts
  + configuration parameters names is rearranged
- IOCTL
  + DSL_FIO_G997_DELT_HLIN_GET
  + DSL_FIO_G997_DELT_HLIN_SCALE_GET
  + DSL_FIO_G997_DELT_HLOG_GET
  + DSL_FIO_G997_DELT_SNR_GET
  + DSL_FIO_AUX_LINE_INVENTORYGET
  + DSL_FIO_PM_CHANNEL_COUNTERS_15MIN_GET
  + DSL_FIO_PM_CHANNEL_COUNTERS_1DAY_GET
  + DSL_FIO_PM_CHANNEL_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_CHANNEL_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_CHANNEL_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_CHANNEL_THRESHOLDS_1DAY_SET
  + DSL_FIO_PM_CHANNEL_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_CHANNEL_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_COUNTERS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_COUNTERS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_1DAY_SET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_LINE_SEC_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_LINE_SEC_THRESHOLDS_1DAY_SET
  + DSL_FIO_PM_LINE_SEC_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_LINE_SEC_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_15MIN_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_LINE_INIT_COUNTERS_15MIN_GET
  + DSL_FIO_PM_LINE_INIT_COUNTERS_1DAY_GET
  + DSL_FIO_PM_LINE_INIT_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_LINE_INIT_HISTORY_STATS_15MIN_GET
  + DSL_FIO_PM_LINE_INIT_HISTORY_STATS_1DAY_GET
  + DSL_FIO_PM_LINE_INIT_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_LINE_INIT_THRESHOLDS_1DAY_SET
  + DSL_FIO_PM_LINE_INIT_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_LINE_INIT_THRESHOLDS_1DAY_GET
- common implementation
  + DSL_AuxLineInventoryGet()
  + Event handling added: DSL_EVENT_I_CHANNEL_THRESHOLD_CROSSING
  + Event handling added: DSL_EVENT_I_LINE_THRESHOLD_CROSSING
  + Event handling added: DSL_EVENT_I_DATA_PATH_THRESHOLD_CROSSING
  + check for the first start before PM counters restore added
- VINAX device specific implementation added
  + DSL_DEV_AuxLineInventoryGet()
  + DSL_VNX_InventorySet() : Aux Inventory support added
- DANUBE device specific implementation
  + Added internal function (DSL_DANUBE_CmvCheckPrint) to filter special CMVs to
    apply different debug levels for including (>= DSL_DBG_MSG) and excuding
    (<= DSL_DBG_WRN) periodically polled CMVs
  + CMV read only displays 'DSL[rx]' debug output
  + DSL_PM_DEV_LineSecCountersSet()
  + DSL_PM_DEV_LineInitCountersGet() fixed
  + new CMV address definitions:
    - DSL_CMV_ADDRESS_INFO_DELT_PREV_STATS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_PREV_STATS_US
    - DSL_CMV_ADDRESS_INFO_DELT_HLOG_PS_DS
    - DSL_CMV_ADDRESS_INFO_DELT_HLOG_PS_US
    - DSL_CMV_ADDRESS_INFO_DELT_MT_DS
    - DSL_CMV_ADDRESS_INFO_DELT_MT_US
  + new CMV index definitions for DSL_CMV_ADDRESS_INFO_DELT_PREV_STATS_DS/US
    - DSL_CMV_DELT_PREV_STATS_INDEX_HLIN_SC
  + new CMV index definitions for DSL_CMV_ADDRESS_INFO_DELT_MT_DS/US
    - DSL_CMV_DELT_INDEX_MT_HLOG
    - DSL_CMV_DELT_INDEX_MT_QLN
    - DSL_CMV_DELT_INDEX_MT_SNR
  + DSL_DEV_G997_DeltHlinGet()
  + DSL_DEV_G997_DeltHlinScaleGet()
  + DSL_DEV_G997_DeltHlogGet()
- PM module implementation added
   + added bInit flag in the PM Context checking
   * PM Context mutex locking/unlocking calls was moved to history functions
   + DSL_PM_ChannelThresholdsUpdate()
   + DSL_PM_LineInitThresholdsUpdate()
   + DSL_PM_LineSecThresholdsUpdate()
   + DSL_PM_DataPathThresholdsUpdate()
   + DSL_PM_LineInitCountersTotalGet()
   + DSL_PM_ChannelCountersThresholdsCrossingCheck()
   + DSL_PM_LineCountersThresholdsCrossingCheck()
   + DSL_PM_DataPathCountersThresholdsCrossingCheck()
   + DSL_PM_ChannelThresholds15minSet()
   + DSL_PM_ChannelThresholds15MinSet()
   + DSL_PM_ChannelThresholds1DaySet()
   + DSL_PM_ChannelThresholds15MinGet()
   + DSL_PM_ChannelThresholds1DayGet()
   + DSL_PM_DataPathThresholds15MinSet()
   + DSL_PM_DataPathThresholds1DaySet()
   + DSL_PM_DataPathThresholds15MinGet()
   + DSL_PM_DataPathThresholds1DayGet()
   + DSL_PM_LineInitCounters15MinGet()
   + DSL_PM_LineInitCounters1DayGet()
   + DSL_PM_LineSecThresholds15MinSet()
   + DSL_PM_LineSecThresholds1DaySet()
   + DSL_PM_LineSecThresholds15MinGet()
   + DSL_PM_LineSecThresholds1DayGet()
   + DSL_PM_LineInitThresholds15MinSet()
   + DSL_PM_LineInitThresholds1DaySet()
   + DSL_PM_LineInitThresholds15MinGet()
   + DSL_PM_LineInitThresholds1DayGet()

V2.4.1 - 2007-03-05
- build scripts
  + add support for excluding groups of counters
    + new switches to build.sh: --inc-adsl-pm-channel-counters,
      --inc-adsl-pm-datapath-counters, --inc-adsl-pm-line-counters
      --inc-adsl-pm-channel-thresholds, --inc-adsl-pm-datapath-thresholds
      --inc-adsl-pm-line-thresholds
    + new switches to configure:
      --enable-adsl-pm-counters-channel, --enable-adsl-pm-counters-datapath
      --enable-adsl-pm-counters-line, --enable-adsl-pm-thresholds-channel
      --enable-adsl-pm-thresholds-datapath, --enable-adsl-pm-thresholds-line
- checking for counters/thresholds configuration options compability
  was added to source code
- IOCTL
  * PM counters IOCTLs is enclosed in appropriate ifdef brackets
  + DSL_IOCTL_arg_t structure is updated to contain all implemented
    PM counter fields
  + DSL_FIO_PM_CHANNEL_COUNTERS_15MIN_GET
  + DSL_FIO_PM_CHANNEL_COUNTERS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_15MIN_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_1DAY_GET
  + DSL_FIO_PM_LINE_SEC_COUNTERS_TOTAL_GET
- Update DSL_FwDownload()
  + add INCLUDE_ADSL_PM compile-time parenthesis
  * move pDevCtx->bFirmwareReady flag handling to Danube device specific part
- Update DSL_DEV_FwDownload() Danube-specific
  * move pDevCtx->bFirmwareReady flag handling from common DSL_FwDownload()
  + lock bsp mutex for processing time
- Update DSL_DEV_DeviceInit(): call DSL_DEV_FwDownload instead of DSL_FwDownload()
- new warning code
  + DSL_WRN_DEVICE_NO_DATA
- PM module implementation
  * update DSL_PM_CountersSave(): function calls is enclosed in appropriate
    ifdef brackets
  * update headers: function prototypes is enclosed in appropriate ifdef brackets
  * DSL_PM_ChannelCountersTotalGet() updated: temporarily danube specific code
    is removed
  * DSL_PM_DataPathCountersTotalGet() updated: temporarily danube specific code
    is removed
  * added DSL_PM_CountersRestore() call to DSL_AutobootHandleStart()
  + new configuration options
    + INCLUDE_DSL_CPE_PM_CHANNEL_COUNTERS
    + INCLUDE_DSL_CPE_PM_LINE_COUNTERS
    + INCLUDE_DSL_CPE_PM_DATA_PATH_COUNTERS
    + INCLUDE_DSL_CPE_PM_CHANNEL_THRESHOLDS
    + INCLUDE_DSL_CPE_PM_LINE_THRESHOLDS
    + INCLUDE_DSL_CPE_PM_DATA_PATH_THRESHOLDS
  + PM Counters processing splitted between FE and NE directions. Apropriate
    FE and NE threads implemented
  * DSL_PM_PollCycleUpdate() : nDirection argument added, direction specific
    handling added
  * DSL_PM_ChannelCountersUpdate() : nDirection argument added, direction
    specific handling added
  * DSL_PM_DataPathCountersUpdate() : nDirection argument added, direction
    specific handling added
  * DSL_PM_LineCountersUpdate() : nDirection argument added, direction specific
    handling added
  + DSL_PM_DirectionMutexControl()
  + DSL_PM_Lock()
  + DSL_PM_Unlock()
  + DSL_PM_HistoryUpdate()
  + DSL_PM_HistoryStatsGet()
  + DSL_PM_CountersSave()
  + DSL_PM_CountersRestore()
  + DSL_PM_ChannelCountersRestore()
  + DSL_PM_DataPathCountersRestore()
  + DSL_PM_LineCountersRestore()
  + DSL_PM_ChannelHistoryStats15MinGet()
  + DSL_PM_ChannelHistoryStats1DayGet()
  + DSL_PM_DataPathHistoryStats15MinGet()
  + DSL_PM_DataPathHistoryStats1DayGet()
  + DSL_PM_LineSecHistoryStats15MinGet()
  + DSL_PM_LineSecHistoryStats1DayGet()
  + DSL_PM_LineInitHistoryStats15MinGet()
  + DSL_PM_LineInitHistoryStats1DayGet()
  + DSL_PM_ChannelCounters15MinGet()
  + DSL_PM_ChannelCounters1DayGet()
  + DSL_PM_ChannelCountersTotalGet()
  + DSL_PM_DataPathCounters15MinGet()
  + DSL_PM_DataPathCounters1DayGet()
  + DSL_PM_DataPathCountersTotalGet()
- VINAX device specific PM module implementation added
  + DSL_PM_DEV_ChannelCountersSet()
  + DSL_PM_DEV_DataPathCountersSet()
  + DSL_PM_DEV_LineSecCountersSet()
- DANUBE device specific PM module implementation
  - remove DSL_DANUBE_ChannelCountersCurrentSet(), move it's code to
    DSL_PM_DEV_ChannelCountersSet()
  - remove DSL_DANUBE_DataPathCountersCurrentSet(), move it's code to
    DSL_PM_DEV_DataPathCountersSet()
  * check linestate for the FAR-end direction requests
  * return warnigns in case of HDLC time-outs instead of errors
  + DSL_PM_DEV_LineSecCountersGet()
  + DSL_PM_DEV_DataPathCountersSet()
  + DSL_PM_DEV_ChannelCountersSet()
- new fields in the DSL Context:
  + lineInitStatus
- Common G997 implementation added
  + DSL_G997_LineInitStatusGet()
  + DSL_G997_DeltHlinScaleGet()
  + DSL_G997_DeltHlinGet()
  + DSL_G997_DeltHlogGet()
  + DSL_G997_DeltQLNGet()
  + DSL_G997_DeltSNRGet()
- VINAX device specific G997 implementation added
  + DSL_DEV_G997_DeltHlinScaleGet()
  + DSL_DEV_G997_DeltHlinGet()
  + DSL_DEV_G997_DeltHlogGet()
  + DSL_DEV_G997_DeltQLNGet()
  + DSL_DEV_G997_DeltSNRGet()
- VINAX device specific implementation added
  + DSL_VNX_DeltHlogGet()
  + DSL_VNX_DeltSnrGet()
  + DSL_VNX_DeltQlnGet()
  + DSL_VNX_SendMsgTestParamsAuxGet()
- DANUBE device specific implementation
  + new CMV addresses added
    + DSL_CMV_ADDRESS_PLAM_ES_NE
    + DSL_CMV_ADDRESS_PLAM_ES_FE
    + DSL_CMV_ADDRESS_PLAM_SES_NE
    + DSL_CMV_ADDRESS_PLAM_SES_FE
    + DSL_CMV_ADDRESS_PLAM_LOSS_NE
    + DSL_CMV_ADDRESS_PLAM_LOSS_FE
    + DSL_CMV_ADDRESS_PLAM_UAS_NE
    + DSL_CMV_ADDRESS_PLAM_UAS_FE

V2.4.0 - 2007-03-01
Monthly Release

V2.3.4 - 2007-02-22
interface changes:
- renamed ioctl DSL_FIO_TESTMODE_CONTROL_SET to DSL_FIO_TEST_MODE_CONTROL_SET
common:
- makefiles updated
  - PM sources currently will be selected correctly
- PM module generic implementation
  + DSL_PM_HistoryCreate()
  + DSL_PM_HistoryUpdateCurItem()
  + DSL_PM_HistoryGetFillLevel()
  + DSL_PM_HistoryGetItemIdx()
  + DSL_PM_ChannelCountersUpdate()
  + DSL_PM_LineCountersUpdate()
  + DSL_PM_DataPathCountersUpdate()
  + DSL_PM_CountersUpdate()
  + new data types added to handle 15-min, 1-day counters and history values
- VINAX device specific implementation
   + DSL_DEV_ShowtimeStatusUpdate(): DSL_VNX_OnEventChannelDataRateUpdate()
     function call moced to the DSL_VNX_BearerChannelStatusUpdate()
   + DSL_VNX_SendMsgTr1Control()
   + DSL_PM_DEV_LineSecCountersGet()
- restart mutex added for FW download order regulation
- Line state is set to LINESTATE_NOT_INITIALIZED when restart now
- refactoring
  * DSL_PM_DEV_ChannelCountersCurrentGet renamed to DSL_PM_DEV_ChannelCountersGet
  * DSL_PM_DEV_DataPathCountersCurrentGet renamed to DSL_PM_DEV_DataPathCountersGet
- DANUBE device specific implementation
  * make it possible to compile Danube part without PM
  * update DSL_EVENT_I_CHANNEL_DATARATE_SHIFT_THRESHOLD_CROSSING implementation
  * liniInitCounters for Danube is moved from DSL Context to device specific data

V2.3.3 - 2007-02-16
interface changes:
- new IOCTLs defined
  + DSL_FIO_AUTOBOOT_STATUS_GET
  + DSL_FIO_PM_CHANNEL_THRESHOLDS_15MIN_SET
  + DSL_FIO_CHANNEL_THRESHOLDS_1DAY_SET
  + DSL_FIO_CHANNEL_THRESHOLDS_15MIN_GET
  + DSL_FIO_CHANNEL_THRESHOLDS_1DAY_GET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_15MIN_SET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_1DAY_SET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_15MIN_GET
  + DSL_FIO_PM_DATA_PATH_THRESHOLDS_1DAY_GET
- Renamed and moved event status masking functions
  + DSL_G997_StatusEventMaskConfigSet -> DSL_EventStatusMaskConfigSet
  + DSL_G997_StatusEventMaskConfigGet -> DSL_EventStatusMaskConfigGet
common:
- new fields in the DSL Context:
  + PM
- VINAX device specific implementation added
  + DSL_DEV_AutobootHandleFwRequest()
  + DSL_VNX_SendMsgSelectedProfileVdsl2Get()
  * DSL_VNX_NeInventoryGet() : extended with the G994 Vendor ID parameter
  + DSL_VNX_OnEventChannelDataRateUpdate()
  + DSL_VNX_OnEventChannelDataRateThresholdCrossingUpdate()
  * DSL_DEV_ShowtimeStatusUpdate() : redesign
- PM module generic implementation
  + PM context
  + Sync/Poll mechanism implemented
  + DSL_PM_Start()
  + DSL_PM_Stop()
  + DSL_PM_Reset()
  + DSL_PM_SyncModeSet()
  + DSL_PM_ThreadMain()
- new file src\pm\drv_dsl_cpe_pm_core.c
- new file src\include\drv_dsl_cpe_pm_core.h
- complex binary size optimization
  * DSL_CTX_WRITE / DSL_CTX_READ: added function version of this macros
  + DSL_CTX_WRITE_SCALAR / DSL_CTX_READ_SCALAR: macros to write/read scalar
    values
- event poll times is converted to milliseconds within DSL CPE API
- comments updated
- DSL_DEV_DBG_DeviceMessageSend is implemented for Danube
- IOCTL handler
  + DSL_FIO_DBG_DEVICE_MESSAGE_SEND implemented
- DSL CPE API restart/initialization with autobootControlSet = DSL_AUTOBOOT_CTRL_STOP
  implemented
- DSL_EVENT_S_INIT_READY event implemented
- DSL_AutobootHandleFwRequest() is separated to two device dependent functions
- OS layer: DSL_GetTime() implemented for Linux
- Testmode quiet is implemented for Danube
- Events implementation for Danube
  + DSL_DANUBE_FailReasonGet()
  + DSL_EVENT_S_LINIT_FAILURE
  + DSL_EVENT_I_CHANNEL_DATARATE_SHIFT_THRESHOLD_CROSSING

V2.3.2 - 2007-02-09
- common timeout handling added
   + new macro DSL_MAX_TIMEOUT_NUM to define number of timeouts to be handled
- common event handling
   + DSL_EVENT_S_LINE_STATE
   + DSL_HandleLinitValue()
 - VINAX device specific events handling implementation added
   + DSL_EVENT_I_LINE_FAILURES
   + DSL_EVENT_I_DATA_PATH_FAILURES
   + DSL_EVENT_S_CHANNEL_DATA_RATE
   + DSL_EVENT_S_CHANNEL_DATA_RATE_SHIFT_THRESHOLD_CROSSING
   + DSL_EVENT_S_LINIT_FAILURE
   + DSL_EVENT_S_FE_INVENTORY_AVAILABLE
- DANUBE device specific implementation
   + DSL_DANUBE_LineFeaturesUpdate()
   * DSL_DEV_AutobootHandleStart()
     - line features handling added
     - line startup mode handling added
   + DSL_DANUBE_ChannelStatusGet()
   * DSL_DANUBE_ChannelRateUpdate()
     - data rate events handling added
   * DSL_DANUBE_LineFailuresUpdate()
     - failures events handling added
   * DSL_DEV_G997_ChannelStatusGet()
     - remove CMV code, call DSL_DANUBE_ChannelStatusGet() instead
   + new CMV addresses defined:
     - DSL_CMV_ADDRESS_OPTN_ALG_CONTROL
     - DSL_CMV_ADDRESS_OPTN_ALG_CONTROL2
- VINAX device specific implementation added
   + DSL_VNX_SendMsgTxControlSet()
   + DSL_VNX_FailReasonGet()
   + DSL_VNX_LineFailuresStatusUpdate()
   + DSL_VNX_OnLineInventoryFe()
   + DSL_DEV_OnTimeoutEvent()
   * DSL_DEV_AutobootHandleStart() : modem activation in the testmodes added
   * DSL_DEV_AutobootHandleException() : modem fail reason and line failures update added
- Test modes implemented (VINAX)
   * DSL_DEV_ModemWriteConfig() : test modes configurations added
- Timeout events implementation added
- new fields in the DSL Context:
   + TimeoutListsContext
   + TestModeControl
   + channelDataRateThresholdUs
   + channelDataRateThresholdDs
   + bSEM_LineState
   + bSEM_DataRate
   + bSEM_Linit
   + bSEM_LineInventoryFe
   + bAutobootStopPending
- new file src\common\drv_dsl_cpe_timeout.c
- new file src\include\drv_dsl_cpe_timeout.h
- new file src\include\drv_dsl_cpe_vinax_msg_dmt_scope.h
- common implemetation added
   + DSL_G997_AlarmMaskLineFailuresConfigSet()
   + DSL_G997_AlarmMaskLineFailuresConfigSet()
   + DSL_G997_AlarmMaskDataPathFailuresConfigGet()
   + DSL_G997_AlarmMaskDataPathFailuresConfigGet()
   + DSL_G997_StatusEventMaskConfigSet()
   + DSL_G997_StatusEventMaskConfigGet()
   + DSL_G997_ChannelDataRateThresholdConfigSet()
   + DSL_G997_ChannelDataRateThresholdConfigGet()
   + DSL_EventGenerate()
   + DSL_OnTimeoutEvent()
   + DSL_AutobootStateSet()
   * DSL_Init() : Test mode configuration store added
   * DSL_TestModeControlSet_t extended with DSL_TESTMODE_DISABLE field
   * DSL_InitData_t extended with the TestModeControl field
   * DSL_LineStateUdate() : Line State Change event generation added
- DSL_FIO_G997_EVENT_STATUS_GET was renamed to DSL_FIO_EVENT_STATUS_GET
- refactoring:
  DSL_G997_EventStatus_t and DSL_G997_EventStatusData_t were renamed to
  DSL_EventStatus_t and DSL_EventStatusData_t accordingly and moved
  to the "drv_dsl_cpe_api.h" file
- DSL_EventDataUnion_t extended with the new fields
   + channelStatusData of type DSL_G997_ChannelStatusData_t
   + lineInitStatusData of type DSL_G997_LineInit_t
   + dataPathFailuresData of type DSL_G997_DataPathFailuresData_t
   + lineFailuresData of type DSL_G997_LineFailuresData_t
- Makefile.am changes
   + drv_dsl_cpe_timeout.c
   + drv_dsl_cpe_timeout.h
   + drv_dsl_cpe_vinax_msg_dmt_scope.h
- complex binary size optimization
   * DSL_CHECK_XXX replaced by functions
   * all error codes variables replaced by nErrCode variable
   * it is necessary to call DSL_CHECK_ERR_CODE() now
- redesign of IOCTL handler:
  common helper is used instead of similar case code
- IOCTL handler
  + DSL_FIO_TESTMODE_CONTROL_SET
- debug printouts
  + macro for definition of maximum debug level for printouts defined

V2.3.1 - 2007-02-02
interface:
- new IOCTL implemented:
   + DSL_FIO_G997_LINE_FAILURES_STATUS_GET
   + DSL_FIO_LINE_FEATURE_CONFIG_GET
   + DSL_FIO_LINE_FEATURE_CONFIG_SET
   + DSL_FIO_LINE_FEATURE_STATUS_GET
- DSL_EVENT_S_FIRMWARE_REQUEST added to the DSL_EventType_t structure
- new fields in the DSL Context:
   + bFwRequestHandled
   + fwRequestStartTime
   + nFwRequestTimeoutLimit
   + LineFeatureDataCfg
   + LineFeatureDataSts
common:
- autorestart handling extended
   + new states added to the aotoboot: DSL_AUTOBOOTSTATE_EXCEPTION,
                                    DSL_AUTOBOOTSTATE_FW_REQUEST,
                                    DSL_AUTOBOOTSTATE_FW_WAIT
   + DSL_AutobootHandleFwRequest implementation added
   + DSL_AutobootHandleFwWait implementation added
   + DSL_AutobootHandleException implementation added
   + INCLUDE_FW_REQUEST_SUPPORT macro definition temporary added to
     the drv_dsl_cpe_api.h
- VINAX device specific implementation added:
   + DSL_VNX_SendMsgLineFailuresNeStatusGet
   + DSL_VNX_SendMsgLineFailuresFeStatusGet
   + DSL_DEV_ShowtimeStatusUpdate: added line failures status update
   + DSL_DEV_DBG_DeviceMessageSend
   * DSL_VNX_ActualDataRateGet renamed to DSL_VNX_BearerChannelStatusGet
- common implementation added
   + DSL_LineFeatureConfigSet
   + DSL_LineFeatureConfigGet
   + DSL_LineFeatureStatusGet
- DANUBE specific implementation updated:
   * Autoboot state machine related changes
   * DSL_DANUBE_TotalCountersRead(): FAR end counters will not be requested
     in the states other than SHOWTIME
   * DSL_DEV_G997_LineStatusGet(): additional error checkings
   * DSL_PM_DEV_ChannelCountersCurrentGet(),
     DSL_PM_DEV_DataPathCountersCurrentGet(): FAR-end counters for the ADSL2 modes
     support added

V2.3.0 - 2007-01-31
user interface definition change(s):
- Changed ioctl(s)
  + DSL_FIO_G997_LINE_STATUS_GET
    inlcudes integral values for LATN, SATN, SNR, ACTPS, ATTNDR and ACTATP only
- New ioctl(s)
  + DSL_FIO_G997_LINE_STATUS_PER_BAND_GET
    includes per band values for LATN, SATN and SNR (only used for VDSL2 modes)

V2.2.3 - 2007-01-29
common:
- new file src\pm\drv_dsl_cpe_api_pm_danube.c
- new file src\pm\drv_dsl_cpe_api_pm_vinax.c
- new file src\pm\drv_dsl_cpe_device_pm.h
- new fields int the DSL Context:
  + ledPollingWaitQueue
  + bLedStatusOn
  + bLedNeedToFlash
  + loggingBuffer
  + lineInitCounters
  + channelCounters
  + datapathCounters
- new IOCTL implemented:
  + DSL_FIO_SHOWTIME_LOGGING_DATA_GET
  + DSL_FIO_PM_CHANNEL_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_DATA_PATH_COUNTERS_TOTAL_GET
  + DSL_FIO_PM_LINE_INIT_COUNTERS_TOTAL_GET
  + DSL_FIO_G997_DATA_PATH_FAILURES_STATUS_GET
- event handling implementation added (both driver and control application)
- showtime event logging implementation added
- VINAX device specific G997 implementation added:
  + DSL_DEV_G997_BitAllocationNSCGet
  + DSL_DEV_G997_GainAllocationNscGet
  + DSL_DEV_G997_SnrAllocationNscGet
  + DSL_DEV_G997_LineInventoryGet
  + DSL_DEV_G997_LineStatusGet
  + DSL_DEV_G997_ChannelStatusGet
  * DSL_DEV_ShowtimeStatusUpdate() : added flag to destinguish between 1'st init and update,
                                     added data path failures status update
  * DSL_DEV_ModemWriteConfig() : added DSL_VNX_SendMsgLedControl() function call

V2.2.2 - 2007-01-26
user interface definition change(s):
- renamed return value within DSL_AccessCtl_t structure (old: retCode,
  new: nReturn)

V2.2.1 - 2007-01-19
interface:
- DSL_G997_LineInventory_t structure: change type of nDirection DSL_XTUDir_t instead
  of DSL_AccessDir_t
- DSL_xxx_ShowtimeStatusUpdate(): new parameter: bInit
common:
- redesign: DSL_DANUBE_RateUpdateUs() replaced by DSL_DANUBE_ChannelRateUpdate()
- new files: src/drv_dsl_cpe_fifo.c, include/drv_dsl_cpe_fifo.h
- build system modified: fifo files included in scripts
- error code changed: DSL_ERR_INVALID_PARAMETER
- new error codes: DSL_ERR_CHANNEL_RANGE, DSL_ERR_ONLY_AVAILABLE_IN_SHOWTIME
- update src/led/drv_dsl_cpe_led.c:
  - DSL_LED_FirmwareInit(): code commented out
- update src\include\drv_dsl_cpe_api_ioctl.h:
  + new fields was declared in the DSL_IOCTL_arg_t structure: g997ChannelStatus,
    g997DataPathFailures
- update src\include\drv_dsl_cpe_cmv_danube.h:
  + new CMV addresses: DSL_CMV_ADDRESS_PLAM_FE_FAILURES,
    DSL_CMV_ADDRESS_INFO_LATENCY_PATH_PROPS_DS,
    DSL_CMV_ADDRESS_INFO_LATENCY_PATH_PROPS_US
- new fields int the DSL Context:
  + nChannelActualDataRateUs
  + nChannelActualDataRateDs
  + nChannelPreviousDataRateUs
  + nChannelPreviousDataRateDs
  + nLineFailuresNe
  + nLineFailuresFe
  + nDataPathFailuresNe
  + nDataPathFailuresFe
- OS layer changed: endianness macros added
- replace \n by DSL_CRLF macro
- update debug printouts with "DSL:" prefix
- update /src/common/drv_dsl_cpe_api.c:
  * DSL_FirmwareStartupInit(): remove call to DSL_LED_FirmwareInit()
- new IOCTL implemented: DSL_FIO_G997_CHANNEL_STATUS_GET and
  DSL_FIO_G997_DATA_PATH_FAILURES_STATUS_GET
- update src\device\drv_dsl_cpe_device_danube.c:
  + implementation:
    DSL_DANUBE_ChannelRateUpdate()
  + DSL_DEV_AutobootHandleStart(): call to DSL_DEV_LED_FirmwareInit() added
  + DSL_DEV_AutobootHandleTraining(): handle previous channel data rate
  * DSL_DANUBE_LineFailuresUpdate(): update failures for both downstream and
    upstream
- update src/include/drv_dsl_cpe_api.h
  + new macro DSL_CHECK_CHANNEL_RANGE()
- update src\g997\drv_dsl_cpe_api_g997.c:
  + implementation
    + DSL_G997_ChannelStatusGet()
    + DSL_G997_DataPathFailuresStatusGet()
- update src\g997\drv_dsl_cpe_api_g997_danube.c:
  + update implementation for US in DSL_DEV_G997_LineStatusGet() (HDLC calls)
  + implementation
    + DSL_DEV_G997_ChannelStatusGet()
- VINAX device specific G997 implementation added:
  + DSL_DEV_G997_BitAllocationNSCGet
  + DSL_DEV_G997_GainAllocationNscGet
  + DSL_DEV_G997_SnrAllocationNscGet
  + DSL_DEV_G997_LineStatusGet
  + DSL_DEV_G997_LineInventoryGet
  + DSL_DEV_G997_ChannelStatusGet
  + added device specific handling for the Data Path Failures status
- new build scripts:
  + driver\build\build_vinax_mips.sh
  + dsl_cpe_control_application\build\build_vinax_mips.sh

Modification:
- in DSL_DEV_ShowtimeStatusUpdate(). Added special handling for the showtime values update

V2.2.0 - 2007-01-18
user interface definition change(s):
- Added ioctl definitions for
  + event handling
  + showtime event logging

V2.1.6 - 2007-01-12
common:
- new script: scripts\inst_drv_dsl_cpe.sh
- new file src\g997\drv_dsl_cpe_api_g997_vinax.c
- update vinax build script, add new vinax file to makefile
- redesign:
  * DSL_ModemStart() removed, initialization part of code moved to
    DSL_AutobootThreadInit(), another to DSL_DANUBE_ModemStart()
  * DSL_DEV_ModemStart() removed, code moved to DSL_DANUBE_ModemStart
  * DSL_DEV_InventorySet() removed, code moved to DSL_G997_DEV_InventorySet()
  * interface changed: DSL_DEV_G997_LineInventorySet()
- new error codes defined:
  + DSL_ERR_DEVICE_NO_DATA
  + DSL_ERR_DEVICE_BUSY
- update src\include\drv_dsl_cpe_api_ioctl.h:
  + new field g997LineStatus defined in DSL_IOCTL_arg_t
- update src\include\drv_dsl_cpe_cmv_danube.h:
  + new CMV addresses defined:
    - DSL_CMV_ADDRESS_INFO_LINE_STATUS_DS
    - DSL_CMV_ADDRESS_INFO_LINE_STATUS_US
    - DSL_CMV_ADDRESS_INFO_ME_HDLC_TX_BUFFER
    - DSL_CMV_ADDRESS_INFO_ME_HDLC_RX_BUFFER
    - DSL_CMV_ADDRESS_INFO_ME_HDLC_PARAMS
    - DSL_CMV_ADDRESS_INFO_RX_CLEAR_EOC
    - DSL_CMV_ADDRESS_INFO_PMD
    - DSL_CMV_ADDRESS_STAT_ME_HDLC
    - DSL_CMV_ADDRESS_STAT_POWER_STATE
    - DSL_CMV_ADDRESS_CNTL_ME_HDLC
  + new enum DSL_CMV_PMD_Index
- update src\include\drv_dsl_cpe_debug.h and src\common\drv_dsl_cpe_debug.c
  + new variable: DSL_DBG_PRN_DIR
- update src\include\drv_dsl_cpe_device_danube.h and
  + implementation:
    - DSL_DANUBE_HdlcWrite()
    - DSL_DANUBE_HdlcRead()
  + HDLC status macros defined
- update src\include\drv_dsl_cpe_intern.h:
  + new field added to DSL Context: lineInventory
- update src\include\drv_dsl_cpe_os_linux.h
  + new macros: DSL_WAIT() and DSL_Le2Cpu()
- update src\g997\drv_dsl_cpe_g997_danube.c
  * DSL_DEV_G997_BitAllocationNSCGet(), DSL_DEV_G997_GainAllocationNscGet():
    check if modem is ready, make these functions thread-safe
  * DSL_DEV_G997_SnrAllocationNscGet(): fix possible bugs,
    check if modem is ready, make this function thread-safe
  - implementation
    + DSL_DANUBE_G997_ActPSD_Get()
    + DSL_DEV_G997_LineStatusGet()
- update src\device\drv_dsl_cpe_device_danube.c
  - implementation
    + DSL_DANUBE_L3StatusGet()
    + DSL_DANUBE_HdlcStatusGet()
    + DSL_DANUBE_HdlcResolvedGet()
    + DSL_DANUBE_ModemStart()
    + DSL_DANUBE_HdlcSend()
    + DSL_DANUBE_HdlcWrite()
    + DSL_DANUBE_HdlcRead()
  * DSL_DEV_FwDownload(): call DSL_DANUBE_ModemStart()
- update src\common\drv_dsl_cpe_api.c
  * DSL_IoctlHandle(): dynamic memory allocation instead of stack-allocation

V2.1.5 - 2006-12-29
common:
- refactoring
  * move FE/NE to the end of definition names
- update src\common\drv_dsl_cpe_api.c
  + add debug printouts
  * DSL_InitDataPrepare(): fix bug
  * DSL_IoctlHandle(): new IOCTLs supported
    - DSL_FIO_G997_SNR_ALLOCATION_NSC_GET
    - DSL_FIO_G997_GAIN_ALLOCATION_NSC_GET
    - DSL_FIO_G997_LINE_INVENTORY_GET
    - DSL_FIO_G997_LINE_INVENTORY_SET
- update src\device\drv_dsl_cpe_device_danube.c
  * DSL_DANUBE_CmvPrepare(): add debug printouts
  * DSL_DEV_InventorySet(): fix bugs regarding to application of '|' and '||'
- update g997\drv_dsl_cpe_api_g997.c
  * initial implementation of DSL_G997_ChannelStatusGet() and
    DSL_G997_LineStatusGet()
  + implementation
    - DSL_G997_GainAllocationNscGet()
    - DSL_G997_LineInventoryGet()
    - DSL_G997_LineInventorySet()
- update g997\drv_dsl_cpe_api_g997_danube.c
  + implementation
    - DSL_DEV_G997_GainAllocationNscGet()
    - DSL_DEV_G997_LineInventoryGet()
    - DSL_DEV_G997_LineInventorySet()
  * DSL_DEV_G997_SnrAllocationNscGet(): finish implementation
  * initial implementation of DSL_DEV_G997_ChannelStatusGet() and
    DSL_DEV_G997_LineStatusGet()
- update include\drv_dsl_cpe_api_ioctl.h
  + new fields defined in DSL_IOCTL_arg_t: g997GainAllocationNsc, g997LineInvertory
    g997LineInvertoryNe
- update include\drv_dsl_cpe_cmv_danube.h
  + new CMV addresses: DSL_CMV_ADDRESS_INFO_GAIN_US, DSL_CMV_ADDRESS_INFO_GAIN_DS,
    DSL_CMV_ADDRESS_INFO_VENDORID_FE, DSL_CMV_ADDRESS_INFO_SERIALNUM_FE,
    DSL_CMV_ADDRESS_INFO_VERSIONNUM_FE, DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_FE,
    DSL_CMV_ADDRESS_INFO_NE_VENDORID_G994_NE, DSL_CMV_ADDRESS_INFO_SELFTEST,
    DSL_CMV_ADDRESS_INFO_XTSE_FE
- update include/drv_dsl_cpe_device_g997.h
  + new prototypes
    - DSL_DEV_G997_GainAllocationNscGet()
    - DSL_DEV_G997_LineStatusGet()
    - DSL_DEV_G997_LineInventoryGet()
    - DSL_DEV_G997_LineInventorySet()
    - DSL_DEV_G997_ChannelStatusGet()

V2.1.4 - 2006-12-22
common:
- update src\device\drv_dsl_cpe_device_vinax.c
  + implementation
    - DSL_VNX_xxx()
    - DSL_DEV_ShowtimeStatusUpdate()
    - DSL_DEV_InitDataPrepare()
    - DSL_DEV_InitDataFree()
  + DSL_VNX_ModemRestart(): replace FW download IOCTL call with the
    DSL_DEV_FwDownload() function
  + DSL_DEV_AutobootHandleTraining(): replace DSL_LineStateGet() function calls
    with CTX_READ() macro
- new files g997/drv_dsl_cpe_api_g997_danube.c, include/drv_dsl_cpe_device_g997.h
- update makefiles:
  + support for new files
- update src\include\drv_dsl_cpe_intern.h
  * update DSL Context structure - 2nd firmware, showtime lock flag, line failures,
    current SNRM fields added
  + new structures defined
- update include\drv_dsl_cpe_cmv_danube.h
  + new CMV addresses: DSL_CMV_ADDRESS_INFO_SNRA_DS, DSL_CMV_ADDRESS_INFO_BAT_US,
    DSL_CMV_ADDRESS_INFO_BAT_DS, DSL_CMV_ADDRESS_INFO_SNRA_US,
    DSL_CMV_ADDRESS_PLAM_NE_FAILURES, DSL_CMV_ADDRESS_PLAM_SNRM_0_1DB,
    DSL_CMV_ADDRESS_PLAM_SNRM
- update include\drv_dsl_cpe_api_ioctl.h
  + new fields defined in DSL_IOCTL_arg_t: g997BitAllocationNsc,
    g997SnrAllocationNsc
- update g997\drv_dsl_cpe_api_g997.c
  + new header drv_dsl_cpe_device_g997.h included
  + implementation
    - DSL_G997_BitAllocationNSCGet()
    - DSL_G997_SnrAllocationNscGet()
- new file g997\drv_dsl_cpe_api_g997_danube.c
  + implementation
    - DSL_DEV_G997_BitAllocationNSCGet()
    - DSL_DEV_G997_SnrAllocationNscGet()
- update src\device\drv_dsl_cpe_device_danube.c
  * fix some compile-time warnings
  * access to DSL Context data is multithread safe now,
    functions code is reentrant
  + add debug printouts
  + implementation
    * DSL_DANUBE_SnrmDsUpdate()
    * DSL_DANUBE_LineFailuresUpdate()
  * DSL_DEV_AutobootHandleRestart(): download FW each restart
  * DSL_DEV_LineStateGet(): fix showtime handling
- update src\common\drv_dsl_cpe_api.c
  + add debug printouts
  + implementation
    - DSL_FwCopy()
    - DSL_FwStore()
  * DSL_Cleanup(): release FW memory
  * DSL_InitDataPrepare(): new FW functions used
  * DSL_IoctlHandle(): new IOCTLs supported
    - DSL_FIO_G997_BIT_ALLOCATION_NSC_GET
- update src\common\drv_dsl_cpe_autoboot.c
  * DSL_AutobootThreadInit(): tread-safe data access
  + implementation
    DSL_AutobootHandleShowtime()
user interface change(s):
- DSL_InitDataPrepare() DSL_Error_t return type instead of DSL_void_t,
  first argument of type DSL_Context_t* added
- refactoring
  * Cmv related stuff rename: DSL_DEV_xxx to DSL_DANUBE_xxx
  * update usage of DSL_LineStatexxx types
- make CMV-related stuff visible outside main Danube device file

V2.1.3 - 2006-12-18
user interface change(s):
- Changed data structures in ioctl to seperate the control parameters from
  the configuration/status data

V2.1.2 - 2006-12-15
common:
- update src\common\drv_dsl_cpe_api.c
  + add debug printouts
  * correct debug printouts in the DSL_Init()
  * move mutex init calls to DSL_DriverHandleGet()
  * update firmware boot routines, add 2nd Fw parameters
  * update DSL_Init(), remove FW checks
  * DSL_IoctlHandle(): new IOCTLs supported
    - DSL_FIO_G997_XTU_SYSTEM_ENABLING_CONFIG_SET
    - DSL_FIO_G997_XTU_SYSTEM_ENABLING_CONFIG_GET
    - DSL_FIO_G997_XTU_SYSTEM_ENABLING_STATUS_GET
  * remove unnecessary code from the DSL_LineStateUpdate()
  + implementation:
    - DSL_ShowtimeStatusUpdate()
    - DSL_TwosComplement16_HexToInt()
- refactoring
  - remove BSP prefix from function names
  * update function names (FW->Fw)
- update src\common\drv_dsl_cpe_os_linux.c
  * DSL_DRV_Write()
    - use DSL context instead of device handle in FW download call
- update src\device\drv_dsl_cpe_device_danube.c
  * move low level driver IOCTL call from main header
  + implementation
    - DSL_DANUBE_RateUpdateUs()
    - DSL_DANUBE_XTUSystemEnablingConfigSend()
    - DSL_DANUBE_XTUSystemEnablingStatusUpdate()
    - DSL_DANUBE_ShowtimeReached()
    - DSL_DEV_ShowtimeStatusUpdate()
  * DSL_DEV_DriverHandleDelete(): return DSL_Error_t
  * DSL_DEV_FwDownload(): 2nd firmware
  + add debug printouts
  * DSL_DEV_AutobootHandleStart(): use DSL_DANUBE_XTUSystemEnablingConfigSend()
  * DSL_DEV_AutobootHandleTraining(): showtime reach handling
  * DSL_DEV_DeviceInit(): add firmware checks
- update src\device\drv_dsl_cpe_device_danube.c
  + add new headers
  * update comments
  * update printouts
  + add printouts
  + implementation
    - DSL_VNX_xxx()
    - DSL_DEV_ModemStart()
    - DSL_DEV_ModemReset()
    - DSL_DEV_InventorySet()
  * DSL_DEV_FirmwareVersionGet(), DSL_DEV_ChipHardwareVersionGet(),
    DSL_DEV_DriverVersionGet(): add pointers checks
- update src\g997\drv_dsl_cpe_api_g997.c
  + implementation
    - DSL_G997_XTUSystemEnablingConfigSet()
    - DSL_G997_XTUSystemEnablingConfigGet()
    - DSL_G997_XTUSystemEnablingStatusGet()
- update src\include\drv_dsl_cpe_api.h
   * update prototypes
   + new structures defined
- update src\include\drv_dsl_cpe_api_g997.h
   + new structures defined
- update src\include\drv_dsl_cpe_api_ioctl.h
   * update DSL_IOCTL_arg_t definition: G997 stuff added
- update src\include\drv_dsl_cpe_api_sar.h
   * update structure definitions
- update src\include\drv_dsl_cpe_cmv_danube.h
   + add DSL_CmvStatMode1_t, DSL_CmvStatMode17_t enums
   * update DSL_CmvAddress_t enum
- update src\include\drv_dsl_cpe_device.h
   + new prototype for DSL_DEV_ShowtimeStatusUpdate()
- update src\include\drv_dsl_cpe_os_linux.h
   + provide support for different major numbers

V2.1.1 - 2006-12-08
common:
- user space dsl_cpe_control application
  * uncomment INCLUDE_DSL_API_CLI, comment INCLUDE_DSL_API_CLI_LEGACY
- refactoring
  DSL_DEV_MeiBspVersionStringGet() -> DSL_DEV_DriverVersionGet()
  DSL_DEV_ChipVersionStringGet() -> DSL_DEV_ChipHardwareVersionGet()
  DSL_DEV_MeiBspVersionStringGet() -> DSL_DEV_DriverVersionGet()
  DSL_ERR_CMV_SEND_FAILED -> DSL_ERR_MSG_EXCHANGE
- new error codes: DSL_ERR_FUNCTION_WAITING_TIMEOUT, DSL_ERR_FUNCTION_WAITING
   DSL_WRN_FIRMWARE_MSG_DENIED
- new autoboot state: DSL_AUTOBOOTSTATE_DIAGNOSTIC
- removed files: src\include\drv_dsl_cpe_bsp.h, src\include\drv_dsl_cpe_cmv.h
- new files: src\include\drv_dsl_cpe_device_danube.h, src\include\drv_dsl_cpe_device_vinax.h
- remove CLI
- update src\common\drv_dsl_cpe_api.c
  + add debug printouts
  + implementation:
    - DSL_LineStateGet()
    - DSL_InitDataPrepare()
    - DSL_ModemReset()
    - DSL_InitDataFree()
    - DSL_LineStateUpdate()
    - DSL_LineStateSet()
  * DSL_IoctlHandle(): use new functions, implement
    DSL_FIO_LINE_STATE_GET handler, fix some bugs
  * adapt DSL_Init() to VINAX and 2nd FW
  * DSL_BSP_FWDownload()
    - exclude device specific code
- update src\common\drv_dsl_cpe_autoboot.c
  + add debug printouts
  * fix calls to DSL_DEV_ModemIsReady() to correspond with new interface
  * DSL_AutobootHandleStart: TRAINING state will be set after start
    is handled
  + implementation:
    - DSL_AutobootHandleRestart()
    - DSL_AutobootHandleTraining()
- update src\common\drv_dsl_cpe_os_linux.c
  * DSL_DRV_Write()
    - exclude device specific code
  + add debug printouts
  + implementation:
    - DSL_MSleep()
- new file src\device\drv_dsl_cpe_device_vinax.c
- update src\device\drv_dsl_cpe_device_danube.c
  + implementation:
    - DSL_DANUBE_ResetDFE()
    - DSL_DANUBE_HaltDFE()
    - DSL_DEV_AutobootHandleTraining()
    - DSL_DEV_AutobootHandleRestart()
    - DSL_DEV_DeviceInit()
    - DSL_DEV_ModemReset()
    - DSL_DEV_LineStateGet()
    - DSL_DEV_InitDataPrepare()
    - DSL_DEV_InitDataFree()
  * exclude device specific types from the interface
  * replace DSL_DeviceHandle_t with DSL_Context_t in the interface
  * use macro DSL_DEVICE_LOWHANDLE()
  * fix bug in the DSL_DEV_AutobootModeControlSet()
  * remove unnecessary call to DSL_DEV_CmvRead() in
    the DSL_DEV_FirmwareVersionGet()
  * remove string length argument from the interface of version functions
- update src\include\drv_dsl_cpe_api.h
  + new structure definition: DSL_DeviceLowLevelConfig_t
  * update DSL_Init_t, DSL_AutobootLoadFirmware_t structure definitions
- update src\include\drv_dsl_cpe_device.h
  + include new headers
  * exclude from the device context structure device specific fields
  + add device specific data field to device context
  * exclude device specific types from the interface
  + new prototypes:
    - DSL_DEV_DeviceInit()
    - DSL_DEV_ModemReset()
    - DSL_DEV_InitDataPrepare()
    - DSL_DEV_InitDataFree()
    - DSL_DEV_LineStateGet()
- update src\include\drv_dsl_cpe_intern.h
  + add bGotResponse field to the DSL Context structure
  * fix DSL_CTX_READ() and DSL_CTX_WRITE()
  + new prototypes:
    - DSL_ModemReset()
    - DSL_DeviceInit()
    - DSL_InitDataPrepare()
    - DSL_InitDataFree()
    - DSL_LineStateUpdate()
    - DSL_LineStateSet()
- update src\include\drv_dsl_cpe_os.h
  + new prototype:
    - DSL_MSleep()
- update src\include\drv_dsl_cpe_os_linux.h
  * include <linux/delay.h>
- update build scripts/makefiles

V2.1.0 - 2006-12-04
user interface definition change(s):
- Added definitions for new functions
  + AuxLineInventoryGet
  + DebugModuleLevelStatusGet
  + DeviceMessageSend
  + LoopLengthStatusGet
  + PosphyAddressConfigGet
  + PosphyAddressConfigSet
  + SAR_ConfigGet
  + SAR_ConfigSet
  + SAR_ReassemblyCountersGet
  + SAR_ReassemblyTableGet
  + SAR_ReassemblyTableSet
  + SAR_SegmentationCountersGet
  + SAR_SegmentationTableGet
  + SAR_SegmentationTableSet
  + UtopiaPhyAddressConfigGet
  + UtopiaPhyAddressConfigSet

V2.0.5 - 2006-12-01
common:
- user space dsl_fwload test application
  * updated to test DSL_FIO_VERSION_INFORMATION_GET
- user space dsl_cpe_control application
  * update build.sh script
  * update src/makefile.am
  * change device file name in dsl_cpe_control.h
  + add sleep() after debug printouts
- update configure.in with new version
- update src/ceoc/drv_dsl_cpe_ceoc.c
  * implementation of DSL_CEOC_FirmwareInit()
- update src/cli/drv_dsl_cpe_cli.c
  + sceletons for CLI helper functions()
- update src/led/drv_dsl_cpe_led.c
  * implementation of DSL_LED_FirmwareInit()
- update src\include\drv_dsl_cpe_os.h, src\include\drv_dsl_cpe_pm.h,
   src\include\drv_dsl_cpe_mib.h, src\include\drv_dsl_cpe_led.h,
   src\include\drv_dsl_cpe_ceoc.h, src\include\drv_dsl_cpe_autoboot.h
  * change tabs to spaces
- update src\include\drv_dsl_cpe_cli.h
  * change tabs to spaces
  + prototypes for DSL_CLI_Register(), DSL_CLI_Cleanup(), DSL_CLI_AutogenRegister()
- update src\include\drv_dsl_cpe_intern.h
  + make DSL_CTX_READ() and DSL_CTX_WRITE() macrodefinitions
  * change tabs to spaces
  * fix DSL_CHECK_MODEM_IS_READY() macrodefinitions
  + new prototype: DSL_BSP_FWDownload()
- update src\include\drv_dsl_cpe_device.h
  + new field in device context strucure: bFirmwareReady
  + new prototypes: DSL_DEV_CEOC_FirmwareInit(), DSL_DEV_LED_FirmwareInit()
   DSL_DEV_FirmwareVersionStringGet(), DSL_DEV_ChipVersionStringGet(),
   DSL_DEV_MeiBspVersionStringGet()
- update src\include\drv_dsl_cpe_cmv_danube.h
  * change tabs to spaces
  + new CMV address definitions: DSL_CMV_ADDRESS_INFO_GPIO_CONTROL,
   DSL_CMV_ADDRESS_OPTN_EVENT_INTS_CTRL
- update src\include\drv_dsl_cpe_bsp.h
  + new type definitions: DSL_DEV_LedId_t, DSL_DEV_LedType_t, DSL_DEV_LedHandler_t
  + new external function prototype IFX_ADSL_BSP_AdslLedInit()
- new error code: DSL_ERR_ONLY_SUPPORTED_WITH_DEBUG_ENABLED,
  DSL_ERR_SEMAPHORE_GET, DSL_ERR_CMV_SEND_FAILED
- update src\include\drv_dsl_cpe_api.h
  + new definition DSL_CHIPSET_TYPE_STRING
- update src\device\drv_dsl_cpe_device_danube.h
  * add debug printouts and device ready state
   to an implementation of DSL_DEV_AutobootHandleStart()
  * fix deadlock
  * add debug printouts to an implementation of DSL_DEV_ModemStart()
  + new implementation: DSL_DEV_LED_FirmwareInit(),
   DSL_DEV_CEOC_FirmwareInit(), DSL_DEV_FirmwareVersionStringGet()
  + new sceletons: DSL_DEV_ChipVersionStringGet(),
   DSL_DEV_MeiBspVersionStringGet()
- update src\common\drv_dsl_cpe_os_linux.c
  * DSL_DRV_Write() - set firmware ready flag
  * update initialization routines for CLI module
- update src\common\drv_dsl_cpe_autoboot.c
  + add debug printouts
  * update DSL_AutobootThreadStart() function to run firmware in case it is
   downloaded
  * update DSL_AutobootThreadMain() function to set bAutobootThreadStarted flag
- update src\common\drv_dsl_cpe_api.c
  + add debug printouts
  * update DSL_Init():
    - use DSL_BSP_FWDownload() instead of DSL_DEV_BSP_FWDownload()
    - move autoboot initialization to the DSL_AutobootThreadStart() routine
  * update DSL_AutobootLoadFirmware - call to DSL_BSP_FWDownload() instead of
   DSL_DEV_BSP_FWDownload()
  + implementation of DSL_DBG_ModuleLevelSet(), DSL_DBG_ModuleLevelGet(),
   DSL_VersionInformationGet()
  + DSL_IoctlHandle - add handlers for DSL_FIO_DBG_MODULE_LEVEL_SET,
   DSL_FIO_DBG_MODULE_LEVEL_GET, DSL_FIO_VERSION_INFORMATION_GET

V2.0.4 - 2006-11-24
common:
- new user space test application
 + new dsl_fwboot utility - it can test firmware loading and start/stop/restart
   autoboot thread
 + build scripts for dsl_fwboot utility
- sceletons for the new functions, file src/ceoc/drv_dsl_cpe_ceoc.c
  + DSL_CEOC_FirmwareInit()
- sceletons for the new functions, file src/led/drv_dsl_cpe_led.c
  + DSL_LED_FirmwareInit()
- sceletons for the new functions, file src\common\drv_dsl_cpe_autoboot.c
  + DSL_AutobootHandleRestart()
  + DSL_AutobootHandleShowtime()
  + DSL_AutobootHandleTraining()
- new file: src\cli\drv_dsl_cpe_cli_exec.c. Implementation of CLI internal
    functions
  + sceleton of DSL_CLI_Run
- change memory allocation system. Separate functions that returns continuous
    and non-continuous in physical memory blocks (src\common\drv_dsl_cpe_os_linux.c,
    src\include\drv_dsl_cpe_os.h, src\include\drv_dsl_cpe_os_linux.h)
  + new functions DSL_PMalloc(returns continuous in physical memory blocks),
    DSL_VMalloc (returns any blocks)
- add additional debug printouts (all files)
- new/update/implement functions, file src\common\drv_dsl_cpe_api.c
  + DSL_DriverHandleCleanup() - cleans up device-dependend structures allocated
    during device open and initialization process
  + DSL_ModemStart() - starts up a firmware
  * DSL_Init() - update for firmware download and firmware starting up
  * DSL_AutobootLoadFirmware() - implementation
  * DSL_AutobootControlSet() - implementation
  * DSL_IoctlHandle() - update to handle implemented IOCTLs
  * DSL_LowDeviceGet() - interface changed
- new/update/implement functions, file src\common\drv_dsl_cpe_autoboot.c
  + DSL_AutobootThreadInit() - initializes autoboot thread
  + DSL_AutobootThreadStop() - stops autoboot thread
  * DSL_AutobootThreadRestart() - update
  * DSL_AutobootThreadStart() - update
  * DSL_AutobootThreadMain() - update
  * DSL_AutobootStateCheck() - update
  * DSL_FirmwareStartupInit() - update
  * DSL_AutobootHandleStart() - update, device-dependent implementation moved
    to device file
  - DSL_AutobootModeControlSet() - moved to device file
- enable debug printouts in src\common\drv_dsl_cpe_debug.c
- new/update/implement functions, file src\common\drv_dsl_cpe_mib.c
  * DSL_MIB_IoctlHandle() - interface changed
- new/update/implement functions, file src\device\drv_dsl_cpe_device_danube.c
  + DSL_DEV_AutobootModeControlSet() - moved from drv_dsl_cpe_api.c
  + DSL_DEV_AutobootHandleStart() - handles autoboot start for a device
  + DSL_DEV_ModemStart() - handles modem start for a device
  + DSL_DEV_BspIoctl() - send ioctl to low level driver
  + DSL_DEV_InventorySet() - sends inventory data
- new error code: DSL_ERR_MODEM_NOT_READY
- update configure.in and src/Makefile.am
- Added handling to generate archive (lib_dsl_cpe_api.a) file of driver to be
  included within lxdb kernel build

V2.0.1 - 2006-11-13
common:
- Exchanged file 'ifx_adsl_features.h' to 'drv_dsl_cpe_api_danube_kernel_config.h'
  and the included definitions
  + CONFIG_IFX_ADSL_MIB  -> INCLUDE_ADSL_MIB
  + CONFIG_IFX_ADSL_LED  -> INCLUDE_ADSL_LED
  + CONFIG_IFX_ADSL_CEOC -> INCLUDE_ADSL_CEOC

V2.0.0 - 2006-11-09
common:
- Introduced version number
  + Version numbers equal or bigger than V2.0.0 are used for new generation
    DSL CPE API interface
  + Implementation is based on G.997.1 to support ADSL1/2/2+ and VDSL2
- Established complete build process using scripts for autogen tools in context
  of buildroot environment
