[OpenWrt-Devel] [PATCH RESEND] dnsmasq: add config option for ra_names

2015-12-29 Thread Dominique Martinet
Signed-off-by: Dominique Martinet 
---

I posted this quite another while ago:
Dominique Martinet wrote on Sun, Jul 14, 2013:
> I posted this quite a while ago:
> Dominique Martinet wrote on Fri, Jul 06, 2012:
>> ra_names is a feature introduced in dnsmasq 2.61, which is why I changed
>> the rules to build something newer (and figured I might as well take it
>> to 62)
>> Basically, it:
>>  - does router-advertisment (not dhcpv6)
>>  - when it gets a request for RA, it looks up if there is an active ipv4
>>  lease for the same host via its MAC address, and if there is it adds
>>  the to-be ipv6 to the local dns (assuming the host will take the dns)
>>  - when it gets a dhcpv4 release it takes off the ipv6 dns record as
>>  well
>> 
>> (since RA is stateless and doesn't give the host name, I couldn't figure
>> any better way without dhcpv6; I was about to hack something (with a
>> very large axe and radvd) when I found out they've done it already :D)
>> 
>> There are also modes for router-advertisment only which I haven't looked
>> at, and a dhcpv6 client implementation that I didn't try yet either.
>> 
>> 
>> The option I added is in the dhcp field, a "ra_name" option with the
>> prefix to announce in RAs, i.e.
>> 
>> config dhcp 'lan'
>>  option interface 'lan'
>>  option ra_names '2001:dead:beef::'
>
>
> Since I re-installed my router I looked to see if there was another way
> to give dnsmasq a custom option, but couldn't find any - maybe I'm just
> blind though.
>
> That being said, I think this is a nice feature for anyone with a dual
> stack ipv4/ipv6 at home, it "just works", and if there is no other clean
> way to add this in the config I wouldn't mind getting this added.
> If you have any suggestion/qualms about it, please tell me and I'm
> willing to try to get these fixed before sending a new patch.
> (unless of course it's a "we're not interested" - but if I just need to
> add a checkbox to luci I'll consider it.)
>
> The original patch inclued a dnsmasq version bump which isn't needed
> anymore, so here's the short bit that would interest me:
> (just checked it still applies to trunk one year later, I just had to
> change the file path. This mail should apply with git am/git apply.)

The patch didn't get any reply so I guess it's more of a "we're not interested"
kind of answer, but I still like this option so trying my chance again...
Maybe now more people (hopefully) have ipv6 this will get a new look.

 package/network/services/dnsmasq/files/dnsmasq.init |6 ++
 1 file changed, 6 insertions(+)

diff --git a/package/network/services/dnsmasq/files/dnsmasq.init 
b/package/network/services/dnsmasq/files/dnsmasq.init
index 630c07d..a2f274e 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -375,6 +375,12 @@ dhcp_add() {
xappend 
"--dhcp-range=$networkid,$START,$END,$NETMASK,$leasetime${options:+ $options}"
 
dhcp_option_add "$cfg" "$networkid"
+
+   config_get ra_names "$cfg" ra_names
+
+   [ -n "$ra_names" ] && {
+   xappend "--dhcp-range=$networkid,$ra_names,ra-names,$leasetime"
+   }
 }
 
 dhcp_option_add() {
-- 
1.7.10.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] package/network/config/gre: ipv6 gre kmod package name was wrong

2015-12-29 Thread openwrt
From: Daniel Dickinson 

Source package gre was depending on kmod-ip6-gre, however the actual
kernel module package that is created is kmod-gre6.  Therefore
update (source) package gre for ipv6 gre support.

Signed-off-by: Daniel Dickinson 
---
 package/network/config/gre/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/network/config/gre/Makefile 
b/package/network/config/gre/Makefile
index 49e7d19..12257a8 100644
--- a/package/network/config/gre/Makefile
+++ b/package/network/config/gre/Makefile
@@ -42,7 +42,7 @@ endef
 define Package/grev6
 $(call Package/gre/Default)
   TITLE:=Generic Routing Encapsulation (IPv6) config support
-  DEPENDS:=@(PACKAGE_gre) @IPV6 +kmod-ip6-gre
+  DEPENDS:=@(PACKAGE_gre) @IPV6 +kmod-gre6
 endef
 
 define Package/grev6/description
-- 
2.4.3
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [OpenWrt-devel] [PATCH v3 2/4] kernel: add backlight kernel module support

2015-12-29 Thread Tim Harvey
Signed-off-by: Tim Harvey 
---
v3:
- added support for Linux 4.3 (new driver needs to be disabled by default)
v2:
- no changes

Signed-off-by: Tim Harvey 
---
 package/kernel/linux/modules/backlight.mk | 49 +++
 1 file changed, 49 insertions(+)
 create mode 100644 package/kernel/linux/modules/backlight.mk

diff --git a/package/kernel/linux/modules/backlight.mk 
b/package/kernel/linux/modules/backlight.mk
new file mode 100644
index 000..62aedaa
--- /dev/null
+++ b/package/kernel/linux/modules/backlight.mk
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+BACKLIGHT_MENU:=Video Support
+
+define KernelPackage/backlight
+   SUBMENU:=$(BACKLIGHT_MENU)
+   TITLE:=Backlight support
+   KCONFIG:=CONFIG_BACKLIGHT_CLASS_DEVICE=m \
+   CONFIG_BACKLIGHT_LCD_SUPPORT=y \
+   CONFIG_LCD_CLASS_DEVICE=n \
+   CONFIG_BACKLIGHT_PWM=n \
+   CONFIG_BACKLIGHT_GENERIC=n \
+   CONFIG_BACKLIGHT_ADP8860=n \
+   CONFIG_BACKLIGHT_ADP8870=n \
+   CONFIG_BACKLIGHT_PM8941_WLED=n
+   FILES:=$(LINUX_DIR)/drivers/video/backlight/backlight.ko
+   AUTOLOAD:=$(call AutoProbe,video backlight)
+endef
+
+define KernelPackage/backlight/description
+   Kernel module for Backlight support.
+endef
+
+$(eval $(call KernelPackage,backlight))
+
+define AddDepends/backlight
+   SUBMENU:=$(BACKLIGHT_MENU)
+   DEPENDS+=kmod-backlight $(1)
+endef
+
+define KernelPackage/backlight-pwm
+   TITLE:=PWM Backlight support
+   DEPENDS:=+kmod-pwm
+   KCONFIG:=CONFIG_BACKLIGHT_PWM=m
+   FILES:=$(LINUX_DIR)/drivers/video/backlight/pwm_bl.ko
+   AUTOLOAD:=$(call AutoProbe,video pwm_bl)
+   $(call AddDepends/backlight)
+endef
+
+define KernelPackage/backlight/backlight-pwm
+   Kernel module for PWM based Backlight support.
+endef
+
+$(eval $(call KernelPackage,backlight-pwm))
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [OpenWrt-devel] [PATCH v3 0/4] Add DRM video output support for IMX6

2015-12-29 Thread Tim Harvey
This series adds DRM based video output support for IMX6 HDMI and LVDS.

The first 3 patches are independent from the others and add some necessary
or useful deps for video display.

The 4th patch adds drm core and drm-imx modules supporting LVDS/HDMI. Note
that currently you need to add modules for both hdmi and lvds for either to
work (not clear why yet).

These were tested on Gateworks Ventana boards, using the 4.1 and 4.3 kernel
using fbcon, psplash, and gstreamer1 with fbdevsink output.

Tim Harvey (4):
  imx6: add PWM support
  kernel: add backlight kernel module support
  kernel: video: add fbcon support
  kernel: video: add DRM core and IMX DRM support for HDMI/LVDS

 package/kernel/linux/modules/backlight.mk |  49 +++
 package/kernel/linux/modules/video.mk | 220 +-
 target/linux/imx6/config-4.1  |   3 +
 target/linux/imx6/config-4.3  |   3 +
 4 files changed, 274 insertions(+), 1 deletion(-)
 create mode 100644 package/kernel/linux/modules/backlight.mk

-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 6/6] ltq-vdsl-app: re-add lowlevel settings

2015-12-29 Thread Mathias Kresin
Add back a slightly modified version of the lowlevel settings which
where removed with r46920.

In compare to the old lowlevel settings, the B43c tone is added to
tone_adsl_b and tone_adsl_bv.

If an unsupported tone value is used, the auto probing mode is used, in
compare to the fallback to tone_adsl_av and tone_vdsl_av with the old
lowlevel settings.

Signed-off-by: Mathias Kresin 

---

I've done some tests to see in which situations the tone setting is
required. In cases no tone is specified, the tone is used according to
the loaded firmware or set by the loaded firmware.

Using a device with the hybrid set to POTS (Annex A) on a Deutsche
Telekom VDSL2 line which requires the B43 tone, I made the following
observations:

annex setting firmware tone setting result
---
annex a   adsl-a.bin   no tone  no sync
annex a   adsl-a.bin   bsync
annex a   adsl-b.bin   no tone  sync

no annex  adsl-a.bin   no tone  no sync
no annex  adsl-a.bin   bsync
no annex  adsl-b.bin   no tone  sync

I would vote for using 'auto' for the initial config here as well. I
would expect that people who are using an Annex A device in an Annex B
network know how to set the correct tone value.

 .../network/config/ltq-vdsl-app/files/dsl_control  | 88 ++
 1 file changed, 88 insertions(+)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index db5eb2a..1a121eb 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -39,6 +39,81 @@ xtse_xdsl_b="10_00_10_00_00_04_00_0F"
 # G.993.5 Annex A/B/C
 xtse_xdsl_j="10_00_10_40_00_04_01_0F"
 
+#
+# ITU-T G.994.1 (06/2012) - Table 2 (Mandatory carrier sets)
+#
+
+# A43
+tone_adsl_a="0x142" # A43C + J43 + A43
+tone_vdsl_a="0x142" # A43C + J43 + A43
+
+# A43 + V43
+tone_adsl_av="0x142" # A43C + J43 + A43
+tone_vdsl_av="0x146" # A43C + J43 + A43 + V43
+
+# B43
+tone_adsl_b="0x81" # B43 + B43c
+tone_vdsl_b="0x1" # B43
+
+# B43 + V43
+tone_adsl_bv="0x81" # B43 + B43c
+tone_vdsl_bv="0x5" # B43 + V43
+
+lowlevel_cfg() {
+   echo "# VRX Low Level Configuration File
+#
+# Parameters must be separated by tabs or spaces.
+# Empty lines and comments will be ignored.
+#
+
+# nFilter
+#
+# NA = -1
+# OFF= 0
+# ISDN   = 1
+# POTS   = 2
+# POTS_2 = 3
+# POTS_3 = 4
+#
+#  (dec)
+-1
+
+# nHsToneGroupMode nHsToneGroup_A   nHsToneGroup_VnHsToneGroup_AV
+#
+# NA = -1  NA = -1  see   see
+# AUTO   = 0   VDSL2_B43  = 0x0001  nHsToneGroup_AnHsToneGroup_A
+# MANUAL = 1   VDSL2_A43  = 0x0002
+#  VDSL2_V43  = 0x0004
+#  VDSL1_V43P = 0x0008
+#  VDSL1_V43I = 0x0010
+#  ADSL1_C43  = 0x0020
+#  ADSL2_J43  = 0x0040
+#  ADSL2_B43C = 0x0080
+#  ADSL2_A43C = 0x0100
+#
+#  (dec)   (hex)(hex) (hex)
+ 1 $1  $2   0x0
+
+#   nBaseAddr nIrqNum
+#
+# (hex)(dec)
+0x1e116000  63
+
+# nUtopiaPhyAdr   nUtopiaBusWidth  nPosPhyParity
+# default(16b) = 0 NA   = -1
+# 8-bit= 1 ODD  = 0
+# 16-bit   = 2
+#
+#
+#(hex)(dec)(dec)
+  0xFF  00
+
+# bNtrEnable
+#
+#  (dec)
+0" > /tmp/lowlevel.cfg
+}
+
 service_triggers() {
procd_add_reload_trigger network
 }
@@ -46,10 +121,15 @@ service_triggers() {
 start_service() {
local annex
local firmware
+   local tone
+   local tone_adsl
+   local tone_vdsl
local xtse
local mode
+   local lowlevel
 
config_load network
+   config_get tone dsl tone
config_get annex dsl annex
config_get firmware dsl firmware
config_get xfer_mode dsl xfer_mode
@@ -77,11 +157,19 @@ start_service() {
return 1
}
 
+   eval "tone_adsl=\"\${tone_adsl_$tone}\""
+   eval "tone_vdsl=\"\${tone_vdsl_$tone}\""
+   [ -n "${tone_adsl}" ] && [ -n "${tone_vdsl}" ] && {
+   lowlevel_cfg "${tone_adsl}" "${tone_vdsl}"
+   lowlevel="-l /tmp/lowlevel.cfg"
+   }
+
procd_open_instance
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
-i$xtse \
-n /sbin/dsl_notify.sh \
-f ${firmware} \
+   $lowlevel \
-M ${mode}
procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
procd_close_instance
-- 
1.9.1
___
openwrt-devel mailing list

[OpenWrt-Devel] [PATCH 4/6] ltq-vdsl-app: let the driver/app probe the xtse on missing annex

2015-12-29 Thread Mathias Kresin
r47933 revealed that the driver/app in combination with the chosen
firmware does a good job in selecting a working xtse.

Use this probing mode if no annex is specified.

Signed-off-by: Mathias Kresin 

---

Since a predefined annex isn't required, what about using 'auto' when
creating the initial config?

Any opinions?

 package/network/config/ltq-vdsl-app/files/dsl_control | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index 9bd4eb5..8578c0b 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -35,8 +35,6 @@ xtse_adsl_b="10_00_10_00_00_04_00_07"
 # G.993.2 Annex A/B/C
 xtse_adsl_j="10_00_10_40_00_04_01_07"
 
-xtse_vdsl="00_00_00_00_00_00_00_07"
-
 service_triggers() {
procd_add_reload_trigger network
 }
@@ -68,7 +66,6 @@ start_service() {
esac
 
eval "xtse=\"\${xtse_xdsl_$annex}\""
-   [ -z "${xtse}" ] && xtse=$xtse_vdsl
 
[ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
[ -f "${firmware}" ] || {
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [OpenWrt-devel] [PATCH v3 1/4] imx6: add PWM support

2015-12-29 Thread Tim Harvey
Adds ~2KB to kernel, likely not worth creating modules for

Signed-off-by: Tim Harvey 
---
v3: include static in kernel vs module options (very small)
---
 target/linux/imx6/config-4.1 | 3 +++
 target/linux/imx6/config-4.3 | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/target/linux/imx6/config-4.1 b/target/linux/imx6/config-4.1
index 52544a7..60b6b51 100644
--- a/target/linux/imx6/config-4.1
+++ b/target/linux/imx6/config-4.1
@@ -302,6 +302,9 @@ CONFIG_PL310_ERRATA_769419=y
 CONFIG_PM_OPP=y
 CONFIG_PPS=y
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_PWM_SYSFS=y
 CONFIG_RAS=y
 CONFIG_RATIONAL=y
 CONFIG_RCU_STALL_COMMON=y
diff --git a/target/linux/imx6/config-4.3 b/target/linux/imx6/config-4.3
index ae4f797..6c820d0 100644
--- a/target/linux/imx6/config-4.3
+++ b/target/linux/imx6/config-4.3
@@ -314,6 +314,9 @@ CONFIG_PL310_ERRATA_769419=y
 CONFIG_PM_OPP=y
 CONFIG_PPS=y
 CONFIG_PTP_1588_CLOCK=y
+CONFIG_PWM=y
+CONFIG_PWM_IMX=y
+CONFIG_PWM_SYSFS=y
 CONFIG_RAS=y
 CONFIG_RATIONAL=y
 CONFIG_RCU_STALL_COMMON=y
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [OpenWrt-devel] [PATCH v3 3/4] kernel: video: add fbcon support

2015-12-29 Thread Tim Harvey
Signed-off-by: Tim Harvey 
---
v3:
- no changes
v2:
- add fb dependency
- disable unsupported fb's

Signed-off-by: Tim Harvey 
---
 package/kernel/linux/modules/video.mk | 49 ++-
 1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/package/kernel/linux/modules/video.mk 
b/package/kernel/linux/modules/video.mk
index 3b06a14..ebb911e 100644
--- a/package/kernel/linux/modules/video.mk
+++ b/package/kernel/linux/modules/video.mk
@@ -15,7 +15,10 @@ define KernelPackage/fb
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Framebuffer support
   DEPENDS:=@DISPLAY_SUPPORT
-  KCONFIG:=CONFIG_FB
+  KCONFIG:= \
+   CONFIG_FB \
+   CONFIG_FB_MXS=n \
+   CONFIG_FB_SM750=n
   FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb.ko
   AUTOLOAD:=$(call AutoLoad,06,fb)
 endef
@@ -31,6 +34,50 @@ endef
 
 $(eval $(call KernelPackage,fb))
 
+
+define KernelPackage/fbcon
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Framebuffer Console support
+  DEPENDS:=+kmod-fb
+  KCONFIG:= \
+   CONFIG_FRAMEBUFFER_CONSOLE \
+   CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y \
+   CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y \
+   CONFIG_FONTS=y \
+   CONFIG_FONT_8x8=y \
+   CONFIG_FONT_8x16=y \
+   CONFIG_FONT_6x11=n \
+   CONFIG_FONT_7x14=n \
+   CONFIG_FONT_PEARL_8x8=n \
+   CONFIG_FONT_ACORN_8x8=n \
+   CONFIG_FONT_MINI_4x6=n \
+   CONFIG_FONT_6x10=n \
+   CONFIG_FONT_SUN8x16=n \
+   CONFIG_FONT_SUN12x22=n \
+   CONFIG_FONT_10x18=n \
+   CONFIG_VT=y \
+   CONFIG_CONSOLE_TRANSLATIONS=y \
+   CONFIG_VT_CONSOLE=y \
+   CONFIG_VT_HW_CONSOLE_BINDING=y
+  $(call AddDepends/fb)
+  FILES:= \
+   $(LINUX_DIR)/drivers/video/console/bitblit.ko \
+   $(LINUX_DIR)/drivers/video/console/softcursor.ko \
+   $(LINUX_DIR)/drivers/video/console/fbcon.ko \
+   $(LINUX_DIR)/drivers/video/console/fbcon_rotate.ko \
+   $(LINUX_DIR)/drivers/video/console/fbcon_cw.ko \
+   $(LINUX_DIR)/drivers/video/console/fbcon_ud.ko \
+   $(LINUX_DIR)/drivers/video/console/fbcon_ccw.ko \
+   $(LINUX_DIR)/lib/fonts/font.ko
+  AUTOLOAD:=$(call AutoLoad,94,font softcursor tileblit fbcon_cw fbcon_ud 
fbcon_ccw fbcon_rotate bitblit fbcon)
+endef
+
+define KernelPackage/fbcon/description
+  Kernel support for framebuffer console
+endef
+
+$(eval $(call KernelPackage,fbcon))
+
 define KernelPackage/fb-cfb-fillrect
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Framebuffer software rectangle filling support
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [OpenWrt-devel] [PATCH v3 4/4] kernel: video: add DRM core and IMX DRM support for HDMI/LVDS

2015-12-29 Thread Tim Harvey
Signed-off-by: Tim Harvey 
---
v3:
- updated for Linux 4.3
v2:
- fixed whitespace
- added TARGET_imx6 to imx6-drm

Signed-off-by: Tim Harvey 
---
 package/kernel/linux/modules/video.mk | 171 ++
 1 file changed, 171 insertions(+)

diff --git a/package/kernel/linux/modules/video.mk 
b/package/kernel/linux/modules/video.mk
index ebb911e..0a0fe8b 100644
--- a/package/kernel/linux/modules/video.mk
+++ b/package/kernel/linux/modules/video.mk
@@ -11,6 +11,10 @@ VIDEO_MENU:=Video Support
 V4L2_DIR=v4l2-core
 V4L2_USB_DIR=usb
 
+#
+# Video Display
+#
+
 define KernelPackage/fb
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Framebuffer support
@@ -109,6 +113,10 @@ endef
 
 $(eval $(call KernelPackage,fb-cfb-copyarea))
 
+define AddDepends/fb-cfb-copyarea
+  DEPENDS+=kmod-fb-cfb-copyarea $(1)
+endef
+
 define KernelPackage/fb-cfb-imgblt
   SUBMENU:=$(VIDEO_MENU)
   TITLE:=Framebuffer software image blit support
@@ -124,6 +132,169 @@ endef
 
 $(eval $(call KernelPackage,fb-cfb-imgblt))
 
+define AddDepends/fb-cfb-imgblt
+  DEPENDS+=kmod-fb-cfb-imgblt $(1)
+endef
+
+
+define KernelPackage/fb-sys-fops
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Framebuffer software sys ops support
+  DEPENDS:=+kmod-fb
+  KCONFIG:=CONFIG_FB_SYS_FOPS
+  FILES:=$(LINUX_DIR)/drivers/video/fbdev/core/fb_sys_fops.ko
+  AUTOLOAD:=$(call AutoLoad,07,fbsysfops)
+endef
+
+define KernelPackage/fb-sys-fops/description
+ Kernel support for framebuffer sys ops
+endef
+
+$(eval $(call KernelPackage,fb-sys-fops))
+
+define AddDepends/fb-sys-fops
+  DEPENDS+=kmod-fb-sys-fops $(1)
+endef
+
+
+define KernelPackage/drm
+  SUBMENU:=$(VIDEO_MENU)
+  TITLE:=Direct Rendering Manager (DRM) support
+  KCONFIG:=CONFIG_DRM \
+   CONFIG_DRM_FBDEV_EMULATION=n \
+   CONFIG_DRM_LOAD_EDID_FIRMWARE=n \
+   CONFIG_DRM_IMX=n \
+   CONFIG_DRM_PTN3460=n \
+   CONFIG_DRM_PS8622=n \
+   CONFIG_DRM_TDFX=n \
+   CONFIG_DRM_R128=n \
+   CONFIG_DRM_RADEON=n \
+   CONFIG_DRM_AMDGPU=n \
+   CONFIG_DRM_NOUVEAU=n \
+   CONFIG_DRM_MGA=n \
+   CONFIG_DRM_VIA=n \
+   CONFIG_DRM_SAVAGE=n \
+   CONFIG_DRM_VGEM=n \
+   CONFIG_DRM_EXYNOS=n \
+   CONFIG_DRM_VMWGFX=n \
+   CONFIG_DRM_UDL=n \
+   CONFIG_DRM_AST=n \
+   CONFIG_DRM_MGAG200=n \
+   CONFIG_DRM_CIRRUS_QEMU=n \
+   CONFIG_DRM_ARMADA=n \
+   CONFIG_DRM_TILCDC=n \
+   CONFIG_DRM_QXL=n \
+   CONFIG_DRM_BOCHS=n \
+   CONFIG_DRM_FSL_DCU=n \
+   CONFIG_DRM_STI=n \
+   CONFIG_DRM_NXP_PTN3460=n \
+   CONFIG_DRM_PARADE_PS8622=n \
+   CONFIG_DRM_I2C_ADV7511=n \
+   CONFIG_DRM_I2C_CH7006=n \
+   CONFIG_DRM_I2C_SIL164=n \
+   CONFIG_DRM_I2C_NXP_TDA998X=n
+  FILES:=$(LINUX_DIR)/drivers/gpu/drm/drm.ko
+  AUTOLOAD:=$(call AutoLoad,05,drm)
+endef
+
+define KernelPackage/drm/description
+  Direct Rendering Manager (DRM) core support
+endef
+
+$(eval $(call KernelPackage,drm))
+
+define AddDepends/drm
+  DEPENDS+=kmod-drm $(1)
+endef
+
+define KernelPackage/drm-imx
+  TITLE:=Freescale i.MX DRM support
+  DEPENDS:=@TARGET_imx6 +LINUX_4_3:kmod-fb kmod-fb-cfb-copyarea 
+LINUX_4_3:kmod-fb-cfb-imgblt +LINUX_4_3:kmod-fb-cfb-fillrect 
+LINUX_4_3:kmod-fb-sys-fops
+  #DEPENDS:=@TARGET_imx6 +kmod-fb
+  KCONFIG:=CONFIG_DRM_IMX=m \
+   CONFIG_DRM_FBDEV_EMULATION=y \
+   CONFIG_IMX_IPUV3_CORE=m \
+   CONFIG_RESET_CONTROLLER=y \
+   CONFIG_DRM_IMX_IPUV3 \
+   CONFIG_IMX_IPUV3 \
+   CONFIG_DRM_KMS_HELPER \
+   CONFIG_FB_SYS_FILLRECT \
+   CONFIG_FB_SYS_COPYAREA \
+   CONFIG_FB_SYS_IMAGEBLIT \
+   CONFIG_DRM_KMS_FB_HELPER=y \
+   CONFIG_DRM_GEM_CMA_HELPER=y \
+   CONFIG_DRM_KMS_CMA_HELPER=y \
+   CONFIG_DRM_IMX_FB_HELPER \
+   CONFIG_DRM_IMX_PARALLEL_DISPLAY=n \
+   CONFIG_DRM_IMX_TVE=n \
+   CONFIG_DRM_IMX_LDB=n \
+   CONFIG_DRM_IMX_HDMI=n
+  FILES:= \
+   $(LINUX_DIR)/drivers/gpu/drm/imx/imxdrm.ko \
+   $(LINUX_DIR)/drivers/gpu/ipu-v3/imx-ipu-v3.ko \
+   $(LINUX_DIR)/drivers/gpu/drm/imx/imx-ipuv3-crtc.ko \
+   $(LINUX_DIR)/drivers/video/fbdev/core/syscopyarea.ko \
+   $(LINUX_DIR)/drivers/video/fbdev/core/sysfillrect.ko \
+   $(LINUX_DIR)/drivers/video/fbdev/core/sysimgblt.ko \
+   $(LINUX_DIR)/drivers/gpu/drm/drm_kms_helper.ko
+  AUTOLOAD:=$(call AutoLoad,05,imxdrm imx-ipu-v3 imx-ipuv3-crtc)
+  $(call AddDepends/drm)
+endef
+
+define KernelPackage/drm-imx/description
+  Direct Rendering Manager (DRM) support for Freescale i.MX
+endef
+
+$(eval $(call KernelPackage,drm-imx))
+
+define AddDepends/drm-imx
+  SUBMENU:=$(VIDEO_MENU)
+  DEPENDS+=kmod-drm-imx $(1)
+endef
+
+define KernelPackage/drm-imx-hdmi
+  TITLE:=Freescale i.MX HDMI DRM support
+  KCONFIG:=CONFIG_DRM_IMX_HDMI=m
+  FILES:= \
+   $(LINUX_DIR)/drivers/gpu/drm/bridge/dw_hdmi.ko \
+   $(LINUX_DIR)/drivers/gpu/drm/imx/dw_hdmi-imx.ko
+  AUTOLOAD:=$(call AutoLoad,05,dw_hdmi-imx)
+  $(call AddDepends/drm-imx)
+endef
+

[OpenWrt-Devel] [PATCH 5/6] ltq-vdsl-app: enable G.993.5 XTSE bit by default

2015-12-29 Thread Mathias Kresin
According to ITU-T G.997.1 Amendment 2 (04/2013) section 2.1, bit 3 of
XTSE octet 8 either allow or denies the initialization of G.993.5.

Even if the current redistributable xDSL firmware doesn't include
G.993.5 vectoring support, enable this bit by default to allow people to
get their G.993.5 line working using a custom xDSL firmware.

Signed-off-by: Mathias Kresin 
---
 package/network/config/ltq-vdsl-app/files/dsl_control | 10 +++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index 8578c0b..db5eb2a 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -13,19 +13,22 @@ EXTRA_HELP="status  Get DSL status information
 
 #
 # ITU-T G.997.1 (06/2012) - Section 7.3.1.1.1 (xTU transmission system 
enabling (XTSE))
+# ITU-T G.997.1 Amendment 2 (04/2013) - Section 2.1 - (Vectoring mode enable 
(VECTORMODE_ENABLE))
 #
 
 # G.992.1 Annex A
 # G.992.3 Annex A / L-US1 / L_US-2 / M
 # G.992.5 Annex A / M
 # G.993.2 Annex A/B/C
-xtse_xdsl_a="04_00_04_00_0C_01_04_07"
+# G.993.5 Annex A/B/C
+xtse_xdsl_a="04_00_04_00_0C_01_04_0F"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
 # G.992.5 Annex B
 # G.993.2 Annex A/B/C
-xtse_adsl_b="10_00_10_00_00_04_00_07"
+# G.993.5 Annex A/B/C
+xtse_xdsl_b="10_00_10_00_00_04_00_0F"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
@@ -33,7 +36,8 @@ xtse_adsl_b="10_00_10_00_00_04_00_07"
 # G.992.5 Annex B
 # G.992.5 Annex J
 # G.993.2 Annex A/B/C
-xtse_adsl_j="10_00_10_40_00_04_01_07"
+# G.993.5 Annex A/B/C
+xtse_xdsl_j="10_00_10_40_00_04_01_0F"
 
 service_triggers() {
procd_add_reload_trigger network
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/2] lantiq: add the current profile to the stats output

2015-12-29 Thread Mathias Kresin
Signed-off-by: Mathias Kresin 
---
 .../lantiq/base-files/lib/functions/lantiq_dsl.sh  | 30 ++
 1 file changed, 30 insertions(+)

diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh 
b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
index 60ace44..ec035df 100755
--- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
+++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
@@ -631,10 +631,40 @@ line_state() {
fi
 }
 
+#
+# Which profile is used?
+#
+profile() {
+   local bpstg=$(dsl_cmd bpstg)
+   local profile=$(dsl_val "$bpstg" nProfile);
+   local s;
+
+   case "$profile" in
+   "0")s="8a" ;;
+   "1")s="8b" ;;
+   "2")s="8c" ;;
+   "3")s="8d" ;;
+   "4")s="12a" ;;
+   "5")s="12b" ;;
+   "6")s="17a" ;;
+   "7")s="30a" ;;
+   "8")s="17b" ;;
+   "") s="";;
+   *)  s="unknown" ;;
+   esac
+
+   if [ "$action" = "lucistat" ]; then
+   echo "dsl.profile=${profile:-nil}"
+   else
+   echo "Profile:  $s"
+   fi
+}
+
 status() {
vendor
chipset
xtse
+   profile
line_state
errors
power_mode
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 1/1] package/libs/libtool: package libtool

2015-12-29 Thread Michael Heimpold
Hi,

Am Monday 28 December 2015, 03:39:35 schrieb Heinrich Schuchardt:
> Up to now only package libtldl is created form source package
> GNU libtool.
> 
> A new package libtool containing libtoolize is provided.
> 
> Signed-off-by: Heinrich Schuchardt 
> ---
>  package/libs/libtool/Makefile | 39 +++
>  1 file changed, 39 insertions(+)
> 
> diff --git a/package/libs/libtool/Makefile b/package/libs/libtool/Makefile
> index 8091081..da92de1 100644
> --- a/package/libs/libtool/Makefile
> +++ b/package/libs/libtool/Makefile
> @@ -32,6 +32,19 @@ define Package/libltdl
>URL:=http://www.gnu.org/software/libtool/
>  endef
> 
> +define Package/libtool
> +  SECTION:=devel
> +  CATEGORY:=Development
> +  TITLE:=GNU libtool
> +  URL:=http://www.gnu.org/software/libtool/
> +  DEPENDS:=+gcc +file

package "file" is provided only in GitHub package feed, so this would
require to move it to openwrt core, right?

Best regards,
mhei

> +endef
> +
> +define Package/libtool/description
> +GNU libtool is a generic library support script. Libtool hides the
> complexity +of using shared libraries behind a consistent, portable
> interface. +endef
> +
>  define Build/InstallDev
>   $(MAKE) -C $(PKG_BUILD_DIR) \
>   bindir="$(2)/bin" \
> @@ -49,4 +62,30 @@ define Package/libltdl/install
>   $(CP) $(PKG_BUILD_DIR)/libltdl/.libs/libltdl.so.* $(1)/usr/lib/
>  endef
> 
> +define Package/libtool/install
> + $(INSTALL_DIR) $(1)/usr/bin
> + $(INSTALL_BIN) $(PKG_BUILD_DIR)/libtoolize $(1)/usr/bin
> + $(SED) 's|$$(STAGING_DIR_HOST)|/usr|g' \
> +   $(1)/usr/bin/libtoolize
> + $(SED) 's|$$(CONFIGURE_PREFIX)|/usr|g' \
> +   $(1)/usr/bin/libtoolize
> + $(SED) 's|/usr/bin/sed|/bin/sed|g' \
> +   $(1)/usr/bin/libtoolize
> + $(INSTALL_DIR) $(1)/usr/share/aclocal
> + for file in argz.m4 ltversion.m4 lt~obsolete.m4 libtool.m4 \
> +   ltoptions.m4 ltsugar.m4; do \
> + $(INSTALL_DATA) $(PKG_BUILD_DIR)/libltdl/m4/file \
> +   $(1)/usr/share/aclocal/; \
> + done
> + $(INSTALL_DIR) $(1)/usr/share/libtool/config
> + for file in (cd $(PKG_BUILD_DIR)/libltdl/config && \
> +   find . -maxdepth 1 -type f); do \
> + $(INSTALL_DATA) $(PKG_BUILD_DIR)/libltdl/config/file \
> +   $(1)/usr/share/libtool/config/; \
> + $(SED) 's|$$(STAGING_DIR_HOST)|/usr|g' \
> +   $(1)/usr/share/libtool/config/file; \
> + done
> +endef
> +
>  $(eval $(call BuildPackage,libltdl))
> +$(eval $(call BuildPackage,libtool))
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 3/6] ltq-vdsl-app: add/enable missing G.993.2 XTSE bits

2015-12-29 Thread Mathias Kresin
This patch adds the missing VDSL2 bits to the annex specific XTSE (like
it should be according to the comments above the XTSE bits).

Since r47933 it's mandatory to remove the annex option to switch to
VDSL2 (only) operation mode.

As shown by ticket #21436 and a few mails I received personally, even
experienced users are not aware that they have to remove the annex
option to get their VDSL2 line working and as shown by this patch it
doesn't need to be that "complicated".

Signed-off-by: Mathias Kresin 
---
 package/network/config/ltq-vdsl-app/files/dsl_control | 16 ++--
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index 3ead82b..9bd4eb5 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -18,13 +18,14 @@ EXTRA_HELP="status  Get DSL status information
 # G.992.1 Annex A
 # G.992.3 Annex A / L-US1 / L_US-2 / M
 # G.992.5 Annex A / M
-xtse_adsl_a="04_00_04_00_0C_01_04_00"
+# G.993.2 Annex A/B/C
+xtse_xdsl_a="04_00_04_00_0C_01_04_07"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
 # G.992.5 Annex B
 # G.993.2 Annex A/B/C
-xtse_adsl_b="10_00_10_00_00_04_00_00"
+xtse_adsl_b="10_00_10_00_00_04_00_07"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
@@ -32,7 +33,7 @@ xtse_adsl_b="10_00_10_00_00_04_00_00"
 # G.992.5 Annex B
 # G.992.5 Annex J
 # G.993.2 Annex A/B/C
-xtse_adsl_j="10_00_10_40_00_04_01_00"
+xtse_adsl_j="10_00_10_40_00_04_01_07"
 
 xtse_vdsl="00_00_00_00_00_00_00_07"
 
@@ -44,7 +45,6 @@ start_service() {
local annex
local firmware
local xtse
-   local xtse_adsl
local mode
 
config_load network
@@ -67,12 +67,8 @@ start_service() {
;;
esac
 
-   eval "xtse_adsl=\"\${xtse_adsl_$annex}\""
-   if [ "${xtse_adsl}" ]; then
-   xtse=$xtse_adsl
-   else
-   xtse=$xtse_vdsl
-   fi
+   eval "xtse=\"\${xtse_xdsl_$annex}\""
+   [ -z "${xtse}" ] && xtse=$xtse_vdsl
 
[ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
[ -f "${firmware}" ] || {
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/6] ltq-vdsl-app: disable Annex I

2015-12-29 Thread Mathias Kresin
Commit r47934 removed the comment about G.992.4 support, but enabled
G.992.4 Annex I without mention it (bit 6 of XTSE octet 5 [ITU-T
G.997.1 (06/2012) - section 7.3.1.1.1].

To my knowledge Annex I is not supported by the firmware.

Signed-off-by: Mathias Kresin 
---
 package/network/config/ltq-vdsl-app/files/dsl_control | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index cc65daa..3ead82b 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -11,10 +11,14 @@ EXTRA_HELP="status  Get DSL status information
 
 [ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
 
+#
+# ITU-T G.997.1 (06/2012) - Section 7.3.1.1.1 (xTU transmission system 
enabling (XTSE))
+#
+
 # G.992.1 Annex A
 # G.992.3 Annex A / L-US1 / L_US-2 / M
 # G.992.5 Annex A / M
-xtse_adsl_a="04_00_04_00_4C_01_04_00"
+xtse_adsl_a="04_00_04_00_0C_01_04_00"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 2/6] ltq-vdsl-app: disable Annex I

2015-12-29 Thread Mathias Kresin

Am 29.12.2015 um 22:34 schrieb Hauke Mehrtens:

Hi,

On 12/29/2015 09:56 PM, Mathias Kresin wrote:

Commit r47934 removed the comment about G.992.4 support, but enabled
G.992.4 Annex I without mention it (bit 6 of XTSE octet 5 [ITU-T
G.997.1 (06/2012) - section 7.3.1.1.1].


You are unsettling bit 7 in octet 5, this is used for Annex M G.992.3
POTS and supported by the firmware.


You're right! Octet 5 - 33 refers to bit 0, 34 to bit 1 and so on. I 
didn't noticed that the spec is written in "reverse order", till I 
touched the vectoring related bit and forget about it afterwards.


Thank you for the notice
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] lantiq: match default xdsl mode and default wan interface

2015-12-29 Thread Mathias Kresin
Signed-off-by: Mathias Kresin 
---
 target/linux/lantiq/base-files/etc/board.d/02_network | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/target/linux/lantiq/base-files/etc/board.d/02_network 
b/target/linux/lantiq/base-files/etc/board.d/02_network
index 8fc0835..15b1f8c 100755
--- a/target/linux/lantiq/base-files/etc/board.d/02_network
+++ b/target/linux/lantiq/base-files/etc/board.d/02_network
@@ -16,6 +16,7 @@ encaps="llc"
 payload="bridged"
 lan_mac=""
 wan_mac=""
+interface_wan=""
 
 board=$(lantiq_board_name)
 
@@ -132,15 +133,18 @@ esac
 
 if [ -n "$(ls /lib/modules/`uname -r`/ltq_atm*)" ]; then
ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload"
-   ucidef_set_interface_wan "nas0" "pppoe"
 fi
 
 if [ -n "$(grep "system type.*: VR9" /proc/cpuinfo)" ]; then
+   interface_wan="ptm0"
ucidef_add_vdsl_modem "$annex" "/lib/firmware/vdsl.bin" "av" "ptm"
 else
+   interface_wan="nas0"
ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
 fi
 
+ucidef_set_interface_wan "$interface_wan" "pppoe"
+
 [ -n "$lan_mac" ] && ucidef_set_interface_macaddr lan "$lan_mac"
 [ -n "$wan_mac" ] && ucidef_set_interface_macaddr wan "$wan_mac"
 
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/2] lantiq: convert vendorid into human readable form

2015-12-29 Thread Mathias Kresin
Signed-off-by: Mathias Kresin 
---
 .../lantiq/base-files/lib/functions/lantiq_dsl.sh  | 67 ++
 1 file changed, 67 insertions(+)

diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh 
b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
index ec035df..a2723f3 100755
--- a/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
+++ b/target/linux/lantiq/base-files/lib/functions/lantiq_dsl.sh
@@ -65,6 +65,70 @@ scale_latency() {
 }
 
 #
+# convert vendorid into human readable form
+#
+parse_vendorid() {
+   local val=$1
+   local name
+   local version
+
+   case "$val" in
+   B5,00,41,4C,43,42*)
+   name="Alcatel"
+   version=${val##*B5,00,41,4C,43,42,}
+   ;;
+   B5,00,41,4E,44,56*)
+   name="Analog Devices"
+   version=${val##*B5,00,41,4E,44,56,}
+   ;;
+   B5,00,42,44,43,4D*)
+   name="Broadcom"
+   version=${val##*B5,00,42,44,43,4D,}
+   ;;
+   B5,00,43,45,4E,54*)
+   name="Centillium"
+   version=${val##*B5,00,43,45,4E,54,}
+   ;;
+   B5,00,47,53,50,4E*)
+   name="Globespan"
+   version=${val##*B5,00,47,53,50,4E,}
+   ;;
+   B5,00,49,4B,4E,53*)
+   name="Ikanos"
+   version=${val##*B5,00,49,4B,4E,53,}
+   ;;
+   B5,00,49,46,54,4E*)
+   name="Infineon"
+   version=${val##*B5,00,49,46,54,4E,}
+   ;;
+   B5,00,54,53,54,43*)
+   name="Texas Instruments"
+   version=${val##*B5,00,54,53,54,43,}
+   ;;
+   B5,00,54,4D,4D,42*)
+   name="Thomson MultiMedia Broadband"
+   version=${val##*B5,00,54,4D,4D,42,}
+   ;;
+   B5,00,54,43,54,4E*)
+   name="Trend Chip Technologies"
+   version=${val##*B5,00,54,43,54,4E,}
+   ;;
+   B5,00,53,54,4D,49*)
+   name="ST Micro"
+   version=${val##*B5,00,53,54,4D,49,}
+   ;;
+   esac
+
+   [ -n "$name" ] && {
+   val="$name"
+
+   [ "$version" != "00,00" ] && val="$(printf "%s %d.%d" "$val" 
0x${version//,/ 0x})"
+   }
+
+   echo "$val"
+}
+
+#
 # Read the data rates for both directions
 #
 data_rates() {
@@ -133,6 +197,9 @@ vendor() {
vid=$(dsl_string "$lig" G994VendorID)
svid=$(dsl_string "$lig" SystemVendorID)
 
+   vid=$(parse_vendorid $vid)
+   svid=$(parse_vendorid $svid)
+
if [ "$action" = "lucistat" ]; then
echo "dsl.atuc_vendor_id=\"${vid}\""
echo "dsl.atuc_system_vendor_id=\"${svid}\""
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH 3/6] ltq-vdsl-app: add/enable missing G.993.2 XTSE bits

2015-12-29 Thread Hauke Mehrtens


On 12/29/2015 09:56 PM, Mathias Kresin wrote:
> This patch adds the missing VDSL2 bits to the annex specific XTSE (like
> it should be according to the comments above the XTSE bits).
> 
> Since r47933 it's mandatory to remove the annex option to switch to
> VDSL2 (only) operation mode.
> 
> As shown by ticket #21436 and a few mails I received personally, even
> experienced users are not aware that they have to remove the annex
> option to get their VDSL2 line working and as shown by this patch it
> doesn't need to be that "complicated".
> 
> Signed-off-by: Mathias Kresin 

Acked-By: Hauke Mehrtens 

Activating VDSL every time should be OK for the CPE devices with VDSL
support. I do not know what happens with ADSL only chips. this could
still cause inter interoperability problems with some broken? DSLAMs.

> ---
>  package/network/config/ltq-vdsl-app/files/dsl_control | 16 ++--
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
> b/package/network/config/ltq-vdsl-app/files/dsl_control
> index 3ead82b..9bd4eb5 100644
> --- a/package/network/config/ltq-vdsl-app/files/dsl_control
> +++ b/package/network/config/ltq-vdsl-app/files/dsl_control
> @@ -18,13 +18,14 @@ EXTRA_HELP="  status  Get DSL status information
>  # G.992.1 Annex A
>  # G.992.3 Annex A / L-US1 / L_US-2 / M
>  # G.992.5 Annex A / M
> -xtse_adsl_a="04_00_04_00_0C_01_04_00"
> +# G.993.2 Annex A/B/C
> +xtse_xdsl_a="04_00_04_00_0C_01_04_07"
>  
>  # G.992.1 Annex B
>  # G.992.3 Annex B
>  # G.992.5 Annex B
>  # G.993.2 Annex A/B/C
> -xtse_adsl_b="10_00_10_00_00_04_00_00"
> +xtse_adsl_b="10_00_10_00_00_04_00_07"
>  
>  # G.992.1 Annex B
>  # G.992.3 Annex B
> @@ -32,7 +33,7 @@ xtse_adsl_b="10_00_10_00_00_04_00_00"
>  # G.992.5 Annex B
>  # G.992.5 Annex J
>  # G.993.2 Annex A/B/C
> -xtse_adsl_j="10_00_10_40_00_04_01_00"
> +xtse_adsl_j="10_00_10_40_00_04_01_07"
>  
>  xtse_vdsl="00_00_00_00_00_00_00_07"
>  
> @@ -44,7 +45,6 @@ start_service() {
>   local annex
>   local firmware
>   local xtse
> - local xtse_adsl
>   local mode
>  
>   config_load network
> @@ -67,12 +67,8 @@ start_service() {
>   ;;
>   esac
>  
> - eval "xtse_adsl=\"\${xtse_adsl_$annex}\""
> - if [ "${xtse_adsl}" ]; then
> - xtse=$xtse_adsl
> - else
> - xtse=$xtse_vdsl
> - fi
> + eval "xtse=\"\${xtse_xdsl_$annex}\""
> + [ -z "${xtse}" ] && xtse=$xtse_vdsl
>  
>   [ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
>   [ -f "${firmware}" ] || {
> 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/6] ltq-vdsl-app: use the final xtse format

2015-12-29 Thread Mathias Kresin
This way we can drop the call to sed.

Signed-off-by: Mathias Kresin 
---
 package/network/config/ltq-vdsl-app/files/dsl_control | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control 
b/package/network/config/ltq-vdsl-app/files/dsl_control
index f875e3d..cc65daa 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -14,13 +14,13 @@ EXTRA_HELP="status  Get DSL status information
 # G.992.1 Annex A
 # G.992.3 Annex A / L-US1 / L_US-2 / M
 # G.992.5 Annex A / M
-xtse_adsl_a="04 00 04 00 4C 01 04 00"
+xtse_adsl_a="04_00_04_00_4C_01_04_00"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
 # G.992.5 Annex B
 # G.993.2 Annex A/B/C
-xtse_adsl_b="10 00 10 00 00 04 00 00"
+xtse_adsl_b="10_00_10_00_00_04_00_00"
 
 # G.992.1 Annex B
 # G.992.3 Annex B
@@ -28,9 +28,9 @@ xtse_adsl_b="10 00 10 00 00 04 00 00"
 # G.992.5 Annex B
 # G.992.5 Annex J
 # G.993.2 Annex A/B/C
-xtse_adsl_j="10 00 10 40 00 04 01 00"
+xtse_adsl_j="10_00_10_40_00_04_01_00"
 
-xtse_vdsl="00 00 00 00 00 00 00 07"
+xtse_vdsl="00_00_00_00_00_00_00_07"
 
 service_triggers() {
procd_add_reload_trigger network
@@ -78,7 +78,7 @@ start_service() {
 
procd_open_instance
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
-   -i`echo $xtse | sed "s/ /_/g"` \
+   -i$xtse \
-n /sbin/dsl_notify.sh \
-f ${firmware} \
-M ${mode}
-- 
1.9.1
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] ramips: mtk_soc_eth vs old ralink ethernet driver for the M2M

2015-12-29 Thread Russell Senior
> "Russell" == Russell Senior  writes:

> "John" == John Crispin  writes:
John> i'll try to test during the day. i had tested most socs but
John> apparently 5350 still has an issue.

Russell> Yes, I saw this too, and was about to report it.  I'm seeing it
Russell> on an AsiaRF AWM002, which is also an RT5350.

Russell> swconfig list returns nothing, fwiw.

Any progress on this?  Afaik, rt5350 ethernet is still broken in trunk.


-- 
Russell Senior, President
russ...@personaltelco.net
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] add UCI option for leasetime per static host

2015-12-29 Thread ufomanfred
Hi guys,

I wanted to use this feature and decided to figure out how to commit to the
awesome OpenWrt project.

I am completely new to development so please be kind when reviewing. I
appreciate any (constructive) feedback!

Cheers, ufomanfred

Edit: screw you HTML webmail client..

---
package/network/services/dnsmasq/files/dnsmasq.init | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/network/services/dnsmasq/files/dnsmasq.init
b/package/network/services/dnsmasq/files/dnsmasq.init
index 3ef2b3d..f89bd8c 100644
--- a/package/network/services/dnsmasq/files/dnsmasq.init
+++ b/package/network/services/dnsmasq/files/dnsmasq.init
@@ -334,7 +334,9 @@ dhcp_host_add() {
config_get_bool broadcast "$cfg" broadcast 0
[ "$broadcast" = "0" ] && broadcast=

- xappend
"--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"
+ config_get leasetime "$cfg" leasetime
+
+ xappend
"--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}${leasetime:+,$leasetime}"
}

dhcp_tag_add() {
-- 
2.1.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] add UCI option for leasetime per static host

2015-12-29 Thread ufomanfred

Hi guys,I wanted to use this feature and decided to figure out how to commit to the awesome OpenWrt project.I am completely new to development so please be kind when reviewing. I appreciate any (constructive) feedback!Cheers, ufomanfred--- package/network/services/dnsmasq/files/dnsmasq.init | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)diff --git a/package/network/services/dnsmasq/files/dnsmasq.init b/package/network/services/dnsmasq/files/dnsmasq.initindex 3ef2b3d..f89bd8c 100644--- a/package/network/services/dnsmasq/files/dnsmasq.init+++ b/package/network/services/dnsmasq/files/dnsmasq.init@@ -334,7 +334,9 @@ dhcp_host_add() { config_get_bool broadcast "$cfg" broadcast 0 [ "$broadcast" = "0" ] && broadcast= - xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}"+ config_get leasetime "$cfg" leasetime++ xappend "--dhcp-host=$macs${networkid:+,net:$networkid}${broadcast:+,set:needs-broadcast}${tag:+,set:$tag}${ip:+,$ip}${name:+,$name}${leasetime:+,$leasetime}" }  dhcp_tag_add() {-- 2.1.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH v1] ramips: Remove LED GPIO definitions in MQmaker WiTi device tree

2015-12-29 Thread Sebastian Careba
LED's were defined wrong in the device tree file, they are hardware driven 
because they are connected directly to the switch chip and wireless chips 
respectively, thus no GPIO addresses are assigned to them. It is safe to remove 
them from the device tree file to stop confusion.

Signed-off-by: Sebastian Careba 
---
 target/linux/ramips/dts/WITI.dts | 19 ---
 1 file changed, 19 deletions(-)

diff --git a/target/linux/ramips/dts/WITI.dts b/target/linux/ramips/dts/WITI.dts
index 9b03147..fe60de6 100644
--- a/target/linux/ramips/dts/WITI.dts
+++ b/target/linux/ramips/dts/WITI.dts
@@ -103,25 +103,6 @@
mtd-mac-address = < 0xe000>;
};
 
-   gpio-leds {
-   compatible = "gpio-leds";
-
-   power {
-   label = "witi:green:power";
-   gpios = < 25 1>;
-   };
-
-   sys {
-   label = "witi:green:sys";
-   gpios = < 24 1>;
-   };
-
-   internet {
-   label = "witi:green:internet";
-   gpios = < 23 1>;
-   };
-   };
-
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
-- 
2.1.4
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] Fwd: OpenVSwitch 2.5.0 for Linux kernel 4.3

2015-12-29 Thread Ronaldo Afonso
  Hi all,

  I'd like to take advantage of that thread and ask you guys if there is
someone working on porting "netifd package" to support Open vSwitch.

  Jeroen,

  How are you planning to configure your /etc/config/network file in order
for it to work with Open vSwitch?

  Thanks in advance ...


2015-12-29 0:34 GMT-02:00 Yousong Zhou :

> On 29 December 2015 at 04:33, Jeroen van Bemmel  wrote:
> > All,
> >
> > For a Xiaomi Mini WiFi router I wanted to try OpenVSwitch, but the
> > 2.4.0 version available in the feeds only supports Linux kernels up to
> > 4.1. The ramips target uses kernel 4.3, and downgrading to 4.1 didn't
> work
> > for me.
> >
> > OpenVSwitch 2.5.0 does support kernel 4.3, so I made some
> > modifications to the package Makefile to build the newer version. Most
> > of the patches are no longer needed, and with some minor patch the
> > code builds now
> > ( though I haven't tested it on the target )
> >
> > Is anyone else interested in these changes, and if so what would be
> > the proper way to add a second version of the existing package ( with
> > its own source code URL + patches )? Would it be a delta on the
> > existing package, or a new "openvswitch-2.5.0" package?
> >
>
> I think we can just move to 2.5.0.  Use the newest version or the LTS
> version (2.3.2).
>
> Open vSwitch is provided through the packages feed, so opening
> issue/pr there should be better.
>
> yousong
>
> > Thanks,
> > Jeroen van Bemmel
> > ___
> > openwrt-devel mailing list
> > openwrt-devel@lists.openwrt.org
> > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>



-- 
Ronaldo Afonso
11 9 5252 0484
www.ronaldoafonso.com.br
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] kernel: generic 4.1 & 4.4 perf: musl compatibility

2015-12-29 Thread Kevin Darbyshire-Bryant
Enable linux perf tools to compile under musl.

Tested on MIPS Archer c7 v2 & ARM Linksys 1200ac.

With thanks to Dave Taht  who
did the heavy lifting.

Signed-off-by: Kevin Darbyshire-Bryant 
---
 package/devel/perf/Makefile|   2 +-
 .../patches-4.1/280-perf-fixes-for-musl.patch  | 148 +
 .../patches-4.4/280-perf-fixes-for-musl.patch  | 147 
 3 files changed, 296 insertions(+), 1 deletion(-)
 create mode 100644 
target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
 create mode 100644 
target/linux/generic/patches-4.4/280-perf-fixes-for-musl.patch

diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
index 5e3d63f..46ddb92 100644
--- a/package/devel/perf/Makefile
+++ b/package/devel/perf/Makefile
@@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/perf
   SECTION:=devel
   CATEGORY:=Development
-  DEPENDS:= @USE_GLIBC +libelf1 +libdw +libpthread +librt +binutils
+  DEPENDS:= @USE_MUSL +libelf1 +libdw +libpthread +librt +binutils
   TITLE:=Linux performance monitoring tool
   VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
   URL:=http://www.kernel.org
diff --git a/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch 
b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
new file mode 100644
index 000..0e8b6d8
--- /dev/null
+++ b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
@@ -0,0 +1,148 @@
+kernel: 4.1 perf: musl compatibility
+
+Allow linux perf tool to compile under musl.
+
+Backport to 4.1 by Kevin D-B with thanks to Dave
+Taht  for the heavy lifting.
+
+Signed-off-by: Kevin Darbyshire-Bryant 
+
+---
+ tools/lib/api/fs/debugfs.c |  4 
+ tools/lib/traceevent/event-parse.c |  4 
+ tools/perf/perf.c  | 17 -
+ tools/perf/util/cache.h|  2 +-
+ tools/perf/util/cloexec.c  |  4 
+ tools/perf/util/cloexec.h  |  4 
+ tools/perf/util/util.h |  4 
+ 7 files changed, 29 insertions(+), 10 deletions(-)
+
+diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c
+index 8305b3e..5d1745c 100644
+--- a/tools/lib/api/fs/debugfs.c
 b/tools/lib/api/fs/debugfs.c
+@@ -17,6 +17,10 @@
+ #define DEBUGFS_DEFAULT_PATH  "/sys/kernel/debug"
+ #endif
+ 
++/* musl has a xpg compliant strerror_r by default */
++#define strerror_r(err, buf, buflen) \
++  (strerror_r(err, buf, buflen) ? NULL : buf)
++
+ char debugfs_mountpoint[PATH_MAX + 1] = DEBUGFS_DEFAULT_PATH;
+ 
+ static const char * const debugfs_known_mountpoints[] = {
+diff --git a/tools/lib/traceevent/event-parse.c 
b/tools/lib/traceevent/event-parse.c
+index ed5461f..f151369 100644
+--- a/tools/lib/traceevent/event-parse.c
 b/tools/lib/traceevent/event-parse.c
+@@ -36,6 +36,10 @@
+ #include "event-parse.h"
+ #include "event-utils.h"
+ 
++/* musl has a xpg compliant strerror_r by default */
++#define strerror_r(err, buf, buflen) \
++(strerror_r(err, buf, buflen) ? NULL : buf)
++
+ static const char *input_buf;
+ static unsigned long long input_buf_ptr;
+ static unsigned long long input_buf_siz;
+diff --git a/tools/perf/perf.c b/tools/perf/perf.c
+index b857fcb..3e67fa2 100644
+--- a/tools/perf/perf.c
 b/tools/perf/perf.c
+@@ -505,6 +505,21 @@ void pthread__unblock_sigwinch(void)
+   pthread_sigmask(SIG_UNBLOCK, , NULL);
+ }
+ 
++unsigned cache_line_size(void);
++
++unsigned cache_line_size(void) {
++  FILE * p = 0;
++  unsigned int i = 0;
++  p = 
fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r");
++  if (p) {
++  if(fscanf(p, "%d", ) != 1) {
++  perror("cannot determine cache line size");
++  }
++  fclose(p);
++  }
++  return i;
++}
++
+ int main(int argc, const char **argv)
+ {
+   const char *cmd;
+@@ -512,7 +527,7 @@ int main(int argc, const char **argv)
+ 
+   /* The page_size is placed in util object. */
+   page_size = sysconf(_SC_PAGE_SIZE);
+-  cacheline_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
++  cacheline_size = cache_line_size();
+ 
+   cmd = perf_extract_argv0_path(argv[0]);
+   if (!cmd)
+diff --git a/tools/perf/util/cache.h b/tools/perf/util/cache.h
+index fbcca21..9b23c4a 100644
+--- a/tools/perf/util/cache.h
 b/tools/perf/util/cache.h
+@@ -72,7 +72,7 @@ extern char *perf_path(const char *fmt, ...) 
__attribute__((format (printf, 1, 2
+ extern char *perf_pathdup(const char *fmt, ...)
+   __attribute__((format (printf, 1, 2)));
+ 
+-#ifndef __UCLIBC__
++#if !defined(__UCLIBC__) && defined(__GLIBC__) 
+ /* Matches the libc/libbsd function attribute so we declare this 
unconditionally: */
+ extern size_t strlcpy(char *dest, const char *src, size_t size);
+ #endif
+diff --git a/tools/perf/util/cloexec.c 

Re: [OpenWrt-Devel] Fwd: OpenVSwitch 2.5.0 for Linux kernel 4.3

2015-12-29 Thread Alexandru Ardelean
@Ronaldo: there was a patch submission to add OVS support to netifd.
http://comments.gmane.org/gmane.comp.embedded.openwrt.devel/21591

I was not accepted from the looks of it.

Regarding the discussion about the upgrade to 2.5.0.
Let's move it here:
https://github.com/openwrt/packages/issues/2201



On Tue, Dec 29, 2015 at 1:35 PM, Ronaldo Afonso <
rona...@ronaldoafonso.com.br> wrote:

>   Hi all,
>
>   I'd like to take advantage of that thread and ask you guys if there is
> someone working on porting "netifd package" to support Open vSwitch.
>
>   Jeroen,
>
>   How are you planning to configure your /etc/config/network file in order
> for it to work with Open vSwitch?
>
>   Thanks in advance ...
>
>
> 2015-12-29 0:34 GMT-02:00 Yousong Zhou :
>
>> On 29 December 2015 at 04:33, Jeroen van Bemmel  wrote:
>> > All,
>> >
>> > For a Xiaomi Mini WiFi router I wanted to try OpenVSwitch, but the
>> > 2.4.0 version available in the feeds only supports Linux kernels up to
>> > 4.1. The ramips target uses kernel 4.3, and downgrading to 4.1 didn't
>> work
>> > for me.
>> >
>> > OpenVSwitch 2.5.0 does support kernel 4.3, so I made some
>> > modifications to the package Makefile to build the newer version. Most
>> > of the patches are no longer needed, and with some minor patch the
>> > code builds now
>> > ( though I haven't tested it on the target )
>> >
>> > Is anyone else interested in these changes, and if so what would be
>> > the proper way to add a second version of the existing package ( with
>> > its own source code URL + patches )? Would it be a delta on the
>> > existing package, or a new "openvswitch-2.5.0" package?
>> >
>>
>> I think we can just move to 2.5.0.  Use the newest version or the LTS
>> version (2.3.2).
>>
>> Open vSwitch is provided through the packages feed, so opening
>> issue/pr there should be better.
>>
>> yousong
>>
>> > Thanks,
>> > Jeroen van Bemmel
>> > ___
>> > openwrt-devel mailing list
>> > openwrt-devel@lists.openwrt.org
>> > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>> ___
>> openwrt-devel mailing list
>> openwrt-devel@lists.openwrt.org
>> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>>
>
>
>
> --
> Ronaldo Afonso
> 11 9 5252 0484
> www.ronaldoafonso.com.br
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
>
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


Re: [OpenWrt-Devel] [PATCH] kernel: generic 4.1 & 4.4 perf: musl compatibility

2015-12-29 Thread Hauke Mehrtens


On 12/29/2015 11:14 AM, Kevin Darbyshire-Bryant wrote:
> Enable linux perf tools to compile under musl.
> 
> Tested on MIPS Archer c7 v2 & ARM Linksys 1200ac.
> 
> With thanks to Dave Taht  who
> did the heavy lifting.
> 
> Signed-off-by: Kevin Darbyshire-Bryant 
> ---
>  package/devel/perf/Makefile|   2 +-
>  .../patches-4.1/280-perf-fixes-for-musl.patch  | 148 
> +
>  .../patches-4.4/280-perf-fixes-for-musl.patch  | 147 
>  3 files changed, 296 insertions(+), 1 deletion(-)
>  create mode 100644 
> target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
>  create mode 100644 
> target/linux/generic/patches-4.4/280-perf-fixes-for-musl.patch
> 
> diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
> index 5e3d63f..46ddb92 100644
> --- a/package/devel/perf/Makefile
> +++ b/package/devel/perf/Makefile
> @@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
>  define Package/perf
>SECTION:=devel
>CATEGORY:=Development
> -  DEPENDS:= @USE_GLIBC +libelf1 +libdw +libpthread +librt +binutils
> +  DEPENDS:= @USE_MUSL +libelf1 +libdw +libpthread +librt +binutils

Does it not work with GLIBC any more or why do you make it depend on
musl only now? Does this work with uclibc-ng?

I assume that this will not work on kernel 3.18 and kernel 4.3, which is
fine, as you haven't added patches for these kernel versions, but the
dependency is missing. Please add @!LINUX_3_18 @!LINUX_4_3

Will this be in kernel 4.5?

>TITLE:=Linux performance monitoring tool
>VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
>URL:=http://www.kernel.org
> diff --git a/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch 
> b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
> new file mode 100644
> index 000..0e8b6d8
> --- /dev/null
> +++ b/target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
> @@ -0,0 +1,148 @@
> +kernel: 4.1 perf: musl compatibility
> +
> +Allow linux perf tool to compile under musl.
> +
> +Backport to 4.1 by Kevin D-B with thanks to Dave
> +Taht  for the heavy lifting.
> +
> +Signed-off-by: Kevin Darbyshire-Bryant 
> +
> +---
> + tools/lib/api/fs/debugfs.c |  4 
> + tools/lib/traceevent/event-parse.c |  4 
> + tools/perf/perf.c  | 17 -
> + tools/perf/util/cache.h|  2 +-
> + tools/perf/util/cloexec.c  |  4 
> + tools/perf/util/cloexec.h  |  4 
> + tools/perf/util/util.h |  4 
> + 7 files changed, 29 insertions(+), 10 deletions(-)
> +
> +diff --git a/tools/lib/api/fs/debugfs.c b/tools/lib/api/fs/debugfs.c
> +index 8305b3e..5d1745c 100644
> +--- a/tools/lib/api/fs/debugfs.c
>  b/tools/lib/api/fs/debugfs.c
> +@@ -17,6 +17,10 @@
> + #define DEBUGFS_DEFAULT_PATH"/sys/kernel/debug"
> + #endif
> + 
> ++/* musl has a xpg compliant strerror_r by default */
> ++#define strerror_r(err, buf, buflen) \
> ++(strerror_r(err, buf, buflen) ? NULL : buf)
> ++
> + char debugfs_mountpoint[PATH_MAX + 1] = DEBUGFS_DEFAULT_PATH;
> + 
> + static const char * const debugfs_known_mountpoints[] = {
> +diff --git a/tools/lib/traceevent/event-parse.c 
> b/tools/lib/traceevent/event-parse.c
> +index ed5461f..f151369 100644
> +--- a/tools/lib/traceevent/event-parse.c
>  b/tools/lib/traceevent/event-parse.c
> +@@ -36,6 +36,10 @@
> + #include "event-parse.h"
> + #include "event-utils.h"
> + 
> ++/* musl has a xpg compliant strerror_r by default */
> ++#define strerror_r(err, buf, buflen) \
> ++(strerror_r(err, buf, buflen) ? NULL : buf)
> ++
> + static const char *input_buf;
> + static unsigned long long input_buf_ptr;
> + static unsigned long long input_buf_siz;
> +diff --git a/tools/perf/perf.c b/tools/perf/perf.c
> +index b857fcb..3e67fa2 100644
> +--- a/tools/perf/perf.c
>  b/tools/perf/perf.c
> +@@ -505,6 +505,21 @@ void pthread__unblock_sigwinch(void)
> + pthread_sigmask(SIG_UNBLOCK, , NULL);
> + }
> + 
> ++unsigned cache_line_size(void);
> ++
> ++unsigned cache_line_size(void) {
> ++FILE * p = 0;
> ++unsigned int i = 0;
> ++p = 
> fopen("/sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size", "r");
> ++if (p) {
> ++if(fscanf(p, "%d", ) != 1) {
> ++perror("cannot determine cache line size");
> ++}
> ++fclose(p);
> ++}
> ++return i;
> ++}
> ++
> + int main(int argc, const char **argv)
> + {
> + const char *cmd;
> +@@ -512,7 +527,7 @@ int main(int argc, const char **argv)
> + 
> + /* The page_size is placed in util object. */
> + page_size = sysconf(_SC_PAGE_SIZE);
> +-cacheline_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
> ++cacheline_size = cache_line_size();
> + 
> + cmd = perf_extract_argv0_path(argv[0]);
> + if (!cmd)
> +diff --git 

Re: [OpenWrt-Devel] [PATCH] kernel: generic 4.1 & 4.4 perf: musl compatibility

2015-12-29 Thread Kevin Darbyshire-Bryant


On 29/12/15 11:13, Hauke Mehrtens wrote:
>
> On 12/29/2015 11:14 AM, Kevin Darbyshire-Bryant wrote:
>> Enable linux perf tools to compile under musl.
>>
>> Tested on MIPS Archer c7 v2 & ARM Linksys 1200ac.
>>
>> With thanks to Dave Taht  who
>> did the heavy lifting.
>>
>> Signed-off-by: Kevin Darbyshire-Bryant 
>> ---
>>  package/devel/perf/Makefile|   2 +-
>>  .../patches-4.1/280-perf-fixes-for-musl.patch  | 148 
>> +
>>  .../patches-4.4/280-perf-fixes-for-musl.patch  | 147 
>> 
>>  3 files changed, 296 insertions(+), 1 deletion(-)
>>  create mode 100644 
>> target/linux/generic/patches-4.1/280-perf-fixes-for-musl.patch
>>  create mode 100644 
>> target/linux/generic/patches-4.4/280-perf-fixes-for-musl.patch
>>
>> diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
>> index 5e3d63f..46ddb92 100644
>> --- a/package/devel/perf/Makefile
>> +++ b/package/devel/perf/Makefile
>> @@ -19,7 +19,7 @@ include $(INCLUDE_DIR)/package.mk
>>  define Package/perf
>>SECTION:=devel
>>CATEGORY:=Development
>> -  DEPENDS:= @USE_GLIBC +libelf1 +libdw +libpthread +librt +binutils
>> +  DEPENDS:= @USE_MUSL +libelf1 +libdw +libpthread +librt +binutils
Hi Hauke,

Let me prefix this with "I don't know what I'm doing"
> Does it not work with GLIBC any more or why do you make it depend on
> musl only now? Does this work with uclibc-ng?
I suspect it'll break spectacularly with glibc.  I'm sure the patches
could be modified to have both glibc & musl compatibility but it's
beyond my wit to know how.  I was interested in getting perf to work
(without enabling broken packages) under Archer C7 v2 which uses musl
now by default.  I've no idea about uclibc-ng.
>
> I assume that this will not work on kernel 3.18 and kernel 4.3, which is
> fine, as you haven't added patches for these kernel versions, but the
> dependency is missing. Please add @!LINUX_3_18 @!LINUX_4_3
Now that's something I can doif it's worth the bother bearing in
mind other comments?
>
> Will this be in kernel 4.5?
No idea.  My Archer (ar71xx) isn't on 4.4 yet let alone 4.5


A few people have put effort into getting perf running on the above
mentioned platforms, I thought it worth throwing at OpenWrt devel list
as a patch to pass the effort on and see what sticks :-)  If it doesn't
stick then fair enough.

Kevin




smime.p7s
Description: S/MIME Cryptographic Signature
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 1/2] swconfig: support sending SWITCH_TYPE_LINK to kernel

2015-12-29 Thread Rafał Miłecki
Signed-off-by: Rafał Miłecki 
---
 package/network/config/swconfig/src/swlib.c | 38 +
 1 file changed, 38 insertions(+)

diff --git a/package/network/config/swconfig/src/swlib.c 
b/package/network/config/swconfig/src/swlib.c
index 908e0fb..7bcd8d2 100644
--- a/package/network/config/swconfig/src/swlib.c
+++ b/package/network/config/swconfig/src/swlib.c
@@ -337,6 +337,40 @@ nla_put_failure:
 }
 
 static int
+send_attr_link(struct nl_msg *msg, struct switch_val *val)
+{
+   struct switch_port_link *link = val->value.link;
+   struct nlattr *n;
+
+   n = nla_nest_start(msg, SWITCH_ATTR_OP_VALUE_LINK);
+   if (!n)
+   goto nla_put_failure;
+
+   if (link->link)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_LINK);
+   if (link->duplex)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_DUPLEX);
+   if (link->aneg)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_ANEG);
+   if (link->tx_flow)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_TX_FLOW);
+   if (link->rx_flow)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_RX_FLOW);
+   NLA_PUT_U32(msg, SWITCH_LINK_SPEED, link->speed);
+   if (link->eee & SWLIB_LINK_FLAG_EEE_100BASET)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_EEE_100BASET);
+   if (link->eee & SWLIB_LINK_FLAG_EEE_1000BASET)
+   NLA_PUT_FLAG(msg, SWITCH_LINK_FLAG_EEE_1000BASET);
+
+   nla_nest_end(msg, n);
+
+   return 0;
+
+nla_put_failure:
+   return -1;
+}
+
+static int
 send_attr_val(struct nl_msg *msg, void *arg)
 {
struct switch_val *val = arg;
@@ -360,6 +394,10 @@ send_attr_val(struct nl_msg *msg, void *arg)
if (send_attr_ports(msg, val) < 0)
goto nla_put_failure;
break;
+   case SWITCH_TYPE_LINK:
+   if (send_attr_link(msg, val))
+   goto nla_put_failure;
+   break;
default:
goto nla_put_failure;
}
-- 
1.8.4.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH 2/2] swconfig: add API for setting port link speed

2015-12-29 Thread Rafał Miłecki
Some switches can force link speed for a port. Let's add API that will
allow drivers to export this feature.

Signed-off-by: Rafał Miłecki 
---
 .../linux/generic/files/drivers/net/phy/swconfig.c | 63 +-
 target/linux/generic/files/include/linux/switch.h  |  2 +
 2 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/target/linux/generic/files/drivers/net/phy/swconfig.c 
b/target/linux/generic/files/drivers/net/phy/swconfig.c
index 07efda0..08b18ca 100644
--- a/target/linux/generic/files/drivers/net/phy/swconfig.c
+++ b/target/linux/generic/files/drivers/net/phy/swconfig.c
@@ -128,6 +128,16 @@ swconfig_get_pvid(struct switch_dev *dev, const struct 
switch_attr *attr,
 }
 
 static int
+swconfig_set_link(struct switch_dev *dev, const struct switch_attr *attr,
+   struct switch_val *val)
+{
+   if (!dev->ops->set_port_link)
+   return -EOPNOTSUPP;
+
+   return dev->ops->set_port_link(dev, val->port_vlan, val->value.link);
+}
+
+static int
 swconfig_get_link(struct switch_dev *dev, const struct switch_attr *attr,
struct switch_val *val)
 {
@@ -206,7 +216,7 @@ static struct switch_attr default_port[] = {
.type = SWITCH_TYPE_LINK,
.name = "link",
.description = "Get port link information",
-   .set = NULL,
+   .set = swconfig_set_link,
.get = swconfig_get_link,
}
 };
@@ -282,6 +292,15 @@ static const struct nla_policy 
port_policy[SWITCH_PORT_ATTR_MAX+1] = {
[SWITCH_PORT_FLAG_TAGGED] = { .type = NLA_FLAG },
 };
 
+static struct nla_policy link_policy[SWITCH_LINK_ATTR_MAX] = {
+   [SWITCH_LINK_FLAG_LINK] = { .type = NLA_FLAG },
+   [SWITCH_LINK_FLAG_DUPLEX] = { .type = NLA_FLAG },
+   [SWITCH_LINK_FLAG_ANEG] = { .type = NLA_FLAG },
+   [SWITCH_LINK_SPEED] = { .type = NLA_U32 },
+   [SWITCH_LINK_FLAG_EEE_100BASET] = { .type = NLA_FLAG },
+   [SWITCH_LINK_FLAG_EEE_1000BASET] = { .type = NLA_FLAG },
+};
+
 static inline void
 swconfig_lock(void)
 {
@@ -595,6 +614,33 @@ swconfig_parse_ports(struct sk_buff *msg, struct nlattr 
*head,
 }
 
 static int
+swconfig_parse_link(struct sk_buff *msg, struct nlattr *nla,
+   struct switch_port_link *link)
+{
+   struct nlattr *tb[SWITCH_LINK_ATTR_MAX + 1];
+
+   if (nla_parse_nested(tb, SWITCH_LINK_ATTR_MAX, nla, link_policy))
+   return -EINVAL;
+
+   if (!tb[SWITCH_PORT_ID])
+   return -EINVAL;
+
+   link->link = !!tb[SWITCH_LINK_FLAG_LINK];
+   link->duplex = !!tb[SWITCH_LINK_FLAG_DUPLEX];
+   link->aneg = !!tb[SWITCH_LINK_FLAG_ANEG];
+   link->tx_flow = !!tb[SWITCH_LINK_FLAG_TX_FLOW];
+   link->rx_flow = !!tb[SWITCH_LINK_FLAG_RX_FLOW];
+   link->speed = nla_get_u32(tb[SWITCH_LINK_SPEED]);
+   link->eee = 0;
+   if (tb[SWITCH_LINK_FLAG_EEE_100BASET])
+   link->eee |= ADVERTISED_100baseT_Full;
+   if (tb[SWITCH_LINK_FLAG_EEE_1000BASET])
+   link->eee |= ADVERTISED_1000baseT_Full;
+
+   return 0;
+}
+
+static int
 swconfig_set_attr(struct sk_buff *skb, struct genl_info *info)
 {
const struct switch_attr *attr;
@@ -644,6 +690,21 @@ swconfig_set_attr(struct sk_buff *skb, struct genl_info 
*info)
err = 0;
}
break;
+   case SWITCH_TYPE_LINK:
+   val.value.link = >linkbuf;
+   memset(>linkbuf, 0, sizeof(struct switch_port_link));
+
+   if (info->attrs[SWITCH_ATTR_OP_VALUE_LINK]) {
+   err = swconfig_parse_link(skb,
+ 
info->attrs[SWITCH_ATTR_OP_VALUE_LINK],
+ val.value.link);
+   if (err < 0)
+   goto error;
+   } else {
+   val.len = 0;
+   err = 0;
+   }
+   break;
default:
goto error;
}
diff --git a/target/linux/generic/files/include/linux/switch.h 
b/target/linux/generic/files/include/linux/switch.h
index eac35f9..4ada0e5 100644
--- a/target/linux/generic/files/include/linux/switch.h
+++ b/target/linux/generic/files/include/linux/switch.h
@@ -95,6 +95,8 @@ struct switch_dev_ops {
 
int (*get_port_link)(struct switch_dev *dev, int port,
 struct switch_port_link *link);
+   int (*set_port_link)(struct switch_dev *dev, int port,
+struct switch_port_link *link);
int (*get_port_stats)(struct switch_dev *dev, int port,
  struct switch_port_stats *stats);
 };
-- 
1.8.4.5
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


[OpenWrt-Devel] [PATCH] fstools: allow block to mount F2FS partitions

2015-12-29 Thread bel3atar

Allow the block program to mount F2FS partitions
Signed-off-by: Mohammed Ousama BELATAR 
---
 block.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


diff --git a/block.c b/block.c
index c6d1b90..a27662f 100644
--- a/block.c
+++ b/block.c
@@ -1084,7 +1084,8 @@ static int mount_extroot(char *cfg)
}
if (pr) {
if (strncmp(pr->id->name, "ext", 3) &&
-   strncmp(pr->id->name, "ubifs", 5)) {
+   strncmp(pr->id->name, "ubifs", 5) &&
+   strncmp(pr->id->name, "f2fs", 4)) {
ULOG_ERR("extroot: unsupported filesystem %s, try 
ext4\n", pr->id->name);
return -1;
}
-- 
___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel