Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled

This commit is contained in:
domenico
2025-06-24 12:51:15 +02:00
commit 27c9d80f51
10493 changed files with 1885777 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
#
# Copyright (C) 2011-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=dsl_cpe_control_danube
PKG_VERSION:=3.24.4.4
PKG_RELEASE:=11
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/dsl_cpe_control-$(PKG_VERSION)
PKG_SOURCE_URL:=@OPENWRT
PKG_HASH:=af0bdf45cc7a62e2b38d39aad4924dd83c24fae170ae5bbd8190c2a3d9106257
PKG_MAINTAINER:=John Crispin <john@phrozen.org>
PKG_LICENSE:=BSD-3-Clause
PKG_FIXUP:=autoreconf
PKG_CONFIG_DEPENDS:=\
CONFIG_LTQ_DSL_ENABLE_SOAP \
CONFIG_LTQ_DSL_ENABLE_DSL_EVENT_POLLING
PKG_BUILD_DEPENDS:=ltq-adsl
PKG_FLAGS:=nonshared
include $(INCLUDE_DIR)/package.mk
define Package/ltq-adsl-app
SECTION:=net
CATEGORY:=Network
TITLE:=Lantiq DSL userland tool
URL:=http://www.lantiq.com/
DEPENDS:=@(TARGET_lantiq_xway||TARGET_lantiq_xway_legacy||TARGET_lantiq_ase) +libpthread +ltq-dsl-base +libubox +libubus
PROVIDES:=ltq-dsl-app
MENU:=1
endef
define Package/ltq-adsl-app/description
Infineon DSL CPE API for Amazon SE, Danube and Vinax.
endef
LTQ_DSL_MAX_DEVICE=1
LTQ_DSL_LINES_PER_DEVICE=1
LTQ_DSL_CHANNELS_PER_LINE=1
CONFIGURE_ARGS += \
--with-max-device="$(LTQ_DSL_MAX_DEVICE)" \
--with-lines-per-device="$(LTQ_DSL_LINES_PER_DEVICE)" \
--with-channels-per-line="$(LTQ_DSL_CHANNELS_PER_LINE)" \
--enable-danube \
--enable-driver-include="-I$(STAGING_DIR)/usr/include/adsl/" \
--enable-debug-prints \
--enable-add-appl-cflags="-DMAX_CLI_PIPES=2" \
--enable-cli-support \
--enable-cmv-scripts \
--enable-debug-tool-interface \
--enable-adsl-led \
--enable-dsl-ceoc \
--enable-script-notification \
--enable-dsl-pm \
--enable-dsl-pm-total \
--enable-dsl-pm-history \
--enable-dsl-pm-showtime \
--enable-dsl-pm-channel-counters \
--enable-dsl-pm-datapath-counters \
--enable-dsl-pm-line-counters \
--enable-dsl-pm-channel-thresholds \
--enable-dsl-pm-datapath-thresholds \
--enable-dsl-pm-line-thresholds \
--enable-dsl-pm-optional-parameters
TARGET_CFLAGS += -I$(LINUX_DIR)/include
define Build/Prepare
$(call Build/Prepare/Default)
$(CP) ../ltq-vdsl-vr9-app/src/src/dsl_cpe_ubus.c $(PKG_BUILD_DIR)/src/
endef
define Package/ltq-adsl-app/install
$(INSTALL_DIR) $(1)/etc/init.d $(1)/sbin $(1)/etc/hotplug.d/dsl
$(INSTALL_BIN) ./files/dsl_control $(1)/etc/init.d/
$(INSTALL_BIN) ./files/10_atm.sh $(1)/etc/hotplug.d/dsl
$(INSTALL_BIN) ./files/10_ptm.sh $(1)/etc/hotplug.d/dsl
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/dsl_cpe_control $(1)/sbin
endef
$(eval $(call BuildPackage,ltq-adsl-app))

View File

@@ -0,0 +1,29 @@
#!/bin/sh
[ "$DSL_NOTIFICATION_TYPE" = "DSL_STATUS" ] && \
[ "$DSL_TC_LAYER_STATUS" = "ATM" ] && \
! grep -q "ltq_atm_ar9\|ltq_atm_ase\|ltq_atm_danube" /proc/modules || exit 0
logger -p daemon.notice -t "dsl-notify" "Switching to TC-Layer ATM"
if grep -q "ltq_ptm_ar9\|ltq_ptm_ase\|ltq_ptm_danube" /proc/modules ; then
logger -p daemon.notice -t "dsl-notify" "Loading ATM driver while EFM/PTM driver is loaded is not possible. Reboot is needed."
exit
fi
case "$(strings /proc/device-tree/compatible)" in
*lantiq,ar9*)
soc="ar9"
;;
*lantiq,ase*)
soc="ase"
;;
*lantiq,danube*)
soc="danube"
;;
*)
logger -p daemon.notice -t "dsl-notify" "Unsupported SoC"
exit
esac
modprobe ltq_atm_${soc}

View File

@@ -0,0 +1,29 @@
#!/bin/sh
[ "$DSL_NOTIFICATION_TYPE" = "DSL_STATUS" ] && \
[ "$DSL_TC_LAYER_STATUS" = "EFM" ] && \
! grep -q "ltq_ptm_ar9\|ltq_ptm_ase\|ltq_ptm_danube" /proc/modules || exit 0
logger -p daemon.notice -t "dsl-notify" "Switching to TC-Layer EFM/PTM"
if grep -q "ltq_atm_ar9\|ltq_atm_ase\|ltq_atm_danube" /proc/modules ; then
logger -p daemon.notice -t "dsl-notify" "Loading EFM/PTM driver while ATM driver is loaded is not possible. Reboot is needed."
exit
fi
case "$(strings /proc/device-tree/compatible)" in
*lantiq,ar9*)
soc="ar9"
;;
*lantiq,ase*)
soc="ase"
;;
*lantiq,danube*)
soc="danube"
;;
*)
logger -p daemon.notice -t "dsl-notify" "Unsupported SoC"
exit
esac
modprobe ltq_ptm_${soc}

View File

@@ -0,0 +1,65 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2012 OpenWrt.org
START=97
USE_PROCD=1
dslstat() {
ubus call dsl metrics
}
extra_command "dslstat" "Get DSL status information"
annex_b=10_00_10_00_00_04_00_00
annex_bdmt=10_00_00_00_00_00_00_00
annex_b2=00_00_10_00_00_00_00_00
annex_b2p=00_00_00_00_00_04_00_00
annex_a=05_01_04_00_4C_01_04_00
annex_at1=01_00_00_00_00_00_00_00
annex_alite=00_01_00_00_00_00_00_00
annex_admt=04_00_00_00_00_00_00_00
annex_a2=00_00_04_00_00_00_00_00
annex_a2p=00_00_00_00_00_01_00_00
annex_l=00_00_00_00_0C_00_00_00
annex_m=00_00_00_00_40_00_04_00
annex_m2=00_00_00_00_40_00_00_00
annex_m2p=00_00_00_00_00_00_04_00
annex_j=10_00_10_40_00_04_01_00
service_triggers() {
procd_add_reload_trigger network
}
start_service() {
local annex
local firmware
local xtu
config_load network
config_get annex dsl annex
config_get firmware dsl firmware
eval "xtu=\"\${annex_$annex}\""
[ -z "${firmware}" ] &&
firmware=/lib/firmware/adsl.bin
[ -f "${firmware}" ] || {
echo failed to find $firmware
return 1
}
procd_open_instance
procd_set_param command /sbin/dsl_cpe_control \
-i${xtu} \
-n /sbin/dsl_notify.sh \
-f ${firmware}
procd_close_instance
}
stop_service() {
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
DSL_INTERFACE_STATUS="DOWN" \
/sbin/dsl_notify.sh
service_stop /sbin/dsl_cpe_control
}

View File

@@ -0,0 +1,65 @@
--- a/src/dsl_cpe_cli_access.c
+++ b/src/dsl_cpe_cli_access.c
@@ -1142,7 +1142,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Auto
if ((ret < 0) && (autobootCtrl.accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, autobootCtrl.accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, autobootCtrl.accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -1213,7 +1213,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Auto
if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -1290,7 +1290,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Line
if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -1355,7 +1355,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_Reso
pCtx, &resourceUsageStatisticsData);
if (ret < 0)
{
- DSL_CPE_FPrintf (out, sFailureReturn, ret);
+ DSL_CPE_FPrintf (out, sFailureReturn, ret, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -3084,7 +3084,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997
if ((ret < 0) && (pData->accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, pData->accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, pData->accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -4654,7 +4654,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997
if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{
@@ -5714,7 +5714,7 @@ DSL_CLI_LOCAL DSL_int_t DSL_CPE_CLI_G997
if ((ret < 0) && (pData.accessCtl.nReturn < DSL_SUCCESS))
{
- DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn);
+ DSL_CPE_FPrintf (out, sFailureReturn, pData.accessCtl.nReturn, DSL_CPE_Fd2DevStr(fd));
}
else
{

View File

@@ -0,0 +1,23 @@
--- a/configure.in
+++ b/configure.in
@@ -29,6 +29,8 @@ AC_C_VOLATILE
#AC_FUNC_STRTOD
#AC_CHECK_FUNCS([ftime gethostbyname gettimeofday localtime_r memset select socket strchr strerror strstr strtoull])
+AC_SEARCH_LIBS([clock_gettime],[rt])
+
#
# save the configure arguments
#
--- a/src/dsl_cpe_linux.h
+++ b/src/dsl_cpe_linux.h
@@ -45,7 +45,8 @@
#include <arpa/inet.h>
#include <sys/socket.h> /* socket */
#include <sys/sem.h> /* semget */
-#include <semaphore.h> /* sem_t */
+#include <semaphore.h> /* sem_t */
+#include <limits.h>
#ifdef DSL_DEBUG_TOOL_INTERFACE
#include <sys/socket.h>

View File

@@ -0,0 +1,42 @@
From 9d4f86ba2cf10304303011f4f5628fa68dc77624 Mon Sep 17 00:00:00 2001
From: Mathias Kresin <dev@kresin.me>
Date: Mon, 16 Oct 2017 21:08:26 +0200
Subject: ltq-adsl-app: add more script notifications
Backport HANDSHAKE and TRAINING notification from ltq-vdsl-vr9-app. It
unifies the dsl led blinking pattern accross all subtargets and allows
to get the current line status from the dsl led.
Signed-off-by: Mathias Kresin <dev@kresin.me>
---
.../100-add-more-script-notifications.patch | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 package/network/config/ltq-adsl-app/patches/100-add-more-script-notifications.patch
--- a/src/dsl_cpe_control.c
+++ b/src/dsl_cpe_control.c
@@ -3273,7 +3273,23 @@ DSL_CPE_STATIC DSL_int_t DSL_CPE_Event_S
#ifdef INCLUDE_SCRIPT_NOTIFICATION
if (g_sRcScript != DSL_NULL)
{
- if ( (nLineState == DSL_LINESTATE_SHOWTIME_TC_SYNC) &&
+ if ( (nLineState == DSL_LINESTATE_HANDSHAKE) &&
+ (g_nPrevLineState[nDevice] != DSL_LINESTATE_HANDSHAKE) )
+ {
+ if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "HANDSHAKE") == DSL_SUCCESS)
+ {
+ bExec = DSL_TRUE;
+ }
+ }
+ else if ( (nLineState == DSL_LINESTATE_FULL_INIT) &&
+ (g_nPrevLineState[nDevice] != DSL_LINESTATE_FULL_INIT) )
+ {
+ if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "TRAINING") == DSL_SUCCESS)
+ {
+ bExec = DSL_TRUE;
+ }
+ }
+ else if ( (nLineState == DSL_LINESTATE_SHOWTIME_TC_SYNC) &&
(g_nPrevLineState[nDevice] != DSL_LINESTATE_SHOWTIME_TC_SYNC) )
{
if (DSL_CPE_SetEnv("DSL_INTERFACE_STATUS", "UP") == DSL_SUCCESS)

View File

@@ -0,0 +1,50 @@
--- a/src/dsl_cpe_control.c
+++ b/src/dsl_cpe_control.c
@@ -139,6 +139,9 @@ extern DSL_Error_t DSL_CPE_Pipe_StaticRe
#endif /* INCLUDE_DSL_RESOURCE_STATISTICS*/
#endif
+extern void ubus_init();
+extern void ubus_deinit();
+
DSL_char_t *g_sFirmwareName1 = DSL_NULL;
DSL_char_t *g_sFirmwareName2 = DSL_NULL;
#ifdef INCLUDE_SCRIPT_NOTIFICATION
@@ -5343,6 +5346,8 @@ DSL_int_t dsl_cpe_daemon (
signal (SIGINT, DSL_CPE_TerminationHandler);
#endif /* RTEMS*/
+ ubus_init();
+
/* Open DSL_CPE_MAX_DEVICE_NUMBER devices*/
for (nDevice = 0; nDevice < DSL_CPE_MAX_DEVICE_NUMBER; nDevice++)
{
@@ -5738,6 +5743,7 @@ DSL_int_t dsl_cpe_daemon (
#endif /* INCLUDE_DSL_CPE_CLI_SUPPORT */
DSL_CPE_CONTROL_EXIT:
+ ubus_deinit();
#ifdef INCLUDE_DSL_BONDING
DSL_CPE_BND_Stop((DSL_CPE_BND_Context_t*)pCtrlCtx->pBnd);
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -11,7 +11,7 @@ else
dsl_cpe_control_common_ldflags =
endif
-dsl_cpe_control_LDADD = -lpthread
+dsl_cpe_control_LDADD = -lpthread -lubox -lubus
if INCLUDE_DSL_CPE_SOAP_SUPPORT
dsl_cpe_control_LDADD += -lm
@@ -70,7 +70,8 @@ dsl_cpe_control_SOURCES = \
dsl_cpe_control.c \
dsl_cpe_init_cfg.c \
dsl_cpe_linux.c \
- dsl_cpe_debug.c
+ dsl_cpe_debug.c \
+ dsl_cpe_ubus.c
dsl_cpe_control_SOURCES += \
$(dsl_cpe_control_dti_sources)