first commit
This commit is contained in:
33
external/packages/bsp/rk356x/etc/X11/xorg.conf.d/20-modesetting.conf
vendored
Normal file
33
external/packages/bsp/rk356x/etc/X11/xorg.conf.d/20-modesetting.conf
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
Section "Device"
|
||||
Identifier "Rockchip Graphics"
|
||||
Driver "modesetting"
|
||||
|
||||
### Use Rockchip RGA 2D HW accel
|
||||
# Option "AccelMethod" "exa"
|
||||
|
||||
### Use GPU HW accel
|
||||
Option "AccelMethod" "glamor"
|
||||
|
||||
Option "DRI" "2"
|
||||
|
||||
### Set to "always" to avoid tearing, could lead to up 50% performance loss
|
||||
Option "FlipFB" "always"
|
||||
|
||||
### Limit flip rate and drop frames for "FlipFB" to reduce performance lost
|
||||
# Option "MaxFlipRate" "60"
|
||||
|
||||
Option "NoEDID" "true"
|
||||
Option "UseGammaLUT" "true"
|
||||
EndSection
|
||||
|
||||
Section "Screen"
|
||||
Identifier "Default Screen"
|
||||
Device "Rockchip Graphics"
|
||||
Monitor "Default Monitor"
|
||||
EndSection
|
||||
|
||||
### Valid values for rotation are "normal", "left", "right"
|
||||
Section "Monitor"
|
||||
Identifier "Default Monitor"
|
||||
Option "Rotate" "normal"
|
||||
EndSection
|
||||
4919
external/packages/bsp/rk356x/etc/iqfiles/imx219_rpi-camera-v2_default.json
vendored
Normal file
4919
external/packages/bsp/rk356x/etc/iqfiles/imx219_rpi-camera-v2_default.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
5961
external/packages/bsp/rk356x/etc/iqfiles/ov13850_CMK-CT0116_default.json
vendored
Executable file
5961
external/packages/bsp/rk356x/etc/iqfiles/ov13850_CMK-CT0116_default.json
vendored
Executable file
File diff suppressed because it is too large
Load Diff
4718
external/packages/bsp/rk356x/etc/iqfiles/ov5647_rpi-camera-v1_default.json
vendored
Normal file
4718
external/packages/bsp/rk356x/etc/iqfiles/ov5647_rpi-camera-v1_default.json
vendored
Normal file
File diff suppressed because it is too large
Load Diff
141
external/packages/bsp/rk356x/etc/mpv/mpv.conf
vendored
Normal file
141
external/packages/bsp/rk356x/etc/mpv/mpv.conf
vendored
Normal file
@@ -0,0 +1,141 @@
|
||||
#
|
||||
# mpv configuration file
|
||||
#
|
||||
# Warning:
|
||||
#
|
||||
# The commented example options usually do _not_ set the default values. Call
|
||||
# mpv with --list-options to see the default values for most options. There is
|
||||
# no builtin or example mpv.conf with all the defaults.
|
||||
#
|
||||
#
|
||||
# Configuration files are read system-wide from /usr/local/etc/mpv.conf
|
||||
# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override
|
||||
# system-wide settings, all of which are overridden by the command line.
|
||||
#
|
||||
# Configuration file settings and the command line options use the same
|
||||
# underlying mechanisms. Most options can be put into the configuration file
|
||||
# by dropping the preceding '--'. See the man page for a complete list of
|
||||
# options.
|
||||
#
|
||||
# Lines starting with '#' are comments and are ignored.
|
||||
#
|
||||
# See the CONFIGURATION FILES section in the man page
|
||||
# for a detailed description of the syntax.
|
||||
#
|
||||
# Profiles should be placed at the bottom of the configuration file to ensure
|
||||
# that settings wanted as defaults are not restricted to specific profiles.
|
||||
|
||||
##################
|
||||
# video settings #
|
||||
##################
|
||||
|
||||
# Start in fullscreen mode by default.
|
||||
#fs=yes
|
||||
|
||||
# force starting with centered window
|
||||
#geometry=50%:50%
|
||||
|
||||
# don't allow a new window to have a size larger than 90% of the screen size
|
||||
#autofit-larger=90%x90%
|
||||
|
||||
# Do not close the window on exit.
|
||||
#keep-open=yes
|
||||
|
||||
# Do not wait with showing the video window until it has loaded. (This will
|
||||
# resize the window once video is loaded. Also always shows a window with
|
||||
# audio.)
|
||||
#force-window=immediate
|
||||
|
||||
# Disable the On Screen Controller (OSC).
|
||||
#osc=no
|
||||
|
||||
# Keep the player window on top of all other windows.
|
||||
#ontop=yes
|
||||
|
||||
# Specify high quality video rendering preset (for --vo=gpu only)
|
||||
# Can cause performance problems with some drivers and GPUs.
|
||||
#profile=gpu-hq
|
||||
|
||||
# Force video to lock on the display's refresh rate, and change video and audio
|
||||
# speed to some degree to ensure synchronous playback - can cause problems
|
||||
# with some drivers and desktop environments.
|
||||
#video-sync=display-resample
|
||||
|
||||
# Enable hardware decoding if available. Often, this does not work with all
|
||||
# video outputs, but should work well with default settings on most systems.
|
||||
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
|
||||
# may or may not help.
|
||||
hwdec=rkmpp
|
||||
|
||||
# Specify default video output.
|
||||
vo=xv
|
||||
|
||||
##################
|
||||
# audio settings #
|
||||
##################
|
||||
|
||||
# Specify default audio device. You can list devices with: --audio-device=help
|
||||
# The option takes the device string (the stuff between the '...').
|
||||
#audio-device=alsa/default
|
||||
|
||||
# Do not filter audio to keep pitch when changing playback speed.
|
||||
#audio-pitch-correction=no
|
||||
|
||||
# Output 5.1 audio natively, and upmix/downmix audio with a different format.
|
||||
#audio-channels=5.1
|
||||
# Disable any automatic remix, _if_ the audio output accepts the audio format.
|
||||
# of the currently played file. See caveats mentioned in the manpage.
|
||||
# (The default is "auto-safe", see manpage.)
|
||||
#audio-channels=auto
|
||||
|
||||
##################
|
||||
# other settings #
|
||||
##################
|
||||
|
||||
# Pretend to be a web browser. Might fix playback with some streaming sites,
|
||||
# but also will break with shoutcast streams.
|
||||
#user-agent="Mozilla/5.0"
|
||||
|
||||
# cache settings
|
||||
#
|
||||
# Use 150MB input cache by default. The cache is enabled for network streams only.
|
||||
#cache-default=153600
|
||||
#
|
||||
# Use 150MB input cache for everything, even local files.
|
||||
#cache=153600
|
||||
#
|
||||
# Disable the behavior that the player will pause if the cache goes below a
|
||||
# certain fill size.
|
||||
#cache-pause=no
|
||||
#
|
||||
# Read ahead about 5 seconds of audio and video packets.
|
||||
#demuxer-readahead-secs=5.0
|
||||
#
|
||||
# Raise readahead from demuxer-readahead-secs to this value if a cache is active.
|
||||
#cache-secs=50.0
|
||||
|
||||
# Display English subtitles if available.
|
||||
#slang=en
|
||||
|
||||
# Play Finnish audio if available, fall back to English otherwise.
|
||||
#alang=fi,en
|
||||
|
||||
# Change subtitle encoding. For Arabic subtitles use 'cp1256'.
|
||||
# If the file seems to be valid UTF-8, prefer UTF-8.
|
||||
# (You can add '+' in front of the codepage to force it.)
|
||||
#sub-codepage=cp1256
|
||||
|
||||
# You can also include other configuration files.
|
||||
#include=/path/to/the/file/you/want/to/include
|
||||
|
||||
############
|
||||
# Profiles #
|
||||
############
|
||||
|
||||
# The options declared as part of profiles override global default settings,
|
||||
# but only take effect when the profile is active.
|
||||
|
||||
# The following profile can be enabled on the command line with: --profile=eye-cancer
|
||||
|
||||
#[eye-cancer]
|
||||
#sharpen=5
|
||||
1
external/packages/bsp/rk356x/etc/profile.d/cogl.sh
vendored
Normal file
1
external/packages/bsp/rk356x/etc/profile.d/cogl.sh
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export COGL_DRIVER=gles2
|
||||
74
external/packages/bsp/rk356x/etc/profile.d/gst.sh
vendored
Normal file
74
external/packages/bsp/rk356x/etc/profile.d/gst.sh
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
export GST_GL_API=gles2
|
||||
export GST_GL_PLATFORM=egl
|
||||
|
||||
export GST_DEBUG_NO_COLOR=1
|
||||
export GST_INSPECT_NO_COLORS=1
|
||||
|
||||
# Skip vstride aligning, which is not required when using RKVENC.
|
||||
# export GST_MPP_ENC_UNALIGNED_VSTRIDE=1
|
||||
|
||||
# Convert to NV12(using RGA) when output format is NV12_10.
|
||||
# export GST_MPP_DEC_DISABLE_NV12_10=1
|
||||
|
||||
# Convert to NV12(using RGA) when output format is not NV12.
|
||||
# export GST_MPP_VIDEODEC_DEFAULT_FORMAT=NV12
|
||||
|
||||
# Try to use ARM AFBC to get better performance, but not work for all sinks.
|
||||
# export GST_MPP_VIDEODEC_DEFAULT_ARM_AFBC=1
|
||||
|
||||
# Use below env variables to configure kmssink plane ZPOS.
|
||||
# export KMSSINK_PLANE_ZPOS=0
|
||||
# export KMSSINK_PLANE_ON_TOP=1
|
||||
# export KMSSINK_PLANE_ON_BOTTOM=1
|
||||
|
||||
# There's an extra vsync waiting in kmssink, which is only needed for BSP 4.4
|
||||
# kernel(due to ecac2033831e FROMLIST: drm: skip wait on vblank for set plane).
|
||||
# Skip it would bring better performance with frame dropping.
|
||||
# export KMSSINK_DISABLE_VSYNC=1
|
||||
|
||||
# The waylandsink is async by default, which allows frame dropping.
|
||||
# export WAYLANDSINK_SYNC_FRAME=1
|
||||
|
||||
# Put video surface above UI window in waylandsink.
|
||||
# export WAYLANDSINK_PLACE_ABOVE=1
|
||||
|
||||
# Preferred formats for V4L2
|
||||
export GST_V4L2_PREFERRED_FOURCC=NV12:YU12:NV16:YUY2
|
||||
|
||||
# Preferred formats for videoconvert
|
||||
export GST_VIDEO_CONVERT_PREFERRED_FORMAT=NV12:NV16:I420:YUY2
|
||||
|
||||
# Using libv4l2 for V4L2
|
||||
export GST_V4L2_USE_LIBV4L2=1
|
||||
|
||||
# Default device for v4l2src
|
||||
export GST_V4L2SRC_DEFAULT_DEVICE=/dev/video-camera0
|
||||
|
||||
# Available RK devices for v4l2src
|
||||
export GST_V4L2SRC_RK_DEVICES=_mainpath:_selfpath:_bypass:_scale
|
||||
|
||||
# Max resolution for v4l2src
|
||||
export GST_V4L2SRC_MAX_RESOLUTION=3840x2160
|
||||
|
||||
# Preferred sinks for playbin3(autoaudiosink/autovideosink) and playbin.
|
||||
# export AUTOAUDIOSINK_PREFERRED=alsasink
|
||||
# export AUTOVIDEOSINK_PREFERRED=waylandsink
|
||||
# export PLAYBIN2_PREFERRED_AUDIOSINK=alsasink
|
||||
# export PLAYBIN2_PREFERRED_VIDEOSINK=waylandsink
|
||||
|
||||
# Try RGA 2D accel in videoconvert, videoscale and videoflip.
|
||||
# NOTE: Might not success, and might behave different from the official plugin.
|
||||
# export GST_VIDEO_CONVERT_USE_RGA=1
|
||||
# export GST_VIDEO_FLIP_USE_RGA=1
|
||||
export GST_MPP_NO_RGA=1
|
||||
|
||||
# Default rotation for camerabin2:
|
||||
# clockwise(90)|rotate-180|counterclockwise(270)|horizontal-flip|vertical-flip
|
||||
# export CAMERA_FLIP=clockwise
|
||||
if [ $CAMERA_FLIP ]; then
|
||||
CAMERA_FILTER="videoflip method=$CAMERA_FLIP"
|
||||
export CAMERABIN2_PREVIEW_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_IMAGE_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_VIDEO_FILTER=$CAMERA_FILTER
|
||||
export CAMERABIN2_VIEWFINDER_FILTER=$CAMERA_FILTER
|
||||
fi
|
||||
13
external/packages/bsp/rk356x/etc/profile.d/usbdevice.sh
vendored
Normal file
13
external/packages/bsp/rk356x/etc/profile.d/usbdevice.sh
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# The env variables below can be overridden
|
||||
|
||||
# option: adb acm hid mtp ntb rndis uac1 uac2 ums uvc
|
||||
export USB_FUNCS="adb"
|
||||
|
||||
export UMS_FILE=/userdata/ums_shared.img
|
||||
export UMS_SIZE=256M
|
||||
export UMS_FSTYPE=vfat
|
||||
export UMS_MOUNT=0
|
||||
export UMS_MOUNTPOINT=/mnt/ums
|
||||
export UMS_RO=0
|
||||
2
external/packages/bsp/rk356x/etc/profile.d/x11.sh
vendored
Normal file
2
external/packages/bsp/rk356x/etc/profile.d/x11.sh
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export DISPLAY=${DISPLAY:-:0}
|
||||
export TERM=${TERM:-linux}
|
||||
35
external/packages/bsp/rk356x/etc/pulse/client.conf
vendored
Normal file
35
external/packages/bsp/rk356x/etc/pulse/client.conf
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; default-sink =
|
||||
; default-source =
|
||||
default-server = unix:/tmp/pulse-socket
|
||||
; default-dbus-server =
|
||||
|
||||
; autospawn = yes
|
||||
; daemon-binary = /usr/bin/pulseaudio
|
||||
; extra-arguments = --log-target=syslog
|
||||
|
||||
; cookie-file =
|
||||
|
||||
; enable-shm = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
|
||||
; auto-connect-localhost = no
|
||||
; auto-connect-display = no
|
||||
92
external/packages/bsp/rk356x/etc/pulse/daemon.conf
vendored
Normal file
92
external/packages/bsp/rk356x/etc/pulse/daemon.conf
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
|
||||
## more information. Default values are commented out. Use either ; or # for
|
||||
## commenting.
|
||||
|
||||
; daemonize = no
|
||||
; fail = yes
|
||||
; allow-module-loading = yes
|
||||
allow-exit = no
|
||||
; use-pid-file = yes
|
||||
; system-instance = no
|
||||
; local-server-type = user
|
||||
; enable-shm = yes
|
||||
; enable-memfd = yes
|
||||
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
|
||||
; lock-memory = no
|
||||
; cpu-limit = no
|
||||
|
||||
; high-priority = yes
|
||||
; nice-level = -11
|
||||
|
||||
; realtime-scheduling = yes
|
||||
; realtime-priority = 5
|
||||
|
||||
exit-idle-time = -1
|
||||
; scache-idle-time = 20
|
||||
|
||||
; dl-search-path = (depends on architecture)
|
||||
|
||||
; load-default-script-file = yes
|
||||
; default-script-file = /etc/pulse/default.pa
|
||||
|
||||
; log-target = auto
|
||||
; log-level = notice
|
||||
; log-meta = no
|
||||
; log-time = no
|
||||
; log-backtrace = 0
|
||||
|
||||
; resample-method = speex-float-1
|
||||
; avoid-resampling = false
|
||||
; enable-remixing = yes
|
||||
; remixing-use-all-sink-channels = yes
|
||||
; remixing-produce-lfe = no
|
||||
; remixing-consume-lfe = no
|
||||
; lfe-crossover-freq = 0
|
||||
|
||||
; flat-volumes = no
|
||||
|
||||
; rescue-streams = yes
|
||||
|
||||
; rlimit-fsize = -1
|
||||
; rlimit-data = -1
|
||||
; rlimit-stack = -1
|
||||
; rlimit-core = -1
|
||||
; rlimit-as = -1
|
||||
; rlimit-rss = -1
|
||||
; rlimit-nproc = -1
|
||||
; rlimit-nofile = 256
|
||||
; rlimit-memlock = -1
|
||||
; rlimit-locks = -1
|
||||
; rlimit-sigpending = -1
|
||||
; rlimit-msgqueue = -1
|
||||
; rlimit-nice = 31
|
||||
; rlimit-rtprio = 9
|
||||
; rlimit-rttime = 200000
|
||||
|
||||
; default-sample-format = s16le
|
||||
; default-sample-rate = 44100
|
||||
; alternate-sample-rate = 48000
|
||||
; default-sample-channels = 2
|
||||
; default-channel-map = front-left,front-right
|
||||
|
||||
; default-fragments = 4
|
||||
; default-fragment-size-msec = 25
|
||||
|
||||
; enable-deferred-volume = yes
|
||||
; deferred-volume-safety-margin-usec = 8000
|
||||
; deferred-volume-extra-delay-usec = 0
|
||||
143
external/packages/bsp/rk356x/etc/pulse/default.pa
vendored
Normal file
143
external/packages/bsp/rk356x/etc/pulse/default.pa
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
#!/usr/bin/pulseaudio -nF
|
||||
#
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This startup script is used only if PulseAudio is started per-user
|
||||
# (i.e. not in system mode)
|
||||
|
||||
.fail
|
||||
|
||||
### Automatically restore the volume of streams and devices
|
||||
load-module module-device-restore
|
||||
load-module module-stream-restore
|
||||
load-module module-card-restore
|
||||
|
||||
### Automatically augment property information from .desktop files
|
||||
### stored in /usr/share/application
|
||||
load-module module-augment-properties
|
||||
|
||||
load-module module-switch-on-connect blacklist=""
|
||||
### Should be after module-*-restore but before module-*-detect
|
||||
load-module module-switch-on-port-available
|
||||
|
||||
### Load audio drivers statically
|
||||
### (it's probably better to not load these drivers manually, but instead
|
||||
### use module-udev-detect -- see below -- for doing this automatically)
|
||||
#load-module module-alsa-sink
|
||||
#load-module module-alsa-source device=hw:1,0
|
||||
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
|
||||
#load-module module-null-sink
|
||||
#load-module module-pipe-sink
|
||||
|
||||
### Automatically load driver modules depending on the hardware available
|
||||
.ifexists module-udev-detect.so
|
||||
load-module module-udev-detect
|
||||
.else
|
||||
### Use the static hardware detection module (for systems that lack udev support)
|
||||
load-module module-detect
|
||||
.endif
|
||||
|
||||
### Automatically connect sink and source if JACK server is present
|
||||
.ifexists module-jackdbus-detect.so
|
||||
.nofail
|
||||
load-module module-jackdbus-detect channels=2
|
||||
.fail
|
||||
.endif
|
||||
|
||||
### Automatically load driver modules for Bluetooth hardware
|
||||
.ifexists module-bluetooth-policy.so
|
||||
load-module module-bluetooth-policy
|
||||
.endif
|
||||
|
||||
.ifexists module-bluetooth-discover.so
|
||||
load-module module-bluetooth-discover
|
||||
.endif
|
||||
|
||||
### Load several protocols
|
||||
.ifexists module-esound-protocol-unix.so
|
||||
load-module module-esound-protocol-unix
|
||||
.endif
|
||||
load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket
|
||||
|
||||
### Network access (may be configured with paprefs, so leave this commented
|
||||
### here if you plan to use paprefs)
|
||||
#load-module module-esound-protocol-tcp
|
||||
#load-module module-native-protocol-tcp
|
||||
#load-module module-zeroconf-publish
|
||||
|
||||
### Load the RTP receiver module (also configured via paprefs, see above)
|
||||
#load-module module-rtp-recv
|
||||
|
||||
### Load the RTP sender module (also configured via paprefs, see above)
|
||||
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
|
||||
#load-module module-rtp-send source=rtp.monitor
|
||||
|
||||
### Load additional modules from GSettings. This can be configured with the paprefs tool.
|
||||
### Please keep in mind that the modules configured by paprefs might conflict with manually
|
||||
### loaded modules.
|
||||
.ifexists module-gsettings.so
|
||||
.nofail
|
||||
load-module module-gsettings
|
||||
.fail
|
||||
.endif
|
||||
|
||||
|
||||
### Automatically restore the default sink/source when changed by the user
|
||||
### during runtime
|
||||
### NOTE: This should be loaded as early as possible so that subsequent modules
|
||||
### that look up the default sink/source get the right value
|
||||
load-module module-default-device-restore
|
||||
|
||||
### Automatically move streams to the default sink if the sink they are
|
||||
### connected to dies, similar for sources
|
||||
load-module module-rescue-streams
|
||||
|
||||
### Make sure we always have a sink around, even if it is a null sink.
|
||||
load-module module-always-sink
|
||||
|
||||
### Honour intended role device property
|
||||
load-module module-intended-roles
|
||||
|
||||
### Automatically suspend sinks/sources that become idle for too long
|
||||
load-module module-suspend-on-idle
|
||||
|
||||
### If autoexit on idle is enabled we want to make sure we only quit
|
||||
### when no local session needs us anymore.
|
||||
.ifexists module-console-kit.so
|
||||
load-module module-console-kit
|
||||
.endif
|
||||
.ifexists module-systemd-login.so
|
||||
load-module module-systemd-login
|
||||
.endif
|
||||
|
||||
### Enable positioned event sounds
|
||||
load-module module-position-event-sounds
|
||||
|
||||
### Cork music/video streams when a phone stream is active
|
||||
load-module module-role-cork
|
||||
|
||||
### Modules to allow autoloading of filters (such as echo cancellation)
|
||||
### on demand. module-filter-heuristics tries to determine what filters
|
||||
### make sense, and module-filter-apply does the heavy-lifting of
|
||||
### loading modules and rerouting streams.
|
||||
load-module module-filter-heuristics
|
||||
load-module module-filter-apply
|
||||
|
||||
### Make some devices default
|
||||
#set-default-sink output
|
||||
set-default-source alsa_input.platform-es8388-sound.HiFi__hw_rockchipes8388__source
|
||||
set-default-sink alsa_output.platform-es8388-sound.HiFi__hw_rockchipes8388__sink
|
||||
1
external/packages/bsp/rk356x/etc/udev/rules.d/60-drm.rules
vendored
Normal file
1
external/packages/bsp/rk356x/etc/udev/rules.d/60-drm.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
SUBSYSTEM=="drm", ACTION=="change", ENV{HOTPLUG}=="1", RUN+="/sbin/start-stop-daemon -Sbox /usr/local/bin/drm-hotplug.sh"
|
||||
1
external/packages/bsp/rk356x/etc/udev/rules.d/83-typec.rules
vendored
Normal file
1
external/packages/bsp/rk356x/etc/udev/rules.d/83-typec.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ACTION=="remove", SUBSYSTEM=="typec", RUN+="/usr/local/bin/typec_usb2.sh"
|
||||
1
external/packages/bsp/rk356x/etc/udev/rules.d/88-rockchip-camera.rules
vendored
Normal file
1
external/packages/bsp/rk356x/etc/udev/rules.d/88-rockchip-camera.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ACTION=="add", SUBSYSTEM=="video4linux", ENV{ID_V4L_PRODUCT}=="*_mainpath", SYMLINK+="video-camera0"
|
||||
1
external/packages/bsp/rk356x/etc/udev/rules.d/90-load-uwe5622-modules.rules
vendored
Normal file
1
external/packages/bsp/rk356x/etc/udev/rules.d/90-load-uwe5622-modules.rules
vendored
Normal file
@@ -0,0 +1 @@
|
||||
ACTION=="add", SUBSYSTEM=="sdio", SUBSYSTEMS=="sdio", ENV{SDIO_ID}=="0000:0000", RUN+="/sbin/modprobe -a sprdwl_ng sprdbt_tty"
|
||||
61
external/packages/bsp/rk356x/etc/udev/rules.d/90-pulseaudio-rockchip.rules
vendored
Normal file
61
external/packages/bsp/rk356x/etc/udev/rules.d/90-pulseaudio-rockchip.rules
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
# do not edit this file, it will be overwritten on update
|
||||
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Lesser General Public License as
|
||||
# published by the Free Software Foundation; either version 2.1 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# PulseAudio is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SUBSYSTEM!="sound", GOTO="pulseaudio_end"
|
||||
ACTION!="change", GOTO="pulseaudio_end"
|
||||
KERNEL!="card*", GOTO="pulseaudio_end"
|
||||
SUBSYSTEMS=="usb", GOTO="pulseaudio_check_usb"
|
||||
|
||||
#ATTRS{id}=="rockchiphdmi0", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip-hdmi0.conf"
|
||||
#ATTRS{id}=="rockchiphdmi1", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip-hdmi1.conf"
|
||||
#ATTRS{id}=="rockchiprk168hd", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip.conf"
|
||||
#ATTRS{id}=="ROCKCHIPSPDIF", ACTION=="change", ENV{PULSE_PROFILE_SET}="pulse-rockchip.conf"
|
||||
SUBSYSTEMS=="platform", DRIVERS=="thinkpad_acpi", ENV{PULSE_IGNORE}="1"
|
||||
|
||||
GOTO="pulseaudio_end"
|
||||
|
||||
LABEL="pulseaudio_check_usb"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1978", ENV{PULSE_PROFILE_SET}="native-instruments-audio8dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="0839", ENV{PULSE_PROFILE_SET}="native-instruments-audio4dj.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="baff", ENV{PULSE_PROFILE_SET}="native-instruments-traktorkontrol-s4.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="4711", ENV{PULSE_PROFILE_SET}="native-instruments-korecontroller.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="041d", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio2.conf"
|
||||
|
||||
# There appear to be two IDs in use for Traktor Audio 6 (or maybe 17cc:1011
|
||||
# is just incorrect - 17cc:1010 has been verified to be correct at least
|
||||
# for some hardware).
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1010", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1011", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio6.conf"
|
||||
|
||||
ATTRS{idVendor}=="17cc", ATTRS{idProduct}=="1021", ENV{PULSE_PROFILE_SET}="native-instruments-traktor-audio10.conf"
|
||||
ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2012", ENV{PULSE_PROFILE_SET}="maudio-fasttrack-pro.conf"
|
||||
ATTRS{idVendor}=="045e", ATTRS{idProduct}=="02bb", ENV{PULSE_PROFILE_SET}="kinect-audio.conf"
|
||||
ATTRS{idVendor}=="041e", ATTRS{idProduct}=="322c", ENV{PULSE_PROFILE_SET}="sb-omni-surround-5.1.conf"
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4014", ENV{PULSE_PROFILE_SET}="dell-dock-tb16-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1260", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
|
||||
# ID 1038:12ad is for the 2018 refresh of the Arctis 7.
|
||||
# ID 1038:1294 is for Arctis Pro Wireless (which works with the Arctis 7
|
||||
# configuration).
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="12ad", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
ATTRS{idVendor}=="1038", ATTRS{idProduct}=="1294", ENV{PULSE_PROFILE_SET}="steelseries-arctis-usb-audio.conf"
|
||||
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="4987", ENV{PULSE_PROFILE_SET}="st2557-pc-usb-audio.conf"
|
||||
# Sugon W330-H35A
|
||||
ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="491b", ENV{PULSE_PROFILE_SET}="22d4-us-usb-audio.conf"
|
||||
|
||||
LABEL="pulseaudio_end"
|
||||
28
external/packages/bsp/rk356x/etc/udev/rules.d/99-rockchip-permissions.rules
vendored
Normal file
28
external/packages/bsp/rk356x/etc/udev/rules.d/99-rockchip-permissions.rules
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
ACTION=="remove", GOTO="permissions_end"
|
||||
|
||||
# VPU devices
|
||||
KERNEL=="avsd", MODE="0660", GROUP="video"
|
||||
KERNEL=="vepu", MODE="0660", GROUP="video"
|
||||
KERNEL=="h265e", MODE="0660", GROUP="video"
|
||||
KERNEL=="rkvdec", MODE="0660", GROUP="video"
|
||||
KERNEL=="rkvenc", MODE="0660", GROUP="video"
|
||||
KERNEL=="mpp_service", MODE="0660", GROUP="video"
|
||||
KERNEL=="vpu[_-]service", MODE="0660", GROUP="video"
|
||||
KERNEL=="hevc[_-]service", MODE="0660", GROUP="video"
|
||||
|
||||
# RGA device
|
||||
KERNEL=="rga", MODE="0660", GROUP="video"
|
||||
|
||||
# MALI devices (/dev/mali for mali400)
|
||||
KERNEL=="mali*", MODE="0660", GROUP="video"
|
||||
|
||||
# DMA heap devices
|
||||
KERNEL=="cma", MODE="0660", GROUP="video"
|
||||
KERNEL=="cma-uncached", MODE="0660", GROUP="video"
|
||||
KERNEL=="system", MODE="0660", GROUP="video"
|
||||
KERNEL=="system-dma32", MODE="0660", GROUP="video"
|
||||
KERNEL=="system-uncached", MODE="0660", GROUP="video"
|
||||
KERNEL=="system-uncached-dma32", MODE="0660", GROUP="video"
|
||||
|
||||
LABEL="permissions_end"
|
||||
|
||||
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librga.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librga.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librknn_api.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librknn_api.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librknnrt.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/lib/librknnrt.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/RK356X/yolov5s-640-640.rknn
vendored
Executable file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/RK356X/yolov5s-640-640.rknn
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/bus.jpg
vendored
Normal file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/bus.jpg
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 177 KiB |
80
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/coco_80_labels_list.txt
vendored
Normal file
80
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/model/coco_80_labels_list.txt
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
person
|
||||
bicycle
|
||||
car
|
||||
motorcycle
|
||||
airplane
|
||||
bus
|
||||
train
|
||||
truck
|
||||
boat
|
||||
traffic light
|
||||
fire hydrant
|
||||
stop sign
|
||||
parking meter
|
||||
bench
|
||||
bird
|
||||
cat
|
||||
dog
|
||||
horse
|
||||
sheep
|
||||
cow
|
||||
elephant
|
||||
bear
|
||||
zebra
|
||||
giraffe
|
||||
backpack
|
||||
umbrella
|
||||
handbag
|
||||
tie
|
||||
suitcase
|
||||
frisbee
|
||||
skis
|
||||
snowboard
|
||||
sports ball
|
||||
kite
|
||||
baseball bat
|
||||
baseball glove
|
||||
skateboard
|
||||
surfboard
|
||||
tennis racket
|
||||
bottle
|
||||
wine glass
|
||||
cup
|
||||
fork
|
||||
knife
|
||||
spoon
|
||||
bowl
|
||||
banana
|
||||
apple
|
||||
sandwich
|
||||
orange
|
||||
broccoli
|
||||
carrot
|
||||
hot dog
|
||||
pizza
|
||||
donut
|
||||
cake
|
||||
chair
|
||||
couch
|
||||
potted plant
|
||||
bed
|
||||
dining table
|
||||
toilet
|
||||
tv
|
||||
laptop
|
||||
mouse
|
||||
remote
|
||||
keyboard
|
||||
cell phone
|
||||
microwave
|
||||
oven
|
||||
toaster
|
||||
sink
|
||||
refrigerator
|
||||
book
|
||||
clock
|
||||
vase
|
||||
scissors
|
||||
teddy bear
|
||||
hair drier
|
||||
toothbrush
|
||||
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/rknn_yolov5_demo
vendored
Executable file
BIN
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/rknn_yolov5_demo
vendored
Executable file
Binary file not shown.
3
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/test.sh
vendored
Executable file
3
external/packages/bsp/rk356x/opt/rknn_yolov5_demo/test.sh
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo ./rknn_yolov5_demo ./model/RK356X/yolov5s-640-640.rknn ./model/bus.jpg
|
||||
BIN
external/packages/bsp/rk356x/usr/bin/brcm_patchram_plus
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/bin/brcm_patchram_plus
vendored
Executable file
Binary file not shown.
44
external/packages/bsp/rk356x/usr/bin/bt_pcba_test
vendored
Executable file
44
external/packages/bsp/rk356x/usr/bin/bt_pcba_test
vendored
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
killall brcm_patchram_plus1
|
||||
|
||||
echo 0 > /sys/class/rfkill/rfkill0/state
|
||||
sleep 2
|
||||
echo 1 > /sys/class/rfkill/rfkill0/state
|
||||
sleep 2
|
||||
|
||||
COMPATIBLE=$(cat /proc/device-tree/compatible)
|
||||
|
||||
if [[ $(expr $COMPATIBLE : ".*rk3588") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS8 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3568") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS8 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3566") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3399") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3288") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*rk3326") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS1 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
elif [[ $(expr $COMPATIBLE : ".*px30") -ne 0 ]]; then
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS1 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
else
|
||||
brcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download --tosleep 200000 --baudrate 1500000 --patchram /system/etc/firmware/ /dev/ttyS0 &
|
||||
hciconfig hci0 up
|
||||
sleep 1
|
||||
fi
|
||||
5
external/packages/bsp/rk356x/usr/bin/restart_rknn.sh
vendored
Executable file
5
external/packages/bsp/rk356x/usr/bin/restart_rknn.sh
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
killall start_rknn.sh > /dev/null 2>&1
|
||||
killall rknn_server > /dev/null 2>&1
|
||||
start_rknn.sh &
|
||||
BIN
external/packages/bsp/rk356x/usr/bin/rknn_camera
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/bin/rknn_camera
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/bin/rknn_demo
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/bin/rknn_demo
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/bin/rknn_server
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/bin/rknn_server
vendored
Executable file
Binary file not shown.
7
external/packages/bsp/rk356x/usr/bin/start_rknn.sh
vendored
Executable file
7
external/packages/bsp/rk356x/usr/bin/start_rknn.sh
vendored
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
while true
|
||||
do
|
||||
sleep 1
|
||||
rknn_server #>/dev/null 2>&1
|
||||
done
|
||||
25
external/packages/bsp/rk356x/usr/bin/usb-hotplug
vendored
Executable file
25
external/packages/bsp/rk356x/usr/bin/usb-hotplug
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
#! /bin/sh
|
||||
|
||||
sleep 1
|
||||
dev_path=/sys$1
|
||||
state=`cat ${dev_path}/state`
|
||||
if [ "$state"x != "config"x ] ; then
|
||||
UDC=`ls /sys/class/udc/| awk '{print $1}'`
|
||||
echo $UDC > /sys/kernel/config/usb_gadget/rockchip/UDC
|
||||
functions=`cat /sys/kernel/config/usb_gadget/rockchip/configs/b.1/strings/0x409/configuration`
|
||||
|
||||
# if no "_" string to "cut" command, it will set the full string to output.
|
||||
# add "_" to string functions avoiding no "_" case
|
||||
i=2
|
||||
functions=_${functions}
|
||||
|
||||
tmp=`echo $functions | cut -d _ -f $i`
|
||||
until [ -z "$tmp" ]; do
|
||||
if [ "$tmp" == "mtp" ]; then
|
||||
mtp-server&
|
||||
break
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
tmp=`echo $functions | cut -d _ -f $i`
|
||||
done
|
||||
fi
|
||||
620
external/packages/bsp/rk356x/usr/bin/usbdevice
vendored
Executable file
620
external/packages/bsp/rk356x/usr/bin/usbdevice
vendored
Executable file
@@ -0,0 +1,620 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# Uncomment below to see more logs
|
||||
# set -x
|
||||
|
||||
# Load default env variables from profiles
|
||||
. /etc/profile
|
||||
|
||||
LOG_FILE=/tmp/usbdevice.log
|
||||
USB_FUNCS_FILE=/tmp/.usbdevice
|
||||
|
||||
alias usb_enable='touch $USB_FUNCS_FILE'
|
||||
alias usb_disable='rm -f $USB_FUNCS_FILE'
|
||||
alias usb_is_enabled='[ -f $USB_FUNCS_FILE ]'
|
||||
alias usb_set_started='echo $USB_FUNCS > $USB_FUNCS_FILE'
|
||||
usb_get_started()
|
||||
{
|
||||
usb_is_enabled || return 0
|
||||
cat $USB_FUNCS_FILE
|
||||
}
|
||||
|
||||
CONFIGFS_DIR=/sys/kernel/config
|
||||
USB_GROUP=rockchip
|
||||
USB_STRINGS_ATTR=strings/0x409
|
||||
USB_GADGET_DIR=$CONFIGFS_DIR/usb_gadget/$USB_GROUP
|
||||
USB_GADGET_STRINGS_DIR=$USB_GADGET_DIR/$USB_STRINGS_ATTR
|
||||
USB_FUNCTIONS_DIR=$USB_GADGET_DIR/functions
|
||||
USB_CONFIGS_DIR=$USB_GADGET_DIR/configs/b.1
|
||||
USB_CONFIGS_STRINGS_DIR=$USB_CONFIGS_DIR/$USB_STRINGS_ATTR
|
||||
|
||||
# Make sure that we own this session (pid equals sid)
|
||||
if ! ps x -o cmd,pid,sid | grep -wq "$$$"; then
|
||||
setsid $0 $@
|
||||
exit $?
|
||||
fi
|
||||
|
||||
# ---- helper functions
|
||||
usb_msg()
|
||||
{
|
||||
logger -t $(basename $0) "[$$]: $@"
|
||||
echo "[$(date +"%F %T")] $@"
|
||||
}
|
||||
|
||||
usb_pid()
|
||||
{
|
||||
case $1 in
|
||||
ums) echo 0x0000;;
|
||||
mtp) echo 0x0001;;
|
||||
uvc) echo 0x0005;;
|
||||
adb) echo 0x0006;;
|
||||
adb_mtp) echo 0x0011;;
|
||||
adb_ums) echo 0x0018;;
|
||||
adb_uvc) echo 0x0015;;
|
||||
ntb_uvc) echo 0x0017;;
|
||||
acm) echo 0x1005;;
|
||||
*) echo 0x0019;;
|
||||
esac
|
||||
}
|
||||
|
||||
usb_instances()
|
||||
{
|
||||
for func in $@; do
|
||||
VAR=$(echo $func | tr 'a-z' 'A-Z')_INSTANCES
|
||||
eval echo "\${$VAR:-$func.gs0}"
|
||||
done
|
||||
}
|
||||
|
||||
usb_run_stage()
|
||||
{
|
||||
for f in $1_pre_$2_hook $1_$2 $1_post_$2_hook; do
|
||||
type $f >/dev/null 2>/dev/null || continue
|
||||
|
||||
usb_msg "Run stage: $f"
|
||||
eval $f || break
|
||||
done
|
||||
}
|
||||
|
||||
usb_wait_files()
|
||||
{
|
||||
for i in `seq 200`;do
|
||||
fuser -s $@ 2>/dev/null && break
|
||||
sleep .01
|
||||
done
|
||||
}
|
||||
|
||||
usb_release_files()
|
||||
{
|
||||
for i in `seq 200`;do
|
||||
fuser -s -k $@ 2>/dev/null || break
|
||||
sleep .01
|
||||
done
|
||||
}
|
||||
|
||||
# usage: usb_mount <src> <mountpoint> <options>
|
||||
usb_mount()
|
||||
{
|
||||
mkdir -p $2
|
||||
mountpoint -q $2 || mount $@
|
||||
}
|
||||
|
||||
usb_umount()
|
||||
{
|
||||
mountpoint -q $1 || return 0
|
||||
usb_release_files -m $1
|
||||
umount $1
|
||||
}
|
||||
|
||||
usb_symlink()
|
||||
{
|
||||
mkdir -p $1
|
||||
[ -e $2 ] || ln -s $1 $2
|
||||
}
|
||||
|
||||
usb_try_symlink()
|
||||
{
|
||||
usb_symlink $@ &>/dev/null || true
|
||||
}
|
||||
|
||||
usb_write()
|
||||
{
|
||||
if echo "x$1" | grep -q "^x-"; then
|
||||
OPTS=$1
|
||||
shift
|
||||
fi
|
||||
|
||||
FILE=$1
|
||||
shift
|
||||
|
||||
if [ -r $FILE ] && [ "$(cat $FILE)" = "$@" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo $OPTS "$@" > $FILE
|
||||
}
|
||||
|
||||
usb_try_write()
|
||||
{
|
||||
usb_write $@ &>/dev/null || true
|
||||
}
|
||||
|
||||
usb_start_daemon()
|
||||
{
|
||||
NAME=$(echo $1 | sed "s#^[^ ]*/\([^ ]*\).*#\1#")
|
||||
TAG_FILE=/tmp/.usb_$NAME
|
||||
|
||||
# Enable spawn
|
||||
touch $TAG_FILE
|
||||
|
||||
# Already started
|
||||
[ -z "$(usb_get_started)" ] || return 0
|
||||
|
||||
# Start and spawn background daemon
|
||||
{
|
||||
exec 3<&-
|
||||
|
||||
cd /
|
||||
while usb_is_enabled; do
|
||||
# Don't spawn after stopped
|
||||
[ ! -f $TAG_FILE ] ||
|
||||
start-stop-daemon -Sqx $@ || true
|
||||
sleep .5
|
||||
done
|
||||
}&
|
||||
}
|
||||
|
||||
usb_stop_daemon()
|
||||
{
|
||||
NAME=$(echo $1 | sed "s#^[^ ]*/\([^ ]*\).*#\1#")
|
||||
TAG_FILE=/tmp/.usb_$NAME
|
||||
|
||||
# Stop and disable spawn
|
||||
rm -f $TAG_FILE
|
||||
start-stop-daemon -Kqox $@
|
||||
}
|
||||
|
||||
usb_load_config()
|
||||
{
|
||||
USB_CONFIG_FILE=$(find /etc/ -name .usb_config | head -n 1)
|
||||
[ -n "$USB_CONFIG_FILE" -a -r $USB_CONFIG_FILE ] || return 0
|
||||
|
||||
ums_parse()
|
||||
{
|
||||
grep "\<$1=" $USB_CONFIG_FILE | cut -d'=' -f2
|
||||
}
|
||||
UMS_FILE=$(ums_parse ums_block)
|
||||
UMS_SIZE=$(ums_parse ums_block_size || echo 0)M
|
||||
UMS_FSTYPE=$(ums_parse ums_block_type)
|
||||
UMS_MOUNT=$([ "$(ums_parse ums_block_auto_mount)" != on ]; echo $?)
|
||||
UMS_RO=$([ "$(ums_parse ums_block_ro)" != on ]; echo $?)
|
||||
|
||||
USB_FUNCS=$(grep "usb_.*_en" $USB_CONFIG_FILE | cut -d'_' -f2 | xargs)
|
||||
}
|
||||
|
||||
# ---- adb
|
||||
ADB_INSTANCES=${ADB_INSTANCES:-ffs.adb}
|
||||
|
||||
adb_prepare()
|
||||
{
|
||||
usb_mount adb /dev/usb-ffs/adb -o uid=2000,gid=2000 -t functionfs
|
||||
usb_start_daemon /usr/bin/adbd
|
||||
usb_wait_files -m /dev/usb-ffs/adb
|
||||
}
|
||||
|
||||
adb_stop()
|
||||
{
|
||||
usb_stop_daemon /usr/bin/adbd
|
||||
}
|
||||
|
||||
# ---- ntb
|
||||
NTB_INSTANCES=${NTB_INSTANCES:-ffs.ntb}
|
||||
|
||||
ntb_prepare()
|
||||
{
|
||||
usb_mount ntb /dev/usb-ffs/ntb -o uid=2000,gid=2000 -t functionfs
|
||||
}
|
||||
|
||||
# ---- uac1
|
||||
uac1_prepare()
|
||||
{
|
||||
for f in $(find . -name "*_feature_unit"); do
|
||||
echo 1 >$f
|
||||
done
|
||||
}
|
||||
|
||||
# ---- uac2
|
||||
uac2_prepare()
|
||||
{
|
||||
uac1_prepare
|
||||
}
|
||||
|
||||
# ---- mtp
|
||||
mtp_prepare()
|
||||
{
|
||||
echo "MTP" > os_desc/interface.MTP/compatible_id
|
||||
echo 1 > $USB_GADGET_DIR/os_desc/use
|
||||
}
|
||||
|
||||
mtp_start()
|
||||
{
|
||||
usb_start_daemon /usr/bin/mtp-server
|
||||
usb_wait_files /dev/mtp_usb
|
||||
}
|
||||
|
||||
mtp_stop()
|
||||
{
|
||||
usb_stop_daemon /usr/bin/mtp-server
|
||||
usb_release_files /dev/mtp_usb
|
||||
|
||||
echo 0 > $USB_GADGET_DIR/os_desc/use
|
||||
}
|
||||
|
||||
# ---- acm
|
||||
ACM_INSTANCES=${ACM_INSTANCES:-acm.gs6}
|
||||
|
||||
# ---- rndis
|
||||
# Nothing special
|
||||
|
||||
# ---- uvc
|
||||
UVC_INSTANCES=${UVC_INSTANCES:-uvc.gs6}
|
||||
|
||||
uvc_add_yuyv()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMaxBitRate
|
||||
echo $((WIDTH * HEIGHT * 2)) > $DIR/dwMaxVideoFrameBufferSize
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_add_mjpeg()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 20)) > $DIR/dwMaxBitRate
|
||||
echo $((WIDTH * HEIGHT * 2)) > $DIR/dwMaxVideoFrameBufferSize
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_add_h264()
|
||||
{
|
||||
WIDTH=$(echo $1 | cut -d'x' -f1)
|
||||
HEIGHT=$(echo $1 | cut -d'x' -f2)
|
||||
DIR=${HEIGHT}p
|
||||
|
||||
[ ! -d $DIR ] || return 0
|
||||
|
||||
mkdir -p $DIR
|
||||
echo $WIDTH > $DIR/wWidth
|
||||
echo $HEIGHT > $DIR/wHeight
|
||||
echo 333333 > $DIR/dwDefaultFrameInterval
|
||||
echo $((WIDTH * HEIGHT * 10)) > $DIR/dwMinBitRate
|
||||
echo $((WIDTH * HEIGHT * 10)) > $DIR/dwMaxBitRate
|
||||
echo -e "333333\n666666\n1000000\n2000000" > $DIR/dwFrameInterval
|
||||
}
|
||||
|
||||
uvc_support_resolutions()
|
||||
{
|
||||
case ${1:-yuyv} in
|
||||
yuyv) echo "640x480 1280x720";;
|
||||
mjpeg) echo "640x480 1280x720 1920x1080 2560x1440 2592x1944";;
|
||||
h264) echo "640x480 1280x720 1920x1080";;
|
||||
esac
|
||||
}
|
||||
|
||||
uvc_prepare()
|
||||
{
|
||||
UVC_DIR=$(pwd)
|
||||
|
||||
usb_symlink $UVC_DIR/control/header/h $UVC_DIR/control/class/fs/h
|
||||
usb_symlink $UVC_DIR/control/header/h $UVC_DIR/control/class/ss/h
|
||||
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/fs/h
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/hs/h
|
||||
usb_symlink $UVC_DIR/streaming/header/h $UVC_DIR/streaming/class/ss/h
|
||||
|
||||
UVC_YUYV_RES=$(uvc_support_resolutions yuyv)
|
||||
if [ -n "$UVC_YUYV_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/uncompressed/u \
|
||||
$UVC_DIR/streaming/header/h/u
|
||||
cd $UVC_DIR/streaming/uncompressed/u
|
||||
|
||||
for res in $UVC_YUYV_RES; do
|
||||
uvc_add_yuyv $res
|
||||
done
|
||||
fi
|
||||
|
||||
UVC_MJPEG_RES=$(uvc_support_resolutions mjpeg)
|
||||
if [ -n "$UVC_MJPEG_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/mjpeg/m \
|
||||
$UVC_DIR/streaming/header/h/m
|
||||
cd $UVC_DIR/streaming/mjpeg/m
|
||||
|
||||
for res in $UVC_MJPEG_RES; do
|
||||
uvc_add_mjpeg $res
|
||||
done
|
||||
fi
|
||||
|
||||
UVC_H264_RES=$(uvc_support_resolutions h264)
|
||||
if [ -n "$UVC_H264_RES" ]; then
|
||||
usb_try_symlink $UVC_DIR/streaming/framebased/f \
|
||||
$UVC_DIR/streaming/header/h/f
|
||||
cd $UVC_DIR/streaming/framebased/f
|
||||
|
||||
for res in $UVC_H264_RES; do
|
||||
uvc_add_h264 $res
|
||||
done
|
||||
|
||||
usb_try_write -ne guidFormat "\\x48\\x32\\x36\\x34\\x00\\x00\\x10\\x00\\x80\\x00\\x00\\xaa\\x00\\x38\\x9b\\x71"
|
||||
fi
|
||||
}
|
||||
|
||||
# TODO: Start UVC daemon in uvc_start
|
||||
# TODO: Stop UVC daemon in uvc_stop
|
||||
|
||||
# ---- hid
|
||||
HID_INSTANCES=${HID_INSTANCES:-hid.usb0}
|
||||
|
||||
hid_prepare()
|
||||
{
|
||||
echo 1 > protocol
|
||||
echo 1 > subclass
|
||||
echo 8 > report_length
|
||||
echo -ne "\\x05\\x01\\x09\\x06\\xa1\\x01\\x05\\x07\\x19\\xe0\\x29\\xe7\\x15\\x00\\x25\\x01\\x75\\x01\\x95\\x08\\x81\\x02\\x95\\x01\\x75\\x08\\x81\\x03\\x95\\x05\\x75\\x01\\x05\\x08\\x19\\x01\\x29\\x05\\x91\\x02\\x95\\x01\\x75\\x03\\x91\\x03\\x95\\x06\\x75\\x08\\x15\\x00\\x25\\x65\\x05\\x07\\x19\\x00\\x29\\x65\\x81\\x00\\xc0" \
|
||||
> report_desc
|
||||
}
|
||||
|
||||
# ---- ums
|
||||
UMS_INSTANCES=${UMS_INSTANCES:-mass_storage.0}
|
||||
|
||||
ums_prepare()
|
||||
{
|
||||
if [ ! -f $UMS_FILE ]; then
|
||||
usb_msg "Formating $UMS_FILE($UMS_SIZE) to $UMS_FSTYPE"
|
||||
truncate -s $UMS_SIZE $UMS_FILE
|
||||
mkfs.$UMS_FSTYPE $UMS_FILE || \
|
||||
usb_msg "Failed to format $UMS_FILE to $UMS_FSTYPE"
|
||||
fi
|
||||
}
|
||||
|
||||
ums_stop()
|
||||
{
|
||||
echo > lun.0/file
|
||||
usb_umount $UMS_MOUNTPOINT
|
||||
|
||||
[ "$UMS_MOUNT" -eq 1 ] || return 0
|
||||
|
||||
# Try auto fstype firstly
|
||||
usb_mount $UMS_FILE $UMS_MOUNTPOINT -o sync 2>/dev/null || \
|
||||
usb_mount $UMS_FILE $UMS_MOUNTPOINT -o sync -t $UMS_FSTYPE
|
||||
}
|
||||
|
||||
ums_start()
|
||||
{
|
||||
case "$USB_STATE" in
|
||||
CONFIGURED)
|
||||
if [ "$(cat lun.0/ro)" != "$UMS_RO" ]; then
|
||||
echo > lun.0/file
|
||||
echo $UMS_RO > lun.0/ro
|
||||
fi
|
||||
|
||||
if ! grep -wq $UMS_FILE lun.0/file; then
|
||||
usb_umount $UMS_MOUNTPOINT
|
||||
echo $UMS_FILE > lun.0/file
|
||||
fi
|
||||
;;
|
||||
DISCONNECTED)
|
||||
ums_stop
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# ---- global
|
||||
usb_init()
|
||||
{
|
||||
usb_msg "Initializing"
|
||||
|
||||
echo 0x2207 > idVendor
|
||||
echo 0x0310 > bcdDevice
|
||||
echo 0x0200 > bcdUSB
|
||||
|
||||
mkdir -p $USB_GADGET_STRINGS_DIR
|
||||
SERIAL=$(grep Serial /proc/cpuinfo | cut -d':' -f2)
|
||||
echo ${SERIAL:-0123456789ABCDEF} > $USB_GADGET_STRINGS_DIR/serialnumber
|
||||
echo $USB_GROUP > $USB_GADGET_STRINGS_DIR/manufacturer
|
||||
echo "rk3xxx" > $USB_GADGET_STRINGS_DIR/product
|
||||
|
||||
mkdir -p $USB_CONFIGS_DIR
|
||||
echo 500 > $USB_CONFIGS_DIR/MaxPower
|
||||
|
||||
echo 0x1 > os_desc/b_vendor_code
|
||||
echo MSFT100 > os_desc/qw_sign
|
||||
ln -s $USB_CONFIGS_DIR os_desc/
|
||||
|
||||
mkdir -p $USB_CONFIGS_STRINGS_DIR
|
||||
}
|
||||
|
||||
usb_funcs_grep()
|
||||
{
|
||||
echo $USB_FUNCS | xargs -n 1 | sort | uniq | grep $@ || true
|
||||
}
|
||||
|
||||
usb_funcs_sort()
|
||||
{
|
||||
{
|
||||
for func in $@; do
|
||||
usb_funcs_grep -E $func
|
||||
done
|
||||
usb_funcs_grep -vE $(echo $@ | tr ' ' '|')
|
||||
} | uniq | xargs
|
||||
}
|
||||
|
||||
usb_prepare()
|
||||
{
|
||||
usb_load_config
|
||||
|
||||
# Allow function/variable overriding
|
||||
[ -d /etc/usbdevice.d ] && . /etc/usbdevice.d/*
|
||||
|
||||
UMS_FILE=${UMS_FILE:-/userdata/ums_shared.img}
|
||||
UMS_SIZE=${UMS_SIZE:-256M}
|
||||
UMS_FSTYPE=${UMS_FSTYPE:-vfat}
|
||||
UMS_MOUNT=${UMS_MOUNT:-0}
|
||||
UMS_MOUNTPOINT=${UMS_MOUNTPOINT:-/mnt/ums}
|
||||
UMS_RO=${UMS_RO:-0}
|
||||
|
||||
# Put RNDIS & UAC & UVC at first (required by kernel)
|
||||
USB_FUNCS=$(usb_funcs_sort rndis uac uvc)
|
||||
|
||||
if [ ! -d $USB_GADGET_DIR ]; then
|
||||
mountpoint -q $CONFIGFS_DIR || \
|
||||
mount -t configfs none $CONFIGFS_DIR
|
||||
|
||||
mkdir -p $USB_GADGET_DIR
|
||||
cd $USB_GADGET_DIR
|
||||
|
||||
# Global initialize
|
||||
usb_run_stage usb init
|
||||
fi
|
||||
|
||||
USB_STATE=$(cat /sys/class/android_usb/android0/state)
|
||||
USB_UDC=$(ls /sys/class/udc/ | head -n 1)
|
||||
|
||||
# Parse started USB functions
|
||||
OLD_FUNCS=$(usb_get_started)
|
||||
|
||||
# Stop old USB functions when USB functions changed
|
||||
if [ -n "$OLD_FUNCS" ] && [ "$OLD_FUNCS" != "$USB_FUNCS" ]; then
|
||||
usb_msg "Functions changed $OLD_FUNCS -> $USB_FUNCS"
|
||||
usb_stop
|
||||
fi
|
||||
}
|
||||
|
||||
usb_start()
|
||||
{
|
||||
usb_msg "Starting functions: $USB_FUNCS"
|
||||
|
||||
echo $USB_FUNCS | tr ' ' '_' > $USB_CONFIGS_STRINGS_DIR/configuration
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
usb_msg "Preparing instance: $instance"
|
||||
|
||||
if ! mkdir -p $USB_FUNCTIONS_DIR/$instance 2>/dev/null; then
|
||||
usb_msg "Failed to create instance: $instance"
|
||||
continue
|
||||
fi
|
||||
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_run_stage $func prepare
|
||||
|
||||
# Make symlink after prepared (required by UVC)
|
||||
usb_symlink $USB_FUNCTIONS_DIR/$instance \
|
||||
$USB_CONFIGS_DIR/f-$instance
|
||||
done
|
||||
done
|
||||
|
||||
usb_write $USB_GADGET_DIR/UDC $USB_UDC
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_msg "Starting instance: $instance"
|
||||
usb_run_stage $func start
|
||||
done
|
||||
done
|
||||
|
||||
# Store started functions
|
||||
usb_set_started
|
||||
}
|
||||
|
||||
usb_stop()
|
||||
{
|
||||
if [ -n "$OLD_FUNCS" ]; then
|
||||
usb_msg "Stopping functions: $OLD_FUNCS"
|
||||
fi
|
||||
|
||||
usb_write $USB_GADGET_DIR/UDC ""
|
||||
|
||||
for func in $USB_FUNCS; do
|
||||
for instance in $(usb_instances $func); do
|
||||
cd $USB_FUNCTIONS_DIR/$instance &>/dev/null || continue
|
||||
|
||||
usb_msg "Stopping instance: $instance"
|
||||
usb_run_stage $func stop
|
||||
done
|
||||
done
|
||||
|
||||
rm -f $USB_CONFIGS_DIR/f-*
|
||||
|
||||
# Clear functions to avoid stopping them again
|
||||
unset OLD_FUNCS
|
||||
}
|
||||
|
||||
usb_restart()
|
||||
{
|
||||
usb_run_stage usb stop
|
||||
usb_run_stage usb start
|
||||
}
|
||||
|
||||
ACTION=${1:-update}
|
||||
if [ "$ACTION" = update ]; then
|
||||
usb_is_enabled || exit 0
|
||||
fi
|
||||
|
||||
# Lock it
|
||||
exec 3<$0
|
||||
flock -x 3
|
||||
|
||||
echo "Starting $0 ${ACTION}, log saved to $LOG_FILE"
|
||||
|
||||
# Redirect outputs to log file
|
||||
exec >>$LOG_FILE 2>&1
|
||||
|
||||
usb_msg "Handling ${ACTION} request"
|
||||
|
||||
usb_run_stage usb prepare
|
||||
|
||||
case "$ACTION" in
|
||||
start|update)
|
||||
usb_enable
|
||||
usb_run_stage usb start
|
||||
;;
|
||||
stop)
|
||||
usb_disable
|
||||
usb_run_stage usb stop
|
||||
;;
|
||||
restart)
|
||||
usb_enable
|
||||
usb_run_stage usb restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: usbdevice [start|stop|restart|update]" >&2
|
||||
;;
|
||||
esac
|
||||
|
||||
usb_msg "Done $ACTION request"
|
||||
echo
|
||||
|
||||
# Unlock it
|
||||
flock -u 3
|
||||
BIN
external/packages/bsp/rk356x/usr/lib/libminigui_ths-3.2.so.0
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/libminigui_ths-3.2.so.0
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/libpng12.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/libpng12.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/libpng12.so.0
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/libpng12.so.0
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/librkisp.so
vendored
Normal file
BIN
external/packages/bsp/rk356x/usr/lib/librkisp.so
vendored
Normal file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/librknn_api.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/librknn_api.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/librknnrt.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/librknnrt.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/librkuvc.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/librkuvc.so
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/lib/libtinyalsa.so
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/lib/libtinyalsa.so
vendored
Executable file
Binary file not shown.
5
external/packages/bsp/rk356x/usr/lib/systemd/system/getty@.service.d/override.conf
vendored
Normal file
5
external/packages/bsp/rk356x/usr/lib/systemd/system/getty@.service.d/override.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM
|
||||
Type=idle
|
||||
5
external/packages/bsp/rk356x/usr/lib/systemd/system/serial-getty@.service.d/override.conf
vendored
Normal file
5
external/packages/bsp/rk356x/usr/lib/systemd/system/serial-getty@.service.d/override.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM
|
||||
Type=idle
|
||||
12
external/packages/bsp/rk356x/usr/lib/systemd/system/usbdevice.service
vendored
Normal file
12
external/packages/bsp/rk356x/usr/lib/systemd/system/usbdevice.service
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Manage USB device functions
|
||||
DefaultDependencies=no
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/bin/usbdevice start
|
||||
ExecStop=/usr/bin/usbdevice stop
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
29
external/packages/bsp/rk356x/usr/lib/udev/rules.d/61-partition-init.rules
vendored
Executable file
29
external/packages/bsp/rk356x/usr/lib/udev/rules.d/61-partition-init.rules
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
# rockchip internal storage links: /dev/disk/by-partlabel and /dev/block/by-name
|
||||
|
||||
ACTION=="remove", GOTO="rk_internal_storage_end"
|
||||
ENV{UDEV_DISABLE_ROCKCHIP_STORAGE_RULES_FLAG}=="1", GOTO="rk_internal_storage_end"
|
||||
SUBSYSTEM!="block|mtd", GOTO="rk_internal_storage_end"
|
||||
KERNEL!="mmcblk*[0-9]|rkflash*|rknand*|mtd*|nvme*", GOTO="rk_internal_storage_end"
|
||||
|
||||
# ignore partitions that span the entire disk
|
||||
TEST=="whole_disk", GOTO="rk_internal_storage_end"
|
||||
|
||||
# for partitions import parent information
|
||||
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
|
||||
|
||||
# for rknand parameter partition name
|
||||
ENV{DEVNAME}=="/dev/rknand*", ENV{DEVTYPE}=="disk", ENV{DEVPATH}=="/devices/virtual/block/rknand", ENV{ID_RKNAND_PART_NAME}=""
|
||||
|
||||
# for rkflash gpt partition name by-partlabel and /dev/block/by-name link
|
||||
ENV{DEVTYPE}=="partition", ENV{PARTNAME}=="?*", SYMLINK+="disk/by-partlabel/$env{PARTNAME}", SYMLINK+="block/by-name/$env{PARTNAME}"
|
||||
|
||||
# for emmc gpt partition name /dev/block/by-name link
|
||||
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="block/by-name/$env{ID_PART_ENTRY_NAME}"
|
||||
|
||||
# for mtd partition name /dev/block/by-name link
|
||||
ENV{DEVNAME}=="/dev/mtd*", ENV{DEVTYPE}=="mtd", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}"
|
||||
|
||||
# for nvme partition name /dev/block/by-name link
|
||||
ENV{DEVNAME}=="/dev/nvme*", ENV{DEVTYPE}=="disk", ATTRS{name}=="?*", SYMLINK+="block/by-name/$attr{name}"
|
||||
|
||||
LABEL="rk_internal_storage_end"
|
||||
1
external/packages/bsp/rk356x/usr/lib/udev/rules.d/61-usbdevice.rules
vendored
Executable file
1
external/packages/bsp/rk356x/usr/lib/udev/rules.d/61-usbdevice.rules
vendored
Executable file
@@ -0,0 +1 @@
|
||||
SUBSYSTEM=="android_usb",ACTION=="change",RUN+="/usr/bin/usbdevice update"
|
||||
29
external/packages/bsp/rk356x/usr/local/bin/auto_login_cli.sh
vendored
Executable file
29
external/packages/bsp/rk356x/usr/local/bin/auto_login_cli.sh
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
user=root
|
||||
else
|
||||
user=$1
|
||||
fi
|
||||
|
||||
[[ -d /lib/systemd/system/getty@.service.d/ ]] && rm /lib/systemd/system/getty@.service.d/ -rf
|
||||
[[ -f /lib/systemd/system/serial-getty@.service.d/override.conf ]] && rm /lib/systemd/system/serial-getty@.service.d/override.conf -f
|
||||
[[ -d /etc/systemd/system/getty@.service.d/ ]] && rm /etc/systemd/system/getty@.service.d/ -rf
|
||||
[[ -f /etc/systemd/system/serial-getty@.service.d/override.conf ]] && rm /etc/systemd/system/serial-getty@.service.d/override.conf -f
|
||||
|
||||
if [[ $1 == "-d" ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
mkdir -p /etc/systemd/system/getty@.service.d/
|
||||
mkdir -p /etc/systemd/system/serial-getty@.service.d/
|
||||
cat <<-EOF > \
|
||||
/etc/systemd/system/serial-getty@.service.d/override.conf
|
||||
[Service]
|
||||
ExecStartPre=/bin/sh -c 'exec /bin/sleep 10'
|
||||
ExecStart=
|
||||
ExecStart=-/sbin/agetty --noissue --autologin ${user} %I \$TERM
|
||||
Type=idle
|
||||
EOF
|
||||
cp /etc/systemd/system/serial-getty@.service.d/override.conf \
|
||||
/etc/systemd/system/getty@.service.d/override.conf
|
||||
3
external/packages/bsp/rk356x/usr/local/bin/cat_serial.sh
vendored
Executable file
3
external/packages/bsp/rk356x/usr/local/bin/cat_serial.sh
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
cat /proc/cpuinfo | grep "Serial"
|
||||
20
external/packages/bsp/rk356x/usr/local/bin/compile_python.sh
vendored
Executable file
20
external/packages/bsp/rk356x/usr/local/bin/compile_python.sh
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y build-essential zlib1g-dev \
|
||||
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev \
|
||||
libreadline-dev libffi-dev curl libbz2-dev
|
||||
|
||||
version=3.9.9
|
||||
[[ -n $1 ]] && version=$1
|
||||
|
||||
# optimize build time with 100% CPU usage
|
||||
CPUS=$(grep -c 'processor' /proc/cpuinfo)
|
||||
CTHREADS="-j$((CPUS + CPUS/2))"
|
||||
|
||||
wget https://cdn.npmmirror.com/binaries/python/$version/Python-${version}.tgz
|
||||
tar xvf Python-${version}.tgz
|
||||
cd Python-${version}
|
||||
./configure --enable-optimizations
|
||||
make ${CTHREADS}
|
||||
sudo make altinstall
|
||||
1919
external/packages/bsp/rk356x/usr/local/bin/create_ap
vendored
Executable file
1919
external/packages/bsp/rk356x/usr/local/bin/create_ap
vendored
Executable file
File diff suppressed because it is too large
Load Diff
11
external/packages/bsp/rk356x/usr/local/bin/desktop_login.sh
vendored
Executable file
11
external/packages/bsp/rk356x/usr/local/bin/desktop_login.sh
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
user=root
|
||||
else
|
||||
user=$1
|
||||
fi
|
||||
|
||||
sudo sed -i '/autologin-user=/d' /etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
sudo echo autologin-user=${user} >> /etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
sudo sed -i 's/root/anything/' /etc/pam.d/lightdm-autologin
|
||||
5
external/packages/bsp/rk356x/usr/local/bin/disable_desktop_autologin.sh
vendored
Executable file
5
external/packages/bsp/rk356x/usr/local/bin/disable_desktop_autologin.sh
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo sed -i \
|
||||
"s/autologin-user=.*/#&/" \
|
||||
/etc/lightdm/lightdm.conf.d/22-orangepi-autologin.conf
|
||||
77
external/packages/bsp/rk356x/usr/local/bin/drm-hotplug.sh
vendored
Executable file
77
external/packages/bsp/rk356x/usr/local/bin/drm-hotplug.sh
vendored
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
export DISPLAY=${DISPLAY:-:0}
|
||||
|
||||
function prepare_env() {
|
||||
# Try to figure out XAUTHORITY and DISPLAY
|
||||
for pid in $(pgrep X 2>/dev/null || \
|
||||
ls /proc|grep -ow "[0-9]*"|sort -rn); do
|
||||
PROC_DIR=/proc/$pid
|
||||
|
||||
# Filter out non-X processes
|
||||
readlink $PROC_DIR/exe|grep -qwE "X$|Xorg$" || continue
|
||||
|
||||
# Parse auth file and display from cmd args
|
||||
export XAUTHORITY=$(cat $PROC_DIR/cmdline|tr '\0' '\n'| \
|
||||
grep -w "\-auth" -A 1|tail -1)
|
||||
export DISPLAY=$(cat $PROC_DIR/cmdline|tr '\0' '\n'| \
|
||||
grep -w "^:.*" || echo ":0")
|
||||
|
||||
logger -t $0 "Found auth: $XAUTHORITY for dpy: $DISPLAY"
|
||||
return
|
||||
done
|
||||
}
|
||||
|
||||
function xrandr_wrapper() {
|
||||
xrandr --screen ${SCREEN:-0} $@
|
||||
}
|
||||
|
||||
if ! xdpyinfo &>/dev/null; then
|
||||
# Try to setup env
|
||||
prepare_env
|
||||
|
||||
if ! xdpyinfo &>/dev/null; then
|
||||
# Try to switch to an authorized user
|
||||
for XUSER in root $(users);do
|
||||
sudo -u $XUSER xdpyinfo &>/dev/null || continue
|
||||
|
||||
logger -t $0 "Switch to user: $XUSER"
|
||||
sudo -u $XUSER $0; exit 0
|
||||
done
|
||||
|
||||
logger -t $0 "Unable to contact Xserver!"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
TMP=$(mktemp)
|
||||
|
||||
SCREENS=$(xdpyinfo|grep screens|cut -d':' -f2)
|
||||
for SCREEN in $(seq 0 ${SCREENS:-0}); do
|
||||
# Get monitors and current mode info
|
||||
xrandr_wrapper 2>&1|grep -oE "^.*connected|^.*\*"|tee $TMP
|
||||
|
||||
# Result:
|
||||
# eDP-1 connected
|
||||
# 1536x2048 59.99*
|
||||
# DP-1 disconnected
|
||||
# HDMI-1 connected
|
||||
# 1920x1080 60.00*
|
||||
#
|
||||
# "*" means valid current mode.
|
||||
|
||||
# Make sure every connected monitors been enabled with a valid mode.
|
||||
for MONITOR in $(grep -w connected $TMP|cut -d' ' -f1); do
|
||||
# Find monitors without a valid current mode
|
||||
if ! grep -w $MONITOR $TMP -A 1|grep "\*"; then
|
||||
# Ether disabled or wrongly configured
|
||||
xrandr_wrapper --output $MONITOR --auto
|
||||
|
||||
logger -t $0 "Output $MONITOR enabled."
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
rm -rf $TMP
|
||||
|
||||
exit 0
|
||||
4
external/packages/bsp/rk356x/usr/local/bin/enable_docker.sh
vendored
Executable file
4
external/packages/bsp/rk356x/usr/local/bin/enable_docker.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo systemctl enable docker.service
|
||||
sudo systemctl start docker.service
|
||||
8
external/packages/bsp/rk356x/usr/local/bin/fix_mmc_ssd.sh
vendored
Executable file
8
external/packages/bsp/rk356x/usr/local/bin/fix_mmc_ssd.sh
vendored
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
mmc_dev=$(ls -d -1 /dev/mmcblk* | grep -w 'mmcblk[0-9]' | cut -d '/' -f3)
|
||||
sed -i "s/^rootdev=.*/rootdev=\/dev\/${mmc_dev}p2/" /boot/orangepiEnv.txt
|
||||
sed -i '/boot/d' /etc/fstab
|
||||
echo "/dev/${mmc_dev}p1 /boot vfat defaults 0 2" >> /etc/fstab
|
||||
|
||||
echo "Done"
|
||||
9
external/packages/bsp/rk356x/usr/local/bin/gpu_load.sh
vendored
Executable file
9
external/packages/bsp/rk356x/usr/local/bin/gpu_load.sh
vendored
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
while true; do
|
||||
|
||||
gpu_load=$(cat /sys/devices/platform/fb000000.gpu/devfreq/fb000000.gpu/load | cut -d "@" -f 1)
|
||||
echo $(date "+%H:%M:%S") : GPU load is : ${gpu_load}%
|
||||
sleep 1
|
||||
|
||||
done
|
||||
4
external/packages/bsp/rk356x/usr/local/bin/install_bt_panel.sh
vendored
Executable file
4
external/packages/bsp/rk356x/usr/local/bin/install_bt_panel.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
wget -O install.sh \
|
||||
http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
|
||||
17
external/packages/bsp/rk356x/usr/local/bin/install_docker.sh
vendored
Executable file
17
external/packages/bsp/rk356x/usr/local/bin/install_docker.sh
vendored
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
distributor_id=$(lsb_release -is)
|
||||
distributor_id=${distributor_id,}
|
||||
|
||||
sudo apt-get remove -y docker docker-engine docker-ce docker.io
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
||||
|
||||
curl -fsSL https://repo.huaweicloud.com/docker-ce/linux/${distributor_id}/gpg | sudo apt-key add -
|
||||
echo "deb [arch=$(dpkg --print-architecture)] https://repo.huaweicloud.com/docker-ce/linux/${distributor_id} $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||
|
||||
sudo groupadd docker
|
||||
sudo usermod -aG docker $USER
|
||||
25
external/packages/bsp/rk356x/usr/local/bin/install_qt.sh
vendored
Executable file
25
external/packages/bsp/rk356x/usr/local/bin/install_qt.sh
vendored
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
release=$(lsb_release -cs)
|
||||
|
||||
sudo apt update
|
||||
if [[ $release =~ focal|bionic|buster ]]; then
|
||||
sudo apt-get -y install qt5-default qttools5-dev-tools qtbase5-doc-html qt5-assistant qt5-doc
|
||||
elif [[ $release =~ bullseye|jammy ]]; then
|
||||
sudo apt-get -y install qttools5-dev-tools qtbase5-doc-html qt5-assistant qt5-doc qt5-qmake qt5-qmake-bin
|
||||
elif [[ $release =~ bookworm ]]; then
|
||||
sudo apt-get -y install qttools5-dev-tools qtbase5-doc-html qt5-doc qt5-qmake qt5-qmake-bin
|
||||
else
|
||||
echo "Unsupported system!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $release =~ focal|bionic|buster ]]; then
|
||||
sudo apt-get -y install qtcreator qmlscene gdb qtdeclarative5-dev cmake
|
||||
else
|
||||
sudo apt-get -y install qtcreator qmlscene gdb qtdeclarative5-dev qtbase5-examples cmake
|
||||
fi
|
||||
|
||||
sudo chown orangepi:orangepi /usr/lib/aarch64-linux-gnu/qt5/examples -R
|
||||
|
||||
qmake -v
|
||||
74
external/packages/bsp/rk356x/usr/local/bin/install_ros.sh
vendored
Executable file
74
external/packages/bsp/rk356x/usr/local/bin/install_ros.sh
vendored
Executable file
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
|
||||
#mirror_url=http://mirrors.ustc.edu.cn
|
||||
mirror_url=https://repo.huaweicloud.com
|
||||
|
||||
if [[ -n $1 && $1 =~ ros1|ros2 ]]; then
|
||||
version=$1
|
||||
else
|
||||
echo "usage: install_ros.sh ros1/ros2"
|
||||
exit
|
||||
fi
|
||||
|
||||
release=$(lsb_release -cs)
|
||||
|
||||
if [[ $version == "ros1" && $release =~ focal ]]; then
|
||||
|
||||
[[ -f /etc/apt/sources.list.d/ros-latest.list ]] && sudo rm /etc/apt/sources.list.d/ros-latest.list
|
||||
sudo sh -c "echo deb ${mirror_url}/ros/ubuntu $(lsb_release -sc) main > /etc/apt/sources.list.d/ros1.list"
|
||||
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||
sudo apt update
|
||||
sudo apt install -y ros-noetic-desktop-full
|
||||
|
||||
sudo sh -c 'echo "source /opt/ros/noetic/setup.bash" >> /root/.bashrc'
|
||||
echo "source /opt/ros/noetic/setup.bash" >> /home/orangepi/.bashrc
|
||||
|
||||
sudo apt install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
|
||||
|
||||
sudo sh -c 'echo "151.101.84.133 raw.githubusercontent.com" >> /etc/hosts'
|
||||
source /opt/ros/noetic/setup.bash
|
||||
sudo rosdep init
|
||||
rosdep update
|
||||
|
||||
exit
|
||||
fi
|
||||
|
||||
if [[ $version == "ros2" && $release =~ focal ]]; then
|
||||
|
||||
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||
echo "deb [arch=$(dpkg --print-architecture)] ${mirror_url}/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y ros-galactic-desktop
|
||||
sudo apt install -y ros-dev-tools
|
||||
|
||||
sudo sh -c 'echo "source /opt/ros/galactic/setup.bash" >> /root/.bashrc'
|
||||
echo "source /opt/ros/galactic/setup.bash" >> /home/orangepi/.bashrc
|
||||
|
||||
source /opt/ros/galactic/setup.bash
|
||||
ros2 -h
|
||||
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
if [[ $version == "ros2" && $release =~ jammy ]]; then
|
||||
|
||||
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||
echo "deb [arch=$(dpkg --print-architecture)] ${mirror_url}/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y ros-humble-desktop
|
||||
sudo apt install -y ros-dev-tools
|
||||
|
||||
sudo sh -c 'echo "source /opt/ros/humble/setup.bash" >> /root/.bashrc'
|
||||
echo "source /opt/ros/humble/setup.bash" >> /home/orangepi/.bashrc
|
||||
|
||||
source /opt/ros/humble/setup.bash
|
||||
ros2 -h
|
||||
|
||||
exit
|
||||
|
||||
fi
|
||||
|
||||
echo "Unsupported System!"
|
||||
BIN
external/packages/bsp/rk356x/usr/local/bin/io
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/io
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/memtester
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/memtester
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/modetest
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/modetest
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/multivideoplayer
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/multivideoplayer
vendored
Executable file
Binary file not shown.
4
external/packages/bsp/rk356x/usr/local/bin/reset_ssh.sh
vendored
Executable file
4
external/packages/bsp/rk356x/usr/local/bin/reset_ssh.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo rm /etc/ssh/ssh_host_*
|
||||
sudo dpkg-reconfigure openssh-server
|
||||
4
external/packages/bsp/rk356x/usr/local/bin/set_device.sh
vendored
Executable file
4
external/packages/bsp/rk356x/usr/local/bin/set_device.sh
vendored
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo bash -c "echo peripheral > /sys/devices/platform/fe8a0000.usb2-phy/otg_mode"
|
||||
sudo systemctl restart usbdevice
|
||||
37
external/packages/bsp/rk356x/usr/local/bin/set_lcd_rotate.sh
vendored
Executable file
37
external/packages/bsp/rk356x/usr/local/bin/set_lcd_rotate.sh
vendored
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -n $1 && $1 =~ left|right|inverted|none ]]; then
|
||||
type=$1
|
||||
else
|
||||
echo "usage: set_lcd_rotate.sh [left|right|inverted|none]"
|
||||
exit
|
||||
fi
|
||||
|
||||
case $1 in
|
||||
left)
|
||||
rotate=3
|
||||
matrix="0 -1 1 1 0 0 0 0 1"
|
||||
;;
|
||||
right)
|
||||
rotate=1
|
||||
matrix="0 1 0 -1 0 1 0 0 1"
|
||||
;;
|
||||
inverted)
|
||||
rotate=2
|
||||
matrix="-1 0 1 0 -1 1 0 0 1"
|
||||
;;
|
||||
none)
|
||||
rotate=0
|
||||
matrix="1 0 0 0 1 0 0 0 1"
|
||||
;;
|
||||
esac
|
||||
|
||||
sudo sed -i '/TransformationMatrix/d' /usr/share/X11/xorg.conf.d/40-libinput.conf
|
||||
sudo sed -i "/libinput touchscreen catchall/a Option \"TransformationMatrix\" \"${matrix}\"" /usr/share/X11/xorg.conf.d/40-libinput.conf
|
||||
|
||||
sudo sed -i '/extraargs=fbcon=rotate/d' /boot/orangepiEnv.txt
|
||||
sudo bash -c "echo extraargs=fbcon=rotate:${rotate} >> /boot/orangepiEnv.txt"
|
||||
sudo sed -i 's/bootlogo=true/bootlogo=false/g' /boot/orangepiEnv.txt
|
||||
sudo sync
|
||||
|
||||
sudo reboot
|
||||
21
external/packages/bsp/rk356x/usr/local/bin/set_vnc.sh
vendored
Executable file
21
external/packages/bsp/rk356x/usr/local/bin/set_vnc.sh
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
[[ -d ~/.vnc ]] && rm -rf ~/.vnc
|
||||
|
||||
vncserver
|
||||
vncserver -kill :1
|
||||
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
|
||||
|
||||
cat <<-EOF > \
|
||||
~/.vnc/xstartup
|
||||
#!/bin/bash
|
||||
xrdb $HOME/.Xresources
|
||||
startxfce4 &
|
||||
EOF
|
||||
|
||||
chmod +x ~/.vnc/xstartup
|
||||
vncserver
|
||||
|
||||
sudo chown orangepi:root .Xauthority
|
||||
|
||||
sync
|
||||
BIN
external/packages/bsp/rk356x/usr/local/bin/stressapptest
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/stressapptest
vendored
Executable file
Binary file not shown.
34
external/packages/bsp/rk356x/usr/local/bin/test_camera.sh
vendored
Executable file
34
external/packages/bsp/rk356x/usr/local/bin/test_camera.sh
vendored
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DISPLAY=:0.0
|
||||
|
||||
device_id0=$(v4l2-ctl --list-devices | grep -A1 rkisp-vir0 |grep -v rkisp-vir0 |awk -F ' ' '{print $NF}')
|
||||
device_id1=$(v4l2-ctl --list-devices | grep -A1 rkisp-vir1 |grep -v rkisp-vir1 |awk -F ' ' '{print $NF}')
|
||||
|
||||
echo "Start MIPI CSI Camera Preview!"
|
||||
|
||||
if [[ ! -z $device_id0 ]]; then
|
||||
su root -c "gst-launch-1.0 v4l2src device=${device_id0} io-mode=4 ! videoconvert \
|
||||
! video/x-raw,format=NV12,width=1280,height=720 \
|
||||
! autovideosink 2>&1 > /dev/null &"
|
||||
fi
|
||||
|
||||
if [[ ! -z $device_id1 ]]; then
|
||||
su root -c "gst-launch-1.0 v4l2src device=${device_id1} io-mode=4 ! videoconvert \
|
||||
! video/x-raw,format=NV12,width=640,height=480 \
|
||||
! autovideosink 2>&1 > /dev/null &"
|
||||
fi
|
||||
|
||||
|
||||
echo "[Ctrl + C] exit"
|
||||
while true
|
||||
do
|
||||
sleep 10
|
||||
done
|
||||
|
||||
trap 'onCtrlC' INT
|
||||
function onCtrlC () {
|
||||
echo 'Ctrl+C is captured'
|
||||
killall gst-launch-1.0
|
||||
exit 0
|
||||
}
|
||||
11
external/packages/bsp/rk356x/usr/local/bin/test_dec_mpv.sh
vendored
Executable file
11
external/packages/bsp/rk356x/usr/local/bin/test_dec_mpv.sh
vendored
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DISPLAY=:0.0
|
||||
#export GST_DEBUG=*:5
|
||||
#export GST_DEBUG_FILE=/tmp/2.txt
|
||||
|
||||
# xv vo
|
||||
while true
|
||||
do
|
||||
mpv --hwdec=rkmpp --vd-lavc-software-fallback=no --vo=xv /usr/local/test.mp4
|
||||
done
|
||||
14
external/packages/bsp/rk356x/usr/local/bin/test_gst.sh
vendored
Executable file
14
external/packages/bsp/rk356x/usr/local/bin/test_gst.sh
vendored
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
export DISPLAY=:0.0
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
video=/usr/local/test.mp4
|
||||
else
|
||||
video=$1
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
gst-play-1.0 $video --videosink=xvimagesink
|
||||
done
|
||||
43
external/packages/bsp/rk356x/usr/local/bin/test_record.sh
vendored
Executable file
43
external/packages/bsp/rk356x/usr/local/bin/test_record.sh
vendored
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -n $1 && $1 =~ main|headset ]]; then
|
||||
type=$1
|
||||
else
|
||||
echo "usage: test_record.sh main/headset"
|
||||
exit
|
||||
fi
|
||||
|
||||
card=$(aplay -l | grep "es8388" | cut -d ':' -f 1 | cut -d ' ' -f 2)
|
||||
|
||||
if [[ $type == "main" ]]; then
|
||||
|
||||
tinymix -D 2 3 4
|
||||
tinymix -D 2 4 2
|
||||
tinymix -D 2 14 192
|
||||
tinymix -D 2 16 0
|
||||
tinymix -D 2 17 0
|
||||
tinymix -D 2 31 1
|
||||
tinymix -D 2 32 1
|
||||
tinymix -D 2 33 1
|
||||
|
||||
else
|
||||
|
||||
tinymix -D 2 3 2
|
||||
tinymix -D 2 4 1
|
||||
tinymix -D 2 14 192
|
||||
tinymix -D 2 16 0
|
||||
tinymix -D 2 17 0
|
||||
tinymix -D 2 31 0
|
||||
tinymix -D 2 32 0
|
||||
tinymix -D 2 33 0
|
||||
|
||||
fi
|
||||
|
||||
|
||||
echo "Start recording: /tmp/test.wav"
|
||||
arecord -D hw:${card},0 -d 5 -f cd -t wav /tmp/test.wav
|
||||
|
||||
echo "Start playing"
|
||||
aplay /tmp/test.wav -D hw:1,0
|
||||
aplay /tmp/test.wav -D hw:2,0
|
||||
#aplay /tmp/test.wav -D hw:0,0
|
||||
7
external/packages/bsp/rk356x/usr/local/bin/test_rknn_demo.sh
vendored
Executable file
7
external/packages/bsp/rk356x/usr/local/bin/test_rknn_demo.sh
vendored
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "Start RKNN_DEMO Camera Preview!"
|
||||
echo performance | tee $(find /sys/ -name *governor)
|
||||
sudo service lightdm stop
|
||||
/usr/bin/npu_transfer_proxy&
|
||||
rknn_demo
|
||||
29
external/packages/bsp/rk356x/usr/local/bin/test_ros.sh
vendored
Executable file
29
external/packages/bsp/rk356x/usr/local/bin/test_ros.sh
vendored
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -f /opt/ros/noetic/setup.bash ]]; then
|
||||
|
||||
source /opt/ros/noetic/setup.bash
|
||||
roscore &
|
||||
|
||||
sleep 5
|
||||
|
||||
rosrun turtlesim turtlesim_node &
|
||||
rosrun turtlesim turtle_teleop_key
|
||||
|
||||
fi
|
||||
|
||||
if [[ -f /opt/ros/galactic/setup.bash ]]; then
|
||||
|
||||
source /opt/ros/galactic/setup.bash
|
||||
ros2 run demo_nodes_cpp talker &
|
||||
ros2 run demo_nodes_py listener
|
||||
|
||||
fi
|
||||
|
||||
if [[ -f /opt/ros/humble/setup.bash ]]; then
|
||||
|
||||
source /opt/ros/humble/setup.bash
|
||||
ros2 run demo_nodes_cpp talker &
|
||||
ros2 run demo_nodes_py listener
|
||||
|
||||
fi
|
||||
13
external/packages/bsp/rk356x/usr/local/bin/test_rtsp.sh
vendored
Executable file
13
external/packages/bsp/rk356x/usr/local/bin/test_rtsp.sh
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
export DISPLAY=:0.0
|
||||
#export GST_DEBUG=*:5
|
||||
#export GST_DEBUG_FILE=/tmp/2.txt
|
||||
|
||||
# server:
|
||||
# vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 \
|
||||
# :v4l2-height=480 --sout="#transcode{vcodec=h264,vb=800,scale=1,\
|
||||
# acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/}" -I dummy
|
||||
|
||||
gst-launch-1.0 rtspsrc location=rtsp://192.168.31.163:8554/ ! \
|
||||
! rtph264depay ! h264parse ! mppvideodec ! rkximagesink sync=false
|
||||
BIN
external/packages/bsp/rk356x/usr/local/bin/tinycap
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/tinycap
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/tinymix
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/tinymix
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/tinypcminfo
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/tinypcminfo
vendored
Executable file
Binary file not shown.
BIN
external/packages/bsp/rk356x/usr/local/bin/tinyplay
vendored
Executable file
BIN
external/packages/bsp/rk356x/usr/local/bin/tinyplay
vendored
Executable file
Binary file not shown.
3
external/packages/bsp/rk356x/usr/local/bin/typec_usb2.sh
vendored
Executable file
3
external/packages/bsp/rk356x/usr/local/bin/typec_usb2.sh
vendored
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo host > /sys/kernel/debug/usb/fc000000.usb/mode
|
||||
5
external/packages/bsp/rk356x/usr/local/bin/vpu_debug.sh
vendored
Executable file
5
external/packages/bsp/rk356x/usr/local/bin/vpu_debug.sh
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
sudo bash -c "echo 0x100 > /sys/module/rk_vcodec/parameters/mpp_dev_debug"
|
||||
sudo dmesg -c > /dev/null
|
||||
dmesg -w
|
||||
BIN
external/packages/bsp/rk356x/usr/local/test.mp4
vendored
Normal file
BIN
external/packages/bsp/rk356x/usr/local/test.mp4
vendored
Normal file
Binary file not shown.
5
external/packages/bsp/rk356x/usr/share/rknn_demo/box_priors.txt
vendored
Normal file
5
external/packages/bsp/rk356x/usr/share/rknn_demo/box_priors.txt
vendored
Normal file
File diff suppressed because one or more lines are too long
91
external/packages/bsp/rk356x/usr/share/rknn_demo/coco_labels_list.txt
vendored
Normal file
91
external/packages/bsp/rk356x/usr/share/rknn_demo/coco_labels_list.txt
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
???
|
||||
person
|
||||
bicycle
|
||||
car
|
||||
motorcycle
|
||||
airplane
|
||||
bus
|
||||
train
|
||||
truck
|
||||
boat
|
||||
traffic light
|
||||
fire hydrant
|
||||
???
|
||||
stop sign
|
||||
parking meter
|
||||
bench
|
||||
bird
|
||||
cat
|
||||
dog
|
||||
horse
|
||||
sheep
|
||||
cow
|
||||
elephant
|
||||
bear
|
||||
zebra
|
||||
giraffe
|
||||
???
|
||||
backpack
|
||||
umbrella
|
||||
???
|
||||
???
|
||||
handbag
|
||||
tie
|
||||
suitcase
|
||||
frisbee
|
||||
skis
|
||||
snowboard
|
||||
sports ball
|
||||
kite
|
||||
baseball bat
|
||||
baseball glove
|
||||
skateboard
|
||||
surfboard
|
||||
tennis racket
|
||||
bottle
|
||||
???
|
||||
wine glass
|
||||
cup
|
||||
fork
|
||||
knife
|
||||
spoon
|
||||
bowl
|
||||
banana
|
||||
apple
|
||||
sandwich
|
||||
orange
|
||||
broccoli
|
||||
carrot
|
||||
hot dog
|
||||
pizza
|
||||
donut
|
||||
cake
|
||||
chair
|
||||
couch
|
||||
potted plant
|
||||
bed
|
||||
???
|
||||
dining table
|
||||
???
|
||||
???
|
||||
toilet
|
||||
???
|
||||
tv
|
||||
laptop
|
||||
mouse
|
||||
remote
|
||||
keyboard
|
||||
cell phone
|
||||
microwave
|
||||
oven
|
||||
toaster
|
||||
sink
|
||||
refrigerator
|
||||
???
|
||||
book
|
||||
clock
|
||||
vase
|
||||
scissors
|
||||
teddy bear
|
||||
hair drier
|
||||
toothbrush
|
||||
BIN
external/packages/bsp/rk356x/usr/share/rknn_demo/mobilenet_ssd.rknn
vendored
Normal file
BIN
external/packages/bsp/rk356x/usr/share/rknn_demo/mobilenet_ssd.rknn
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user