Merge branch 'master' into master

pull/1393/head
libc0607 2024-04-16 22:23:36 +08:00 committed by GitHub
commit 71e7a80d92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
56 changed files with 357 additions and 404 deletions

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="gk7205v200"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -35,8 +35,8 @@ BR2_OPENIPC_SOC_VENDOR="goke"
BR2_OPENIPC_SOC_MODEL="gk7205v200"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="rubyfpv"
BR2_OPENIPC_MAJESTIC="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="gk7205v200"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="gk7205v210"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -35,8 +35,8 @@ BR2_OPENIPC_SOC_VENDOR="goke"
BR2_OPENIPC_SOC_MODEL="gk7205v210"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="rubyfpv"
BR2_OPENIPC_MAJESTIC="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="gk7205v300"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -35,8 +35,8 @@ BR2_OPENIPC_SOC_VENDOR="goke"
BR2_OPENIPC_SOC_MODEL="gk7205v300"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="rubyfpv"
BR2_OPENIPC_MAJESTIC="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="gk7205v300"
BR2_OPENIPC_SOC_FAMILY="gk7205v200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,7 +36,6 @@ BR2_OPENIPC_SOC_MODEL="hi3516av100"
BR2_OPENIPC_SOC_FAMILY="hi3516av100"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,7 +36,6 @@ BR2_OPENIPC_SOC_MODEL="hi3516av200"
BR2_OPENIPC_SOC_FAMILY="hi3519v101"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -35,6 +35,7 @@ BR2_OPENIPC_SOC_MODEL="hi3516cv300"
BR2_OPENIPC_SOC_FAMILY="hi3516cv300"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,7 +36,6 @@ BR2_OPENIPC_SOC_MODEL="hi3516dv100"
BR2_OPENIPC_SOC_FAMILY="hi3516av100"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="hi3516ev200"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="hi3516ev200"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="hi3516ev300"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="8"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="hi3516ev300"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -35,6 +35,7 @@ BR2_OPENIPC_SOC_MODEL="hi3518ev200"
BR2_OPENIPC_SOC_FAMILY="hi3516cv200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -36,6 +36,7 @@ BR2_OPENIPC_SOC_MODEL="hi3518ev300"
BR2_OPENIPC_SOC_FAMILY="hi3516ev200"
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="ultimate"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -34,6 +34,7 @@ BR2_OPENIPC_SOC_MODEL="hi3536dv100"
BR2_OPENIPC_SOC_FAMILY="hi3536dv100"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="fpv"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -40,7 +40,6 @@ BR2_OPENIPC_SOC_FAMILY="t20"
BR2_OPENIPC_SNS_MODEL=""
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -40,7 +40,6 @@ BR2_OPENIPC_SOC_FAMILY="t21"
BR2_OPENIPC_SNS_MODEL=""
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -40,7 +40,6 @@ BR2_OPENIPC_SOC_FAMILY="t31"
BR2_OPENIPC_SNS_MODEL=""
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -40,7 +40,6 @@ BR2_OPENIPC_SOC_FAMILY="t40"
BR2_OPENIPC_SNS_MODEL=""
BR2_OPENIPC_VARIANT="ultimate"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -33,7 +33,6 @@ BR2_OPENIPC_SOC_MODEL="ssc30kq"
BR2_OPENIPC_SOC_FAMILY="infinity6e"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -33,7 +33,6 @@ BR2_OPENIPC_SOC_MODEL="ssc30kq"
BR2_OPENIPC_SOC_FAMILY="infinity6e"
BR2_OPENIPC_VARIANT="rubyfpv"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -33,7 +33,6 @@ BR2_OPENIPC_SOC_MODEL="ssc338q"
BR2_OPENIPC_SOC_FAMILY="infinity6e"
BR2_OPENIPC_VARIANT="fpv"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -33,7 +33,6 @@ BR2_OPENIPC_SOC_MODEL="ssc338q"
BR2_OPENIPC_SOC_FAMILY="infinity6e"
BR2_OPENIPC_VARIANT="rubyfpv"
BR2_OPENIPC_FLASH_SIZE="16"
BR2_OPENIPC_MAJESTIC="lite"
# Filesystem
# BR2_TARGET_TZ_INFO is not set

View File

@ -28,7 +28,7 @@ CONFIG_BUILDTIME_EXTABLE_SORT=y
#
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION="+"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_LZMA=y

View File

@ -24,6 +24,6 @@ config BR2_OPENIPC_FLASH_SIZE
config BR2_OPENIPC_MAJESTIC
string "OpenIPC Majestic"
default ""
default "lite"
source "$BR2_EXTERNAL_GENERAL_PATH/package/Config.in"

View File

@ -2,10 +2,10 @@
case "$1" in
start)
if [ ! -e /etc/system.ok ] && [ -e /usr/share/openipc/customizer.sh ]; then
if [ ! -e /etc/custom.ok ] && [ -e /usr/share/openipc/customizer.sh ]; then
echo "Run customizer script..."
sh /usr/share/openipc/customizer.sh
touch /etc/system.ok
touch /etc/custom.ok
fi
if [ ! -e /etc/network.ok ] && [ -e /usr/share/openipc/wireless.sh ]; then

View File

@ -10,6 +10,7 @@ set_wireless() {
ifup wlan0
elif $path/modem "$dev"; then
ifup usb0
ifup eth1
fi
[ -e /sys/class/net/eth0 ] && ifconfig eth0 "${net:-192.168.2.10}"
}
@ -28,12 +29,10 @@ case "$1" in
stop)
echo "Stopping network..."
ifdown lo
if [ -n "$dev" ]; then
ifdown -f wlan0
ifdown -f usb0
else
ifdown eth0
fi
ifdown -f eth1
ifdown -f eth0
;;
restart)

View File

@ -0,0 +1 @@
iface eth1 inet dhcp

View File

@ -8,7 +8,15 @@ set_gpio() {
# Generic RNDIS
if [ "$1" = "rndis-generic" ]; then
modprobe rndis_host
sleep 10
sleep 5
exit 0
fi
# Huawei E3372H and eth1
if [ "$1" = "rndis-e3372h" ]; then
usb_modeswitch -v 0x12d1 -p 0x1f01 -c /usr/share/usb_modeswitch/12d1:1f01
modprobe rndis_host
sleep 5
exit 0
fi

View File

@ -29,6 +29,12 @@ if [ "$1" = "rtl8733bu-generic" ]; then
exit 0
fi
# Generic RTL8812AU
if [ "$1" = "rtl8812au-generic" ]; then
modprobe 88XXau rtw_ht_enable=0 rtw_led_enable=0
exit 0
fi
# Generic ATBM603x
if [ "$1" = "atbm603x-generic-usb" ]; then
modprobe atbm603x_wifi_usb

View File

@ -79,6 +79,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/quirc-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rcjoystick/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rockchip-osdrv-rv11xx/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl88x2eu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8188eus-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8188fu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8188fu-openipc/Config.in"

View File

@ -1,6 +1,5 @@
#!/bin/sh
chip=$(ipcinfo -c)
skip=$(fw_printenv -n fpv)
fw=$(grep "BUILD_OPTION" "/etc/os-release" | cut -d= -f2)
if [ -e /etc/datalink.conf ]; then
@ -9,14 +8,7 @@ fi
case "$1" in
start)
if [ "$skip" = "true" ]; then
sed -i "s/console/#console/g" /etc/inittab
elif [ "$skip" = "false" ]; then
sed -i "s/#console/console/g" /etc/inittab
exit 0
fi
if ! [ -f /etc/system.ok ]; then
if [ ! -f /etc/system.ok ]; then
tweaksys "$chip"
fi
@ -24,18 +16,15 @@ case "$1" in
if [ "$fw" = "lte" ]; then
if [ "$usb_modem" = "true" ]; then
echo "Starting lte modem configuration..."
echo "ToDo: Running usb_modeswitch or other shit here..."
fi
# for the future
#cli -s .outgoing.url1 udp://$gs_ipaddr:$gs_port
if [ "$use_zt" = "true" ]; then
echo "Starting ZeroTier-One daemon..."
/usr/sbin/zerotier-one -d &
if [ ! -f "/var/lib/zerotier-one/networks.d/$zt_netid.conf" ]; then
sleep 8
zerotier-cli join "$zt_netid" > /dev/null
echo "Don't forget authorize in the my.zerotier.com!"
echo "Don't forget to authorize my.zerotier.com!"
fi
fi

View File

@ -1,47 +1,50 @@
#!/bin/sh
#
# Start telemetry
#
. /etc/datalink.conf
. /etc/telemetry.conf
keydir="/etc"
fw=$(grep "BUILD_OPTION" "/etc/os-release" | cut -d= -f2)
keydir=/etc
if [ ! -f /usr/bin/telemetry_rx -a ! -f /usr/bin/telemetry_tx ]; then
ln -s /usr/bin/wfb_rx /usr/bin/telemetry_rx; chmod +x /usr/bin/telemetry_rx
ln -s /usr/bin/wfb_tx /usr/bin/telemetry_tx; chmod +x /usr/bin/telemetry_tx
if [ -e /etc/datalink.conf ]; then
. /etc/datalink.conf
fi
if [ -e /etc/telemetry.conf ]; then
. /etc/telemetry.conf
fi
if [ ! -f /usr/bin/telemetry_rx ] && [ ! -f /usr/bin/telemetry_tx ]; then
ln -s /usr/bin/wfb_rx /usr/bin/telemetry_rx
chmod +x /usr/bin/telemetry_rx
ln -s /usr/bin/wfb_tx /usr/bin/telemetry_tx
chmod +x /usr/bin/telemetry_tx
fi
start_drone_telemetry() {
if [ ${one_way} = "false" ]; then
telemetry_rx -p ${stream_rx} -u ${port_rx} -K ${keydir}/${unit}.key -i ${link_id} ${wlan} > /dev/null &
if [ "$one_way" = "false" ]; then
telemetry_rx -p "$stream_rx" -u "$port_rx" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
fi
telemetry_tx -p ${stream_tx} -u ${port_tx} -K ${keydir}/${unit}.key -B ${bandwidth} \
-M ${mcs_index} -S ${stbc} -L ${ldpc} -G ${guard_interval} -k ${fec_k} -n ${fec_n} \
-T ${pool_timeout} -i ${link_id} -f ${frame_type} ${wlan} > /dev/null &
telemetry_tx -p "$stream_tx" -u "$port_tx" -K "$keydir/$unit.key" -B "$bandwidth" \
-M "$mcs_index" -S "$stbc" -L "$ldpc" -G "$guard_interval" -k "$fec_k" -n "$fec_n" \
-T "$pool_timeout" -i "$link_id" -f "$frame_type" "$wlan" > /dev/null &
}
start_gs_telemetry() {
if [ ${one_way} = "false" ]; then
telemetry_tx -p ${stream_tx} -u ${port_tx} -K ${keydir}/${unit}.key -B ${bandwidth} \
-M ${mcs_index} -S ${stbc} -L ${ldpc} -G ${guard_interval} -k ${fec_k} -n ${fec_n} \
-T ${pool_timeout} -i ${link_id} -f ${frame_type} ${wlan} > /dev/null &
if [ "$one_way" = "false" ]; then
telemetry_tx -p "$stream_tx" -u "$port_tx" -K "$keydir/$unit.key" -B "$bandwidth" \
-M "$mcs_index" -S "$stbc" -L "$ldpc" -G "$guard_interval" -k "$fec_k" -n "$fec_n" \
-T "$pool_timeout" -i "$link_id" -f "$frame_type" "$wlan" > /dev/null &
fi
telemetry_rx -p ${stream_rx} -u ${port_rx} -K ${keydir}/${unit}.key -i ${link_id} ${wlan} > /dev/null &
telemetry_rx -p "$stream_rx" -u "$port_rx" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
}
case "$1" in
start)
echo "Loading MAVLink telemetry service..."
if [ ${router} -eq 1 ] || [ ${fw} = "lte" ]; then
if [ "$router" -eq 1 ] || [ "$fw" = "lte" ]; then
mavlink-routerd -c /etc/mavlink.conf > /dev/null 2>&1 &
else
mavfwd --channels ${channels} --master ${serial} --baudrate ${baud} \
--out 127.0.0.1:${port_tx} --in 127.0.0.1:${port_rx} > /dev/null &
mavfwd --channels "$channels" --master "$serial" --baudrate "$baud" \
--out 127.0.0.1:$port_tx --in 127.0.0.1:$port_rx > /dev/null &
fi
if [ ${fw} = "fpv" ] || [ ${fw} = "venc" ]; then
if [ "$fw" = "fpv" ] || [ "$fw" = "venc" ]; then
start_${unit}_telemetry
fi
echo "Done."

View File

@ -11,9 +11,6 @@ basic() {
# set boot delay
fw_setenv bootdelay 0
# don't load f2fs module (disabled in kernel)
sed -i "s!f2fs!#f2fs!g" /etc/modules
# free uart for telemetry
sed -i "s!console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!#console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!g" /etc/inittab
@ -46,13 +43,13 @@ hisi_goke() {
}
sigmastar() {
sed -i "s!serial=/dev/ttyAMA0!serial=/dev/ttyS0!g" /etc/telemetry.conf
sed -i "s!Device = /dev/ttyAMA0!Device = /dev/ttyS0!g" /etc/mavlink.conf
sed -i "s!serial=/dev/ttyAMA0!serial=/dev/ttyS2!g" /etc/telemetry.conf
sed -i "s!Device = /dev/ttyAMA0!Device = /dev/ttyS2!g" /etc/mavlink.conf
}
majestic_generic() {
# enable digital image stabilization
# cli -s .isp.dis true
# digital image stabilization
#cli -s .isp.dis true
cli -s .isp.slowShutter disabled
cli -s .image.contrast 50
@ -67,7 +64,7 @@ majestic_generic() {
# lowdelay support only imx307 sensor
if [ "$sensor" = "imx307" ]; then
cli -s .isp.lowDelay true
# cli -s .video0.sliceUnits 4
#cli -s .video0.sliceUnits 4
fi
if [ "$sensor" = "imx335" ]; then
@ -98,7 +95,7 @@ streamer() {
majestic_generic
fi
# outgoing rtp stream to udp
# outgoing rtp stream
cli -s .outgoing.enabled true
cli -s .outgoing.server udp://127.0.0.1:5600
fi
@ -112,9 +109,11 @@ streamer() {
}
finish() {
# complete tweaks and add marker
# complete tweaks and add flag
fw_setenv wlandev
touch /etc/system.ok
echo "Manually restart the system to apply changes."
echo "Restart system to apply fpv changes..."
reboot
}
case "$1" in
@ -124,7 +123,7 @@ case "$1" in
# set custom config
if [ "$chip" = "gk7205v200" ] && [ "$sensor" = "imx307" ]; then
echo "switch to custom sensor config"
# cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
#cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
fi
# fix osmem in bootargs
@ -135,7 +134,7 @@ case "$1" in
fw_setenv osmem 40M
fi
# remove unneeded to reduce some memory
# remove unneeded scripts
rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd
basic
@ -175,7 +174,6 @@ case "$1" in
ssc33x)
echo "Preparing system tweaks for $chip..."
basic
sigmastar
streamer
finish

View File

@ -10,7 +10,7 @@ MAJESTIC_LICENSE = PROPRIETARY
MAJESTIC_LICENSE_FILES = LICENSE
MAJESTIC_FAMILY = $(OPENIPC_SOC_FAMILY)
MAJESTIC_VARIANT = $(or $(OPENIPC_MAJESTIC), $(OPENIPC_VARIANT))
MAJESTIC_VARIANT = $(OPENIPC_MAJESTIC)
MAJESTIC_DEPENDENCIES += \
libevent-openipc \

View File

@ -1,57 +1,42 @@
#!/bin/sh
DAEMON="mini-snmpd"
DAEMON="mini_snmpd"
PIDFILE="/var/run/$DAEMON.pid"
SNMPD_ARGS="-n -4 -c openipc -D OpenIPC -C https://openipc.org -L Internet"
SNMPD_ARGS="-n -4 -c openipc -i eth0 -D OpenIPC -C https://openipc.org -L Internet -l notice"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
# The mini-snmpd does not create a pidfile, so pass "-n" in the command line
# and use "-m" to instruct start-stop-daemon to create one.
start() {
printf 'Starting %s: ' "$DAEMON"
[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" \
-- $SNMPD_ARGS
status=$?
if [ "$status" -eq 0 ]; then
printf "Starting $DAEMON: "
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/bin/$DAEMON" -- $SNMPD_ARGS
if [ $? = 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
printf "Stopping $DAEMON: "
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
rm -f "$PIDFILE"
if [ $? = 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
sleep 1
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
start|stop)
"$1"
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
;;
esac

View File

@ -4,18 +4,19 @@
#
################################################################################
MINI_SNMPD_OPENIPC_VERSION = 1.4
MINI_SNMPD_OPENIPC_SITE = $(call github,troglobit,mini-snmpd,v$(MINI_SNMPD_OPENIPC_VERSION))
MINI_SNMPD_OPENIPC_VERSION = v1.4
MINI_SNMPD_OPENIPC_SITE = $(call github,troglobit,mini-snmpd,$(MINI_SNMPD_OPENIPC_VERSION))
MINI_SNMPD_OPENIPC_LICENSE = GPL-2.0
MINI_SNMPD_OPENIPC_LICENSE_FILES = COPYING
MINI_SNMPD_OPENIPC_AUTORECONF = YES
define MINI_SNMPD_OPENIPC_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/init.d
cp $(MINI_SNMPD_OPENIPC_PKGDIR)/files/S50snmpd $(TARGET_DIR)/etc/init.d
$(INSTALL) -m 755 -t $(TARGET_DIR)/etc/init.d $(MINI_SNMPD_OPENIPC_PKGDIR)/files/S50snmpd
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/mini_snmpd
endef
$(eval $(autotools-package))

View File

@ -0,0 +1,4 @@
config BR2_PACKAGE_RTL8812AU
bool "rtl8812au"
help
Standalone driver for the RTL8812AU.

View File

@ -0,0 +1,16 @@
################################################################################
#
# rtl8812au
#
################################################################################
RTL8812AU_SITE = $(call github,openipc,realtek-wlan,$(RTL8812AU_VERSION))
RTL8812AU_VERSION = rtl8812au
RTL8812AU_MODULE_MAKE_OPTS = \
CONFIG_RTL8812AU=m \
KVER=$(LINUX_VERSION_PROBED) \
KSRC=$(LINUX_DIR)
$(eval $(kernel-module))
$(eval $(generic-package))

View File

@ -1,19 +1,17 @@
#!/bin/sh
chip=$(ipcinfo -c)
family=$(ipcinfo -f)
vendor=$(ipcinfo -v)
if ! [ ${chip} = "hi3536dv100" ]; then
if [ ! "$chip" = "hi3536dv100" ]; then
sensor=$(ipcinfo -s)
fi
basic() {
# set boot delay
fw_setenv bootdelay 0
# don't load f2fs module (disabled in kernel)
sed -i "s!f2fs!#f2fs!g" /etc/modules
# freely uart for telemetry
# free uart for telemetry
sed -i "s!console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!#console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL!g" /etc/inittab
# tune socket buffer
@ -23,19 +21,21 @@ basic() {
prefix=${family}
hisi_goke() {
if [ ${vendor} = "hisilicon" ]; then
if [ "$vendor" = "hisilicon" ]; then
prefix="open"
fi
# remove unneeded modules
sed -i "s!insmod ${prefix}_rgn.ko!#insmod ${prefix}_rgn.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_jpege.ko!#insmod ${prefix}_jpege.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_ive.ko save_power=0!#insmod ${prefix}_ive.ko save_power=0!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_aio.ko!#insmod ${prefix}_aio.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_ai.ko!#insmod ${prefix}_ai.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_ao.ko!#insmod ${prefix}_ao.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_aenc.ko!#insmod ${prefix}_aenc.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_adec.ko!#insmod ${prefix}_adec.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_acodec.ko!#insmod ${prefix}_acodec.ko!g" /usr/bin/load_${vendor}
sed -i "s!insmod ${prefix}_rgn.ko!#insmod ${prefix}_rgn.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_jpege.ko!#insmod ${prefix}_jpege.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ive.ko save_power=0!#insmod ${prefix}_ive.ko save_power=0!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_aio.ko!#insmod ${prefix}_aio.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ai.ko!#insmod ${prefix}_ai.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_ao.ko!#insmod ${prefix}_ao.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_aenc.ko!#insmod ${prefix}_aenc.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_adec.ko!#insmod ${prefix}_adec.ko!g" "/usr/bin/load_${vendor}"
sed -i "s!insmod ${prefix}_acodec.ko!#insmod ${prefix}_acodec.ko!g" "/usr/bin/load_${vendor}"
# change fps 25 -> 30
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/imx307_i2c_2l_1080p.ini
sed -i "s!Isp_FrameRate=25!Isp_FrameRate=30!g" /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
@ -48,9 +48,10 @@ sigmastar() {
}
majestic_generic() {
# digital image stabilization
#cli -s .isp.dis true
cli -s .isp.slowShutter disabled
# enable digital image stabilization
# cli -s .isp.dis true
cli -s .image.contrast 50
cli -s .image.luminance 50
cli -s .video0.size 1920x1080
@ -59,24 +60,27 @@ majestic_generic() {
cli -s .video0.codec h264
cli -s .video0.rcMode cbr
cli -s .video0.gopSize 1.5
# lowdelay support only imx307 sensor
if [ ${sensor} = "imx307" ]; then
if [ "$sensor" = "imx307" ]; then
cli -s .isp.lowDelay true
# cli -s .video0.sliceUnits 4
#cli -s .video0.sliceUnits 4
fi
if [ ${sensor} = "imx335" ]; then
if [ "$sensor" = "imx335" ]; then
cli -s .isp.drc 350
cli -s .isp.sensorConfig /etc/sensors/imx335_i2c_4M.ini
fi
cli -s .hls.enabled false
cli -s .netip.enabled false
cli -s .jpeg.enabled false
}
majestic_sigmastar() {
cli -s .isp.exposure 20
cli -s .isp.aGain 40
cli -s .isp.sensorConfig /etc/sensors/imx415_fpv.bin
cli -s .isp.exposure 10
cli -s .video0.codec h265
cli -s .video0.size 1920x1080
cli -s .video0.fps 60
cli -s .video0.rcMode cbr
@ -85,18 +89,19 @@ majestic_sigmastar() {
streamer() {
if [ -f /usr/bin/majestic ]; then
if [ ${vendor} = "sigmastar" ]; then
if [ "$vendor" = "sigmastar" ]; then
majestic_sigmastar
else
majestic_generic
fi
# outgoing rtp stream to udp
# outgoing rtp stream
cli -s .outgoing.enabled true
cli -s .outgoing.server udp://127.0.0.1:5600
fi
if [ -f /usr/bin/venc ]; then
if [ ${sensor} = "imx335" ]; then
if [ "$sensor" = "imx335" ]; then
sed -i "s!version=200_imx307B!version=300_imx335B!g" /etc/venc.conf
sed -i "s!size=720p!size=1292x972!g" /etc/venc.conf
fi
@ -104,30 +109,32 @@ streamer() {
}
finish() {
# complete tweaks and add marker
# complete tweaks and add flag
fw_setenv wlandev
touch /etc/system.ok
echo "Preparing system done."
echo "Restart system to apply fpv changes..."
reboot
}
case "$1" in
gk7205v200 | gk7205v210 | hi3516ev200)
echo "Preparing system tweaks for ${chip}..."
# set custom config
if [ ${chip} = "gk7205v200" ] && [ ${sensor} = "imx307" ]; then
if [ "$chip" = "gk7205v200" ] && [ "$sensor" = "imx307" ]; then
echo "switch to custom sensor config"
# cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
#cli -s .isp.sensorConfig /etc/sensors/60fps/720p_imx307_i2c_2l.ini
fi
# fix osmem in bootargs
bootargs=$(fw_printenv -n bootargs)
if echo ${bootargs} | grep -q "32M"; then
newbootargs="mem=\${osmem} "$(echo ${bootargs} | cut -d " " -f2-)
fw_setenv bootargs ${newbootargs}
if echo "$bootargs" | grep -q "32M"; then
newbootargs="mem=\${osmem} "$(echo "$bootargs" | cut -d " " -f2-)
fw_setenv bootargs "$newbootargs"
fw_setenv osmem 40M
fi
# remove unneeded to reduce some memory
# remove unneeded scripts
rm -f /etc/init.d/S60crond /etc/init.d/S49ntpd /etc/init.d/S02klogd
basic
@ -137,13 +144,13 @@ case "$1" in
;;
gk7205v300 | hi3516ev300)
echo "Preparing system tweaks for ${chip}..."
echo "Preparing system tweaks for $chip..."
# increase osmem
mem=$(fw_printenv -n osmem) && [ "${mem}" = "32M" ] && fw_setenv osmem 64M && set_allocator cma || echo "Memory allocated for the system:" ${mem}
mem=$(fw_printenv -n osmem) && [ "$mem" = "32M" ] && fw_setenv osmem 64M && set_allocator cma || echo "Memory allocated for the system:" "$mem"
# set sensor config for smtsec board
if [ ${chip} = "gk7205v300" ] && [ ${sensor} = "imx307" ]; then
if [ "$chip" = "gk7205v300" ] && [ "$sensor" = "imx307" ]; then
cli -s .isp.sensorConfig /etc/sensors/smtsec_imx307_i2c_4l_1080p.ini
fi
@ -154,19 +161,19 @@ case "$1" in
;;
t31l | t31n | t31x | t31zx)
echo "Preparing system tweaks for ${chip}..."
echo "Preparing system tweaks for $chip..."
basic
streamer
finish
;;
hi3536dv100)
echo "Preparing system tweaks for ${chip}..."
echo "Preparing system tweaks for $chip..."
finish
;;
ssc33x)
echo "Preparing system tweaks for ${chip}..."
echo "Preparing system tweaks for $chip..."
basic
sigmastar
streamer

View File

@ -4,65 +4,66 @@
#
PATH_MODULE=/lib/modules/4.9.84/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
PATH_SENSOR=$PATH_MODULE/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
insmod ${PATH_SENSOR}/sensor_config.ko
insmod $PATH_SENSOR/sensor_config.ko
if [ -e /dev/srcfg ]; then
echo srcfg 0 1 0 0 0 0 > /dev/srcfg
rmmod sensor_config
fi
SENSOR=$(ipcinfo -s)
fw_setenv sensor ${SENSOR}
fw_setenv sensor "$SENSOR"
}
set_sensor() {
case ${SENSOR} in
case $SENSOR in
gc2053|imx307)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_mipi.ko chmap=1
;;
sc2239|sc2335)
[ "$(fw_printenv -n soc)" = "ssc325de" ] && IFACE=parl
insmod ${PATH_SENSOR}/sensor_${SENSOR}_${IFACE:-mipi}.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_${IFACE:-mipi}.ko chmap=1
;;
*)
echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC
;;
esac
}
insert_ko() {
insmod ${PATH_MODULE}/mhal.ko
insmod ${PATH_MODULE}/mi_common.ko
insmod ${PATH_MODULE}/mi_sys.ko logBufSize=256 default_config_path=/usr/bin
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_ai.ko
insmod ${PATH_MODULE}/mi_ao.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_shadow.ko
insmod ${PATH_MODULE}/mi_divp.ko
insmod ${PATH_MODULE}/mi_vif.ko
insmod ${PATH_MODULE}/mi_vpe.ko
insmod ${PATH_MODULE}/mi_venc.ko
insmod $PATH_MODULE/mhal.ko
insmod $PATH_MODULE/mi_common.ko
insmod $PATH_MODULE/mi_sys.ko logBufSize=256 default_config_path=/usr/bin
insmod $PATH_MODULE/mi_rgn.ko
insmod $PATH_MODULE/mi_ai.ko
insmod $PATH_MODULE/mi_ao.ko
insmod $PATH_MODULE/mi_sensor.ko
insmod $PATH_MODULE/mi_shadow.ko
insmod $PATH_MODULE/mi_divp.ko
insmod $PATH_MODULE/mi_vif.ko
insmod $PATH_MODULE/mi_vpe.ko
insmod $PATH_MODULE/mi_venc.ko
}
if [ ! -e /sys/module/mhal ]; then
insert_ko
fi
if [ -z ${SENSOR} ]; then
if [ -z "$1" ] || [ -z "$SENSOR" ]; then
echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC
detect_sensor
fi
if [ -z ${SENSOR} ]; then
if [ -z "$SENSOR" ]; then
echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC
exit 1
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
if [ -e /sys/module/sensor* ]; then
rmmod $(ls -d /sys/module/sensor* | cut -d/ -f4)
echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC
SENSOR_MODULE=$(ls /sys/module | grep $SENSOR)
if [ -n "$SENSOR_MODULE" ]; then
rmmod $SENSOR_MODULE
fi
set_sensor
fi

View File

@ -4,49 +4,49 @@
#
PATH_MODULE=/lib/modules/4.9.84/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
PATH_SENSOR=$PATH_MODULE/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
insmod ${PATH_SENSOR}/sensor_config.ko
insmod $PATH_SENSOR/sensor_config.ko
if [ -e /dev/srcfg ]; then
echo srcfg 0 1 0 0 0 0 > /dev/srcfg
rmmod sensor_config
fi
SENSOR=$(ipcinfo -s)
fw_setenv sensor ${SENSOR}
fw_setenv sensor "$SENSOR"
}
set_sensor() {
case ${SENSOR} in
case $SENSOR in
gc2053|gc2083|gc4023|gc4653|imx307|imx335|jxf37|jxq03|os02g10)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_mipi.ko chmap=1
;;
sc200ai|sc401ai|sc2239|sc223a|sc2335|sc2336|sc3335|sc3338)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_mipi.ko chmap=1
;;
*)
echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC
;;
esac
}
insert_ko() {
insmod ${PATH_MODULE}/mhal.ko
insmod ${PATH_MODULE}/mi_common.ko
insmod ${PATH_MODULE}/mi_sys.ko cmdQBufSize=256 logBufSize=256
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_ai.ko
insmod ${PATH_MODULE}/mi_ao.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_shadow.ko
insmod ${PATH_MODULE}/mi_divp.ko
insmod ${PATH_MODULE}/mi_vif.ko
insmod ${PATH_MODULE}/mi_vpe.ko
insmod ${PATH_MODULE}/mi_venc.ko fw_path=/etc/firmware/chagall.bin
insmod $PATH_MODULE/mhal.ko
insmod $PATH_MODULE/mi_common.ko
insmod $PATH_MODULE/mi_sys.ko cmdQBufSize=256 logBufSize=256
insmod $PATH_MODULE/mi_rgn.ko
insmod $PATH_MODULE/mi_ai.ko
insmod $PATH_MODULE/mi_ao.ko
insmod $PATH_MODULE/mi_sensor.ko
insmod $PATH_MODULE/mi_shadow.ko
insmod $PATH_MODULE/mi_divp.ko
insmod $PATH_MODULE/mi_vif.ko
insmod $PATH_MODULE/mi_vpe.ko
insmod $PATH_MODULE/mi_venc.ko fw_path=/etc/firmware/chagall.bin
MAJOR=$(awk '$2=="mi_poll" {print $1}' /proc/devices)
mknod /dev/mi_poll c ${MAJOR} 0
mknod /dev/mi_poll c "$MAJOR" 0
echo isproot /etc/firmware > /dev/ispmid
}
@ -54,18 +54,19 @@ if [ ! -e /sys/module/mhal ]; then
insert_ko
fi
if [ -z ${SENSOR} ]; then
if [ -z "$1" ] || [ -z "$SENSOR" ]; then
echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC
detect_sensor
fi
if [ -z ${SENSOR} ]; then
if [ -z "$SENSOR" ]; then
echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC
exit 1
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
if [ -e /sys/module/sensor* ]; then
rmmod $(ls -d /sys/module/sensor* | cut -d/ -f4)
echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC
SENSOR_MODULE=$(ls /sys/module | grep $SENSOR)
if [ -n "$SENSOR_MODULE" ]; then
rmmod $SENSOR_MODULE
fi
set_sensor
fi

View File

@ -4,40 +4,40 @@
#
PATH_MODULE=/lib/modules/5.10.61/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
PATH_SENSOR=$PATH_MODULE/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
insmod ${PATH_SENSOR}/sensor_config.ko
insmod $PATH_SENSOR/sensor_config.ko
if [ -e /dev/srcfg ]; then
echo srcfg 0 1 0 0 0 0 > /dev/srcfg
rmmod sensor_config
fi
SENSOR=$(ipcinfo -s)
fw_setenv sensor ${SENSOR}
fw_setenv sensor "$SENSOR"
}
set_sensor() {
case ${SENSOR} in
case $SENSOR in
sc401ai|sc501ai)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_mipi.ko chmap=1
;;
*)
echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC
;;
esac
}
insert_ko() {
insmod ${PATH_MODULE}/mi_common.ko g_ModParamPath=${PATH_MODULE}/param.json config_json_path=/${PATH_MODULE}/config.json
insmod ${PATH_MODULE}/mi_sys.ko
insmod ${PATH_MODULE}/mi_vif.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_isp.ko
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_scl.ko
insmod ${PATH_MODULE}/mi_vcodec.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin
insmod ${PATH_MODULE}/mi_venc.ko
insmod $PATH_MODULE/mi_common.ko g_ModParamPath=$PATH_MODULE/param.json config_json_path=$PATH_MODULE/config.json
insmod $PATH_MODULE/mi_sys.ko
insmod $PATH_MODULE/mi_vif.ko
insmod $PATH_MODULE/mi_sensor.ko
insmod $PATH_MODULE/mi_isp.ko
insmod $PATH_MODULE/mi_rgn.ko
insmod $PATH_MODULE/mi_scl.ko
insmod $PATH_MODULE/mi_vcodec.ko drv_codec40_common.fw_load_path=/etc/firmware/chagall.bin
insmod $PATH_MODULE/mi_venc.ko
echo isproot /etc/firmware > /dev/ispmid
}
@ -46,18 +46,19 @@ if [ ! -e /sys/module/mhal ]; then
insert_ko
fi
if [ -z ${SENSOR} ]; then
if [ -z "$1" ] || [ -z "$SENSOR" ]; then
echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC
detect_sensor
fi
if [ -z ${SENSOR} ]; then
if [ -z "$SENSOR" ]; then
echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC
exit 1
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
if [ -e /sys/module/sensor* ]; then
rmmod $(ls -d /sys/module/sensor* | cut -d/ -f4)
echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC
SENSOR_MODULE=$(ls /sys/module | grep $SENSOR)
if [ -n "$SENSOR_MODULE" ]; then
rmmod $SENSOR_MODULE
fi
set_sensor
fi

View File

@ -4,48 +4,48 @@
#
PATH_MODULE=/lib/modules/4.9.84/sigmastar
PATH_SENSOR=${PATH_MODULE}/sensor
PATH_SENSOR=$PATH_MODULE/sensor
SENSOR=$(fw_printenv -n sensor)
detect_sensor() {
insmod ${PATH_SENSOR}/sensor_config.ko
insmod $PATH_SENSOR/sensor_config.ko
if [ -e /dev/srcfg ]; then
echo srcfg 0 1 0 0 0 0 > /dev/srcfg
rmmod sensor_config
fi
SENSOR=$(ipcinfo -s)
fw_setenv sensor ${SENSOR}
fw_setenv sensor "$SENSOR"
}
set_sensor() {
case ${SENSOR} in
case $SENSOR in
gc2053|gc4653|imx274|imx307|imx335|imx347|imx415|sc501ai|sc8235)
insmod ${PATH_SENSOR}/sensor_${SENSOR}_mipi.ko chmap=1
insmod $PATH_SENSOR/sensor_${SENSOR}_mipi.ko chmap=1
;;
*)
echo -e "\n\e[1;31mUNSUPPORTED sensor - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
echo -e "\n\e[1;31mUNSUPPORTED sensor - $SENSOR\e[0m\n" | logger -s -t OpenIPC
;;
esac
}
insert_ko() {
insmod ${PATH_MODULE}/mhal.ko
insmod ${PATH_MODULE}/mi_common.ko
insmod ${PATH_MODULE}/mi_sys.ko cmdQBufSize=768 logBufSize=256
insmod ${PATH_MODULE}/mi_rgn.ko
insmod ${PATH_MODULE}/mi_ldc.ko
insmod ${PATH_MODULE}/mi_ai.ko
insmod ${PATH_MODULE}/mi_ao.ko
insmod ${PATH_MODULE}/mi_mipitx.ko
insmod ${PATH_MODULE}/mi_sensor.ko
insmod ${PATH_MODULE}/mi_shadow.ko
insmod ${PATH_MODULE}/mi_divp.ko
insmod ${PATH_MODULE}/mi_vif.ko
insmod ${PATH_MODULE}/mi_vpe.ko
insmod ${PATH_MODULE}/mi_venc.ko fw_path=/etc/firmware/chagall.bin
insmod $PATH_MODULE/mhal.ko
insmod $PATH_MODULE/mi_common.ko
insmod $PATH_MODULE/mi_sys.ko cmdQBufSize=768 logBufSize=256
insmod $PATH_MODULE/mi_rgn.ko
insmod $PATH_MODULE/mi_ldc.ko
insmod $PATH_MODULE/mi_ai.ko
insmod $PATH_MODULE/mi_ao.ko
insmod $PATH_MODULE/mi_mipitx.ko
insmod $PATH_MODULE/mi_sensor.ko
insmod $PATH_MODULE/mi_shadow.ko
insmod $PATH_MODULE/mi_divp.ko
insmod $PATH_MODULE/mi_vif.ko
insmod $PATH_MODULE/mi_vpe.ko
insmod $PATH_MODULE/mi_venc.ko fw_path=/etc/firmware/chagall.bin
MAJOR=$(awk '$2=="mi_poll" {print $1}' /proc/devices)
mknod /dev/mi_poll c ${MAJOR} 0
mknod /dev/mi_poll c "$MAJOR" 0
echo isproot /etc/firmware > /dev/ispmid
}
@ -53,18 +53,19 @@ if [ ! -e /sys/module/mhal ]; then
insert_ko
fi
if [ -z ${SENSOR} ]; then
if [ -z "$1" ] || [ -z "$SENSOR" ]; then
echo -e "\n\e[1;33mAutodetect sensor\e[0m\n" | logger -s -t OpenIPC
detect_sensor
fi
if [ -z ${SENSOR} ]; then
if [ -z "$SENSOR" ]; then
echo -e "\n\e[1;31mSensor parameter MISSING\e[0m\n" | logger -s -t OpenIPC
exit 1
else
echo -e "\n\e[1;32mSensor assigned - ${SENSOR}\e[0m\n" | logger -s -t OpenIPC
if [ -e /sys/module/sensor* ]; then
rmmod $(ls -d /sys/module/sensor* | cut -d/ -f4)
echo -e "\n\e[1;32mSensor assigned - $SENSOR\e[0m\n" | logger -s -t OpenIPC
SENSOR_MODULE=$(ls /sys/module | grep $SENSOR)
if [ -n "$SENSOR_MODULE" ]; then
rmmod $SENSOR_MODULE
fi
set_sensor
fi

View File

@ -13,6 +13,9 @@ define SIGMASTAR_OSDRV_INFINITY6E_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.84/sigmastar
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.84/sigmastar $(SIGMASTAR_OSDRV_INFINITY6E_PKGDIR)/files/kmod/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/4.9.84/sigmastar/sensor
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/4.9.84/sigmastar/sensor $(SIGMASTAR_OSDRV_INFINITY6E_PKGDIR)/files/sensor/kmod/*
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc/firmware
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc/firmware $(SIGMASTAR_OSDRV_INFINITY6E_PKGDIR)/files/sensor/firmware/*

View File

@ -24,6 +24,6 @@ case "$1" in
renew|bound)
ip a add "$ip/$subnet" dev "$interface"
[ -n "$staticroutes" ] && set_routes "$staticroutes"
[ -n "$staticroutes" ] && set_routes $staticroutes
;;
esac

View File

@ -107,8 +107,8 @@ load_interface() {
iwconfig "$wlan" channel "$channel"
fi
# dirty fix crash if txpower set. setting txpower disabled because patched driver always set txpower level 58
# iw dev $wlan set txpower fixed $(($txpower * 100))
# Set txpower
#iw dev $wlan set txpower fixed $(($txpower * 100))
}
start_drone_wfb() {
@ -145,6 +145,9 @@ case "$1" in
if [ "$chip" = "gk7205v200" ]; then
# UART2_RX mux
devmem 0x120c0010 32 0x1e04
elif [ "$chip" = "ssc33x" ]; then
# UART2
devmem 0x1F207890 16 0x8
fi
telemetry start
fi

View File

@ -1,46 +1,35 @@
#!/bin/sh
# Useage: ./loadxm530 [ -r|-i|-a ]
# -r : rmmod all modules
# -i : insmod all modules
# default : rmmod all moules and then insmod them
#
chipid=$(ipcinfo --chip-name)
[ "${chipid}" = "xm550" ] && MEM_ALL=128 || MEM_ALL=64
[ "${chipid}" == "xm550" ] && MEM_ALL=128 || MEM_ALL=64
MODULE=/lib/modules/3.10.103+/xiongmai
MEM_START=0x800
MEM_SAMALL_LIN=0x1
MEM_OS=`cat /proc/cmdline | awk '{print $1}' | sed -e 's/mem=//' -e 's/M//'`
MEM_LEN=`echo "$MEM_ALL $MEM_OS"|awk '{printf("0x%03x00000",$1-$2)}'`
MEM_START=`echo "$MEM_START $MEM_SAMALL_LIN $MEM_OS"|awk '{printf("0x%03x00000",$1+$2*$3)}'`
echo MEM_START=$MEM_START MEM_LEN=$MEM_LEN
MEM_OS=$(cat /proc/cmdline | awk '{print $1}' | sed -e 's/mem=//' -e 's/M//')
MEM_LEN=$(echo "$MEM_ALL $MEM_OS"|awk '{printf("0x%03x00000",$1-$2)}')
MEM_START=$(echo "$MEM_START $MEM_SAMALL_LIN $MEM_OS"|awk '{printf("0x%03x00000",$1+$2*$3)}')
echo MEM_START="$MEM_START" MEM_LEN="$MEM_LEN"
VI_BUFF=2
report_error()
{
report_error() {
echo "******* Error: There's something wrong, please check! *****"
exit 1
}
insert_audio()
{
insert_audio() {
echo "insert audio"
insmod xm_i2s.ko
insmod acodec.ko
}
insert_h265()
{
insert_h265() {
echo "insert h265"
insmod mve_rsrc.ko
insmod mve_base.ko
}
insert_vo()
{
insert_vo() {
regs 20000000 1
regs 20000010 12042d02
regs 20000044 0x2777
@ -52,15 +41,13 @@ insert_vo()
insmod xm530_vdec.ko
}
remove_audio()
{
remove_audio() {
echo "remove audio"
rmmod -w acodec
rmmod -w xm_i2s
}
insert_sns()
{
insert_sns() {
#Sensor clock 27MHz
#regs 0x2000002c 1;
#regs 0x2000000c 0x10110010;
@ -71,17 +58,15 @@ insert_sns()
insmod xm_i2c.ko;
}
remove_sns()
{
remove_sns() {
rmmod -w xm_i2c &> /dev/null
rmmod -w ssp_sony &> /dev/null
}
insert_ko()
{
# driver load
insert_ko() {
# driver load
insert_sns > /dev/null
insmod mmz.ko mmz_start=$MEM_START mmz_size=$MEM_LEN
insmod mmz.ko mmz_start="$MEM_START" mmz_size="$MEM_LEN"
insmod xm530_vi.ko buffer=$VI_BUFF
insmod xm530_isp.ko
insmod xm530_rgn.ko
@ -94,8 +79,7 @@ insert_ko()
#insert_vo
}
remove_ko()
{
remove_ko() {
remove_audio
rmmod -w xm_wdt
rmmod -w xm_rtc
@ -104,14 +88,14 @@ remove_ko()
rmmod -w xm530_isp
rmmod -w xm530_vi
rmmod -w mmz
remove_sns
}
make_symlink() {
if [ ! -f /usr/lib/libsns.so ]; then
if [ ! -f /usr/lib/libsns.so ]; then
SNS_TYPE=$(ipcinfo --short-sensor)
logger -s -p daemon.info -t xiongmai "You sensor is $SNS_TYPE and symlink to libsns.so not found"
case $SNS_TYPE in
imx335|sc335e)
logger -s -p daemon.info -t xiongmai "Create new symlink to libsns_X50_XM530.so"
@ -122,12 +106,11 @@ if [ ! -f /usr/lib/libsns.so ]; then
ln -sf /usr/lib/sensors/libsns_X123_XM530.so /usr/lib/libsns.so
;;
esac
fi
fi
}
load_usage()
{
echo "Usage: ./loadxm530 [-option]"
load_usage() {
echo "Usage: $0 [-option]"
echo "options:"
echo " -i insert modules"
echo " -r remove modules"
@ -136,26 +119,22 @@ load_usage()
}
# load module.
if [ "$1" = "-i" ]
then
cd /lib/modules/3.10.103\+/xiongmai
insert_ko
make_symlink
if [ "$1" = "-i" ]; then
cd $MODULE
insert_ko
make_symlink
fi
if [ "$1" = "-r" ]
then
remove_ko
if [ "$1" = "-r" ]; then
remove_ko
fi
if [ "$1" = "-h" ]
then
load_usage
exit
if [ "$1" = "-h" ]; then
load_usage
exit
fi
if [ $# -eq 0 ] || [ "$1" = "-a" ]
then
remove_ko
insert_ko
if [ $# -eq 0 ] || [ "$1" = "-a" ]; then
remove_ko
insert_ko
fi

View File

@ -21,7 +21,7 @@ define XIONGMAI_OSDRV_XM530_INSTALL_TARGET_CMDS
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.10.103+/xiongmai $(XIONGMAI_OSDRV_XM530_PKGDIR)/files/kmod/usb/*.ko
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.10.103+/xiongmai $(XIONGMAI_OSDRV_XM530_PKGDIR)/files/kmod/xm711/*.ko
# Dirty hack
# Dirty hack
$(INSTALL) -m 755 -d $(TARGET_DIR)/lib/modules/3.10.103+/kernel/net/wireless
$(INSTALL) -m 644 -t $(TARGET_DIR)/lib/modules/3.10.103+/kernel/net/wireless $(XIONGMAI_OSDRV_XM530_PKGDIR)/files/kmod/rewrite/cfg80211.ko

View File

@ -1,56 +0,0 @@
#!/bin/sh
DAEMON="mini-snmpd"
PIDFILE="/var/run/$DAEMON.pid"
SNMPD_ARGS="-n -4 -c openipc -i eth0 -D OpenIPC -C https://openipc.org -L Internet -l notice"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
# The mini-snmpd does not create a pidfile, so pass "-n" in the command line
# and use "-m" to instruct start-stop-daemon to create one.
start() {
printf 'Starting %s: ' "$DAEMON"
[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" -- $SNMPD_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
[ -f /usr/sbin/$DAEMON ] || echo -en "DISABLED, "
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
case "$1" in
start|stop)
"$1"
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
;;
esac