From ae4d531f375f0b1b3c3f24c3042b853980829385 Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (via Araneus server)" Date: Sat, 19 Jun 2021 21:19:45 +0300 Subject: [PATCH] Check MAC for Xiongmai devices and some small fixes --- .../files/script/S99hisilicon | 8 ++ .../files/script/ircut_demo | 89 +++++++++++++++++++ general/package/ipctool/ipctool.mk | 2 +- 3 files changed, 98 insertions(+), 1 deletion(-) create mode 100755 br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/ircut_demo diff --git a/br-ext-chip-hisilicon/package/hisilicon-osdrv4/files/script/S99hisilicon b/br-ext-chip-hisilicon/package/hisilicon-osdrv4/files/script/S99hisilicon index c9dd0d37..0ee5570c 100755 --- a/br-ext-chip-hisilicon/package/hisilicon-osdrv4/files/script/S99hisilicon +++ b/br-ext-chip-hisilicon/package/hisilicon-osdrv4/files/script/S99hisilicon @@ -10,6 +10,14 @@ MAJESTIC_ARGS="" # The majestic does not create a pidfile, and use "-m" to instruct start-stop-daemon to create one. start() { + logger -s -p daemon.info -t hisilicon "Check MAC for Xiongmai devices" + if [ "$(fw_printenv -n ethaddr)" = "00:00:23:34:45:66" ]; then + logger -s -p daemon.info -t hisilicon "The eth0 interface has a lousy MAC, let's try to change it.." + XMMAC="$(ipcinfo --xm_mac)" && [ -n "${XMMAC}" ] && fw_setenv ethaddr ${XMMAC} && ifconfig eth0 hw ether ${XMMAC} && logger -s -p daemon.info -t hisilicon "The eth0 interface have new MAC - ${XMMAC}" + else + logger -s -p daemon.info -t hisilicon "The eth0 interface has a correct MAC - $(fw_printenv -n ethaddr)" + fi + # logger -s -p daemon.info -t hisilicon "Loading of kernel modules and initialization of the video system has started" export TZ=$(cat /etc/TZ) load_hisilicon -i diff --git a/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/ircut_demo b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/ircut_demo new file mode 100755 index 00000000..97e07d30 --- /dev/null +++ b/br-ext-chip-sigmastar/package/sigmastar-osdrv-ssc335/files/script/ircut_demo @@ -0,0 +1,89 @@ +#!/bin/sh + +# on SSC335: + +# on EV200: +# GPIO1_0 -> GPIO8 (1*8+0 = 8) +# GPIO1_1 -> GPIO9 (1*8+1 = 9) + +# on EV300: +# GPIO1_3 -> GPIO11 +# GPIO1_2 -> GPIO10 + +#(normal mode) +ir_cut_enable() { + # pin_mux + echo "$gpio_0" >/sys/class/gpio/unexport + echo "$gpio_1" >/sys/class/gpio/unexport + echo "$gpio_0" >/sys/class/gpio/export + echo "$gpio_1" >/sys/class/gpio/export + + # dir + echo "out" >/sys/class/gpio/gpio$gpio_0/direction + echo "out" >/sys/class/gpio/gpio$gpio_1/direction + + # data, gpio_1: 0, gpio_0: 1 (normal mode) + echo "1" >/sys/class/gpio/gpio$gpio_0/value + echo "0" >/sys/class/gpio/gpio$gpio_1/value + + #sleep 1s + sleep 1 + + # back to original + echo "0" >/sys/class/gpio/gpio$gpio_0/value + echo "0" >/sys/class/gpio/gpio$gpio_1/value +} + +# (ir mode) +ir_cut_disable() { + # pin_mux + echo "$gpio_0" >/sys/class/gpio/unexport + echo "$gpio_1" >/sys/class/gpio/unexport + echo "$gpio_0" >/sys/class/gpio/export + echo "$gpio_1" >/sys/class/gpio/export + + # dir + echo "out" >/sys/class/gpio/gpio$gpio_0/direction + echo "out" >/sys/class/gpio/gpio$gpio_1/direction + + # data, gpio_1: 1, gpio_0: 0 (ir mode) + echo "0" >/sys/class/gpio/gpio$gpio_0/value + echo "1" >/sys/class/gpio/gpio$gpio_1/value + + #sleep 1s + sleep 1 + + # back to original + echo "0" >/sys/class/gpio/gpio$gpio_0/value + echo "0" >/sys/class/gpio/gpio$gpio_1/value +} + +gpio_0=0 +gpio_1=0 + +if [ $# -lt 2 ]; then + echo "usage : ./ircut_demo " + echo "for example:" + echo "ir mode : ./ircut_demo ms-j10 1" +else + if [ $1 = "ms-j10" ]; then + gpio_0=78 + gpio_1=79 + elif [ $1 = "uniview" ]; then + gpio_0=78 + gpio_1=79 + else + echo "wrong device: $1, please select: ms-j10 or uniview." + exit + fi + + if [ $2 -eq 0 ]; then + echo "normal mode, ir_cut on" + ir_cut_enable >/dev/null + elif [ $2 -eq 1 ]; then + echo "ir mode, ir_cut off" + ir_cut_disable >/dev/null + else + echo "invalid mode, please slect 0 or 1." + fi +fi diff --git a/general/package/ipctool/ipctool.mk b/general/package/ipctool/ipctool.mk index f96e24f7..28323f7e 100644 --- a/general/package/ipctool/ipctool.mk +++ b/general/package/ipctool/ipctool.mk @@ -4,7 +4,7 @@ # ################################################################################ -IPCTOOL_VERSION = 7c25684308d18f7fd232b7e9d9c249e4a8107951 +IPCTOOL_VERSION = e847b384c0d4339dbbad591a3f8a308ec1f0eced IPCTOOL_SITE = $(call github,openipc,ipctool,$(IPCTOOL_VERSION)) IPCTOOL_LICENSE = MIT IPCTOOL_LICENSE_FILES = LICENSE