ltq-vdsl-app: rename to ltq-vdsl-vr9-app This matches the scheme used by other target packages and will avoid confusion with any future version. Signed-off-by: Andre Heider <a.heider@gmail.com>
lantiq: rename ltq-vdsl folder to ltq-vdsl-vr9 Now PKG_NAME matches the folder name, and this will avoid confusion with any future version. Signed-off-by: Andre Heider <a.heider@gmail.com>
ltq-vdsl-app: prepare for multiple mei ioctls Refactor so that the outer function opens and closes the mei fd and passes it around, just as with the main fd. That also allows us to use the IOCTL macro in get_vector_status() and clean up accordingly. Switch to AUTORELEASE while at it. Signed-off-by: Andre Heider <a.heider@gmail.com>
ltq-vdsl/ltq-vdsl-app: clean up configure args The userspace application now uses the model=full option to match the configuration of the kernel module. The source no longer contains SOAP support, which was the primary reason to build only typical instead of full before. This makes several CLI commands, which were already supported in the kernel module, available in the userspace application. For example, this includes bbsg which allows to get information about VDSL2 bands. Some previously applied build options were redundant. Disabling ADSL MIB support is unnecessary, as it only applies to Danube. ADSL LED support is no longer included in the source. ReTx counters are already included with model type full. This increases the size of the userspace application by approximately 15 kB (uncompressed). The kernel module does not change at all. Signed-off-by: Jan Hoffmann <jan@3e8.eu>
lantiq: use ActualNetDataRate for speed reporting Switch to Actual Net Data Rate (ACTNDR) for speed reporting on lantiq VDSL modems Refer to ITU-T G.997.1 chapter 7.5.2.8 Independent whether retransmission is used or not in a given transmit direction: - In L0 state, this parameter reports the Net Data Rate (as specified in G.992.3, G.992.5 or G.993.2) at which the bearer channel is operating. - In L2 state, the parameter contains the Net Data Rate (as specified in G.992.3, G.992.5 or G.993.2) in the previous L0 state. Signed-off-by: Jeroen Peelaerts <jeroen.peelaerts@gmail.com> Reviewed-by: Andre Heider <a.heider@gmail.com>
lantiq: enable G.INP retransmission counters This commit adds monitoring for a couple of DSL line features that are present in the lantiq firmware blobs. * G.INP ON/OFF * Trellis encoding ON/OFF * Virtaul Noise ON/OFF * Bitswap ON/OFF Difference in size for ltq-vdsl-app = 1k Difference in size for kmod-ltq-vdsl-vr9 < 1k Reviewed-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Jeroen Peelaerts <jeroen.peelaerts@gmail.com>
ltq-vdsl-app: fix -Wundef warnings The following warnings are shown during build: /usr/include/vdsl/cmv_message_format.h:33:6: warning: "MEI_SUPPORT_DEBUG_STREAMS" is not defined, evaluates to 0 [-Wundef] #if (MEI_SUPPORT_DEBUG_STREAMS == 1) ^~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/vdsl/drv_mei_cpe_interface.h:2256:6: warning: "MEI_SUPPORT_OPTIMIZED_FW_DL" is not defined, evaluates to 0 [-Wundef] #if (MEI_SUPPORT_OPTIMIZED_FW_DL == 1) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ The headers are provided by the MEI driver, but the defines are never set by the vdsl app. While the struct with the MEI_SUPPORT_OPTIMIZED_FW_DL conditional isn't used by the vdsl app, however CMV_USED_PAYLOAD_8BIT_SIZE which value depends on MEI_SUPPORT_DEBUG_STREAMS is. Since the MEI driver doesn't provide an autogenerated header with compile flags, the flags are hardcoded for the vdsl app. Set them for the MEI driver as well, to indicate a relation to the values used for the vdsl app and to be not surprised by a changed default in case the MEI driver gets updated. Use the current default values defined in the MEI driver. Signed-off-by: Mathias Kresin <dev@kresin.me>
ltq-vdsl-app: use ubus to provide metrics luci now uses ubus directly, so remove 'lucistat'. For manual usage just print the ubus output, use luci for a pretty version. Signed-off-by: Andre Heider <a.heider@gmail.com> Tested-by: Martin Schiller <ms@dev.tdt.de>
ltq-vdsl-app: add ubus support to get metrics Add a 'dsl' ubus object with a 'metrics' function to replace the expensive shell parsing done by /etc/init.d/dsl_control [dsl|luci]stat. All metrics are gathered by using syscalls. An additional thread is started to handle ubus events. $ time /etc/init.d/dsl_control dslstat real 0m 2.66s user 0m 0.90s sys 0m 1.76s $ time ubus call dsl metrics real 0m 0.02s user 0m 0.00s sys 0m 0.01s Example output: { "api_version": "4.17.18.6", "firmware_version": "5.8.1.5.0.7", "chipset": "Lantiq-VRX200", "driver_version": "1.5.17.6", "state": "Showtime with TC-Layer sync", "up": true, "uptime": 3891, "atu_c": { "vendor_id": [ 181, 0, 66, 68, 67, 77, 178, 26 ], "vendor": "Broadcom 178.26", "system_vendor_id": [ 181, 0, 66, 68, 67, 77, 0, 0 ], "system_vendor": "Broadcom", "version": [ 49, 57, 46, 48, 46, 51, 53, 46, 50, 32, 86, 69, 95, 49, 49, 95 ], "serial": [ 65, 65, 49, 52, 52, 54, 70, 69, 48, 90, 87, 45, 48, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ] }, "power_state": "L0 - Synchronized", "xtse": [ 0, 0, 0, 0, 0, 0, 0, 2 ], "annex": "B", "standard": "G.993.2", "profile": "17a", "mode": "G.993.2 (VDSL2, Profile 17a, with down- and upstream vectoring)", "upstream": { "vector": true, "trellis": true, "bitswap": true, "retx": true, "virtual_noise": false, "interleave_delay": 0, "data_rate": 31999000, "latn": 8.500000, "satn": 8.400000, "snr": 12.700000, "actps": -90.100000, "actatp": 13.400000, "attndr": 37180000 }, "downstream": { "vector": true, "trellis": true, "bitswap": true, "retx": true, "virtual_noise": false, "interleave_delay": 140, "data_rate": 89998000, "latn": 9.500000, "satn": 9.600000, "snr": 13.300000, "actps": -90.100000, "actatp": -1.600000, "attndr": 116315372 }, "errors": { "near": { "es": 1, "ses": 0, "loss": 3, "uas": 424, "lofs": 0, "fecs": 0, "hec": 0, "ibe": 0, "crc_p": 0, "crcp_p": 0, "cv_p": 0, "cvp_p": 0, "rx_corrupted": 27740, "rx_uncorrected_protected": 27010, "rx_retransmitted": 0, "rx_corrected": 730, "tx_retransmitted": 16222 }, "far": { "es": 242, "ses": 71, "loss": 0, "uas": 424, "lofs": 0, "fecs": 22687, "hec": 0, "ibe": 0, "crc_p": 0, "crcp_p": 0, "cv_p": 0, "cvp_p": 0, "rx_corrupted": 1383552, "rx_uncorrected_protected": 1220215, "rx_retransmitted": 0, "rx_corrected": 163337, "tx_retransmitted": 1574051 } } } Signed-off-by: Andre Heider <a.heider@gmail.com> Tested-by: Martin Schiller <ms@dev.tdt.de>
treewide: unify OpenWrt hosted source via @OPENWRT Multiple sources are hosted on OpenWrts source server only. The source URLs to point to the server vary based on different epochs in OpenWrts history. Replace all by @OPENWRT which is an "empty" mirror, therefore using the fallback servers sources.cdn.openwrt.org and sources.openwrt.org. Signed-off-by: Paul Spooren <mail@aparcar.org>
ltq-vdsl-app: use new extra_command wrapper Use new `extra_command` wrapper to fix the alignement. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
ltq-*dsl-app: dsl_control: remove unneeded check for lantiq_dsl.sh This file is always present because it is part of the ltq-dsl-base package on which these packages depend. This check would not have been necessary in the past, because the script was part of the TARGET_LANTIQ on which these packages also depend. Signed-off-by: Martin Schiller <ms@dev.tdt.de>
lantiq: move dsl related base-files into own package It does not make sense to install this components on lantiq systems where the dsl subsystem is not needed/used. This also makes it possible to use the files also on other targets. (hopefully ipq401x / FritzBox 7530 in the near future) Signed-off-by: Martin Schiller <ms.3headeddevs@gmail.com>
lantiq: Allow PKG_ASLR_PIE for DSL and voice drivers When ASLR_PIE was activated globally these drivers failed to build because the user space LDFLAGS leaked into the kernel build process. This was fixed in upstream Linux kernel commit ce99d0bf312d ("kbuild: clear LDFLAGS in the top Makefile") which went into Linux 4.17. The lantiq target is now on Linux 4.19 only and these exceptions are not needed any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
lantiq: fix dsl_control status handling. Commit 7519a36774ca ("base-files,procd: add generic service status") introduced the generic 'status' command which broke the previous dsl_control status output. To fix this, let's rename the "old" command to "dslstat". Fixes: 7519a36774ca ("base-files,procd: add generic service status") Signed-off-by: Martin Schiller <ms@dev.tdt.de>
lantiq: Deactivate ASLR support for some applications The lantiq components still leak some user space linker options into the kernel space. This breaks with build when ASLR is activated, deactivate it for now on these packages. Fixes: FS#1391 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
treewide: fix build depends to refer to source package names Build depends must refer to source packages rather than binary package names. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
ltq-xdsl-app: drop script for renaming the netdev Our netdevs are named dsl by default now, the rename via scripts isn't required anymore. Signed-off-by: Mathias Kresin <dev@kresin.me>
lantiq: xrx200: rename nas0/ptm0 to dsl0 This change makes it possible to configure the wan/dsl ppp interface settings independantly from the used TC-Layer (ATM/PTM). Now you can move a device from an ADSL/ATM port to an VDSL/PTM port without any configuration changes for example. Signed-off-by: Martin Schiller <ms@dev.tdt.de> [use the dsl0 interface name for the default netdev trigger in 01_led, add ip dependency] Signed-off-by: Mathias Kresin <dev@kresin.me>
ltq-vdsl-app: use notification based ATM/PTM driver load This patch removes the fixed atm/ptm driver loading and switches to notification based driver loading. Signed-off-by: Martin Schiller <ms@dev.tdt.de>