113 Commits

Author SHA1 Message Date
viktorxda
08d6c017b9 [no ci] Package: set sensor calibration by chipset family (#1918) 2025-11-26 23:20:53 +01:00
elvoblin
c734841b3f Libsns h63 (#1903) 2025-11-05 17:52:25 +03:00
Ihor Ivlev
5d41c693cc Update adaptive-link (with minor changes: only tx profiles) (#1902) 2025-11-05 00:07:59 +01:00
viktorxda
1bbacd9ec8 Package: install msposd required libraries (#1901) 2025-11-03 12:01:26 +01:00
elvoblin
37ea996f68 Add jxh63 sensor config (#1900) 2025-11-02 20:22:18 +03:00
viktorxda
f0f39403f5 Sigmastar: sync osdrv libraries (#1899) 2025-11-01 00:35:52 +03:00
Ystinia Zalatova
162686c3fd Updated the wireguard script, resolved the routing issue, and removed unnecessary descriptions. (#1897) 2025-10-29 16:10:12 +03:00
Signor Pellegrino
472e2c6050 [no ci] Fix WG start (#1888) 2025-09-21 00:28:43 +03:00
Signor Pellegrino
4c69c0e9ab [no ci] Add wireguard script (#1882)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-14 00:57:15 +03:00
Daniel Banár
38020498a5 support for ec25 series and sim7600g (#1878) 2025-09-13 15:28:09 +03:00
cronyx
26c0a66091 add netip password hash generator (#1881) 2025-09-12 17:19:18 +03:00
viktorxda
af4557fad2 [no ci] Package: add wireless driver wq9001 (#1876) 2025-09-04 21:23:06 +03:00
Signor Pellegrino
9ddac38fea [no ci] Update Readme with GPIO motors configuration examples
Added basic example for configuring GPIO motors and included additional device configurations.
2025-08-28 17:21:11 +03:00
viktorxda
3059ff2107 [no ci] Package: serialize gpio-motors on run axis (#1872) 2025-08-28 17:12:05 +03:00
Signor Pellegrino
51eb9bb48c [no ci] Update README with new device info and corrections (#1871) 2025-08-27 17:49:56 +03:00
Signor Pellegrino
b6b72b2846 [no ci] Rename sc2336_t23.bin to sc2336-t23.bin (#1870) 2025-08-26 23:37:25 +03:00
viktorxda
e547bd6d3a [no ci] Ingenic: add t23 sc2336 sensor files (#1869) 2025-08-26 23:06:43 +03:00
viktorxda
74d1f6895b [no ci] Ingenic: allow custom mmc_detect gpio (#1867) 2025-08-23 22:28:30 +03:00
viktorxda
cec2ac4260 Add uuid-dev to U-Boot workflow dependencies 2025-08-23 20:54:14 +02:00
viktorxda
eb714194ef [no ci] Package: add select pin support for gpio-motors (#1866) 2025-08-23 21:15:56 +03:00
Signor Pellegrino
845083969f [no ci] Fixed driver for MIS2008 (#1862) 2025-08-19 15:01:24 +03:00
Volkov Vladislav
a6771cb56c Update onvif-simple-server.mk (#1861) 2025-08-19 12:13:49 +03:00
Ystinia Zalatova
43fd49694e [no ci] Update image.yml, add T23N platform 2025-08-18 22:57:52 +01:00
viktorxda
6e8e86d949 [no ci] Ingenic: update t23 sensor files (#1860) 2025-08-11 12:36:24 +02:00
Ystinia Zalatova
6ef1938e76 [no ci] Create Readme.md in gpio-motors package (#1859) 2025-08-10 23:48:00 +03:00
viktorxda
6b5b479bfe [no ci] Package: move motor sample to legacy (#1857) 2025-08-10 23:41:19 +03:00
cronyx
696581247c select sensor for t23 (#1858) 2025-08-10 13:06:49 +03:00
Ystinia Zalatova
cfc67215ee Update t23.generic.config, remove unused RTL and MT7601 (#1854) 2025-08-09 23:16:56 +01:00
Ystinia Zalatova
8afb0642b3 Update atbm-wifi.mk, update ATBM package (#1855) 2025-08-09 23:16:46 +01:00
Ystinia Zalatova
d245e6d35c Update t23_lite_defconfig, remove unused packages (#1856) 2025-08-09 23:16:38 +01:00
viktorxda
006ba82bdd Ingenic: initial support for T23 (#1853) 2025-08-09 14:13:52 +03:00
viktorxda
73a5abf520 Update wifibroadcast-ng.mk 2025-08-09 13:13:07 +02:00
viktorxda
9678f4900a Update load_sigmastar 2025-08-05 17:47:29 +02:00
viktorxda
a5c5cf3e8f Package: remove wifibroadcast-ext 2025-07-19 21:16:04 +02:00
viktorxda
47c14e72ee Package: update rtl8812au-openipc (#1848) 2025-07-15 18:15:10 +02:00
Ihor Ivlev
65626386e3 Update alink version (#1843) 2025-07-06 15:06:13 +02:00
viktorxda
30517e5852 Update wifibroadcast (#1842) 2025-07-05 00:48:36 +02:00
MarioFPV
3406022e5b OpenIPC FPV PnP V1.0 (#1841) 2025-07-05 00:43:26 +02:00
MarioFPV
44f1b66c4e Added default resolution and corrected exposure for default 60fps (#1814) 2025-07-04 13:40:56 +02:00
Ihor Ivlev
a908ba29d0 Autodetect adapter and save result in /etc/wfb.yaml -> wireless -> wl… (#1840) 2025-07-04 11:19:43 +02:00
Ihor Ivlev
94009f51a5 Fix build by fixing typo (#1839) 2025-07-03 14:32:32 +02:00
Ihor Ivlev
3403c19d63 Update adaptive-link (#1838) 2025-07-03 14:25:42 +02:00
Ihor Ivlev
ea433ee370 Add yaml-cli-multi as adaptive link dependency (#1836) 2025-07-03 11:52:09 +02:00
viktorxda
8cecbbc954 Update rtl8189es-openipc.mk (#1834) 2025-07-01 14:43:08 +02:00
viktorxda
9b56e9c573 Update load_sigmastar (#1833) 2025-06-30 15:51:00 +02:00
viktorxda
ceac5f9a83 [no ci] Update automount.sh (#1826) 2025-06-06 16:44:36 +02:00
viktorxda
e422eb87ea Revert "Update rtl8733bu-openipc.mk"
This reverts commit 20d108ff40.
2025-06-01 12:41:53 +02:00
viktorxda
20d108ff40 Update rtl8733bu-openipc.mk 2025-05-31 21:34:49 +02:00
viktorxda
6942e5ccc8 Update majestic-webui.mk (#1822) 2025-05-31 16:16:55 +02:00
viktorxda
6ed43347c5 [no ci] Package: update rtl88x2eu-openipc 2025-05-30 22:49:13 +02:00
CC
1c9aa7bf2a Use incremental number sequence as record file names for fpv (#1820)
Signed-off-by: Ruixi Zhou <zhouruixi@gmail.com>
2025-05-21 12:06:38 +03:00
viktorxda
134387dbf7 Update rtl8192eu-openipc.mk 2025-05-09 22:42:27 +02:00
viktorxda
600200dac2 [no ci] Rockchip: add rv1103 configuration (#1813) 2025-05-09 12:35:35 +02:00
viktorxda
f91a85bebb [no ci] Rockchip: update rv1106 configuration (#1810) 2025-05-03 14:46:36 +03:00
Dmitry Ermakov
f40865750a Add CDC composite driver (ACM+ECM) 2025-05-02 21:58:08 +03:00
viktorxda
f9d2b7388a [no ci] Rockchip: update rv11xx package (#1809) 2025-05-02 13:12:05 +02:00
CC
861650be26 Allow changing TX power dynamically on 8812eu and 8733bu (#1806)
Signed-off-by: Ruixi Zhou <zhouruixi@gmail.com>
2025-04-30 14:44:55 +02:00
viktorxda
0153b72569 [no ci] Rockchip: update rv1106 configuration (#1801) 2025-04-30 14:44:12 +02:00
Signor Pellegrino
5d761d854e Update ov2710_i2c_dc_1080p.ini (#1805) 2025-04-27 17:42:50 +03:00
cronyx
7b929cfb06 [no ci] update webui package (#1804) 2025-04-24 15:38:57 +03:00
cronyx
b88ff6b39d modified webui if fpv version is installed (#1802) 2025-04-23 00:10:35 +03:00
Lander Noterman
580de6bdaf add support for imx327 on gk7205v300 (#1741) 2025-04-18 01:49:04 +03:00
JebSec
07b24d2ef8 Added profile rtl8188fu-t31-aoni-e97vj62 (#1784)
Co-authored-by: Signor Pellegrino <68112357+flyrouter@users.noreply.github.com>
2025-04-17 14:25:46 +03:00
viktorxda
03f094c033 [no ci] Package: update wifibroadcast-ng (#1798) 2025-04-16 15:18:29 +02:00
viktorxda
86fe5451fc [no ci] Package: update wifibroadcast-ng 2025-04-14 20:11:55 +02:00
viktorxda
110bb12cc2 [no ci] Package: update wifibroadcast-ng (#1797) 2025-04-14 19:50:24 +02:00
viktorxda
f5f55cef90 [no ci] Package: update wifibroadcast-ng 2025-04-12 18:49:32 +02:00
viktorxda
0edf10cb71 [no ci] Package: update wifibroadcast-ng (#1795) 2025-04-11 13:52:07 +02:00
viktorxda
7b8817526e [no ci] Package: add wifibroadcast-ng cli shortcut (#1794) 2025-04-10 17:44:22 +02:00
CC
d68e6e2481 Fix if syntax error in load_sigmastar (#1793)
Signed-off-by: Ruixi Zhou <zhouruixi@gmail.com>
2025-04-10 16:54:15 +02:00
Daniel Li
9f42c00153 Add msposd ground station OSD support (#1715) 2025-04-09 21:28:52 +02:00
viktorxda
c80e5b8648 [no ci] Package: update wifibroadcast-ng (#1791) 2025-04-09 17:36:41 +02:00
viktorxda
3f8731d10a [no ci] Package: update wifibroadcast-ng (#1790) 2025-04-08 14:33:04 +02:00
viktorxda
ef6037ddf5 Update wifibroadcast-ng.mk 2025-04-08 13:48:44 +02:00
Petru Soroaga
31c731a0f5 Update to Ruby version 11.0 (#1789) 2025-04-08 13:09:19 +02:00
viktorxda
cf526507ca [no ci] Package: update wifibroadcast-ng (#1788) 2025-04-07 15:18:24 +02:00
snokvist
accf5a91ba Add temperature monitor, add channels.sh, add jumbo frames (#1787) 2025-04-06 19:28:18 +02:00
Ihor Ivlev
a066980166 Update adaptive link version (#1786) 2025-04-06 11:57:15 +03:00
viktorxda
ed7f561ddb Patches: increase hiredis cmake version (#1782) 2025-04-03 16:37:06 +02:00
viktorxda
e6bca9ab11 [no ci] Sigmastar: update libraries (#1780) 2025-04-02 22:56:36 +03:00
Petru Soroaga
171d54cee2 Update Ruby to version 10.8 (#1775) 2025-03-27 13:02:31 +03:00
Signor Pellegrino
2c2869385f [no ci] Update S40network (#1770) 2025-03-26 23:22:45 +03:00
William Bérubé
1a4df3a521 osd-openipc: adapting the package to the revised project (#1773) 2025-03-26 23:22:28 +03:00
viktorxda
980719262f [no ci] Rockchip: initial support for rv1106 (#1761) 2025-03-22 00:58:15 +03:00
Petru Soroaga
5b7b0859bd Updated RubyFPV gitrepo (#1764) 2025-03-21 15:23:10 +03:00
Charlie
efc9d6bc07 Update onvif-simple-server (#1758) 2025-03-18 09:14:10 +03:00
Signor Pellegrino
b78023d059 [no ci] Update ingenic tree, add jxf37p (#1759) 2025-03-18 00:33:05 +03:00
Petru Soroaga
a7f02700ad Updated Ruby to version 10.7 (#1756) 2025-03-17 12:17:50 +03:00
Charlie
835eb29bc3 Add onvif_simple_server daemon (#1752) 2025-03-14 17:23:05 +03:00
Charlie
1280422da0 Update gpio-motors (#1744) 2025-03-13 22:24:10 +03:00
Signor Pellegrino
c72d852460 [no ci] Update sc2135_i2c_1080p.ini 2025-03-13 22:09:38 +03:00
Signor Pellegrino
b4f0047da9 [no ci] Update sc1145_i2c_720p.ini 2025-03-12 14:46:42 +00:00
Petru Soroaga
0fe5e7e646 Update to Ruby 10.6, update sysupgrade procedure (#1750) 2025-03-11 13:19:29 +01:00
Petru Soroaga
7d6bf8ff6d Shutdown Ruby, if present, during sysupgrade procedure (#1746) 2025-03-10 09:35:20 +03:00
viktorxda
336732a527 [no ci] Update sysupgrade (#1743) 2025-03-09 19:27:11 +01:00
Charlie
28aca798d1 Consolidate motor packages - create gpio-motors (#1739) 2025-03-08 15:20:05 +03:00
Ihor Ivlev
a245b4bd92 Integrate Adaptive link (#1742) 2025-03-07 14:40:43 +03:00
Signor Pellegrino
eb3e1252c2 [no ci] Update some configs (#1737) 2025-03-04 23:25:00 +03:00
Charlie
8ae9cfca1a Fix audio on GM8136 (#1735) 2025-03-04 22:40:00 +03:00
Ystinia Zalatova
690e7393a1 [no ci] Update README.md (#1733) 2025-03-01 19:31:08 +00:00
viktorxda
5665317e8b [no ci] Update wifibroadcast-ng 2025-02-27 19:16:53 +01:00
viktorxda
7377ea7c76 [no ci] Update wifibroadcast-ng 2025-02-27 15:50:34 +01:00
Petru Soroaga
95b21aa5f7 Updated Ruby to version 10.5 (#1731) 2025-02-27 13:57:05 +03:00
viktorxda
53f81f6c21 [no ci] Update wifibroadcast-ng (#1732) 2025-02-26 19:25:17 +01:00
viktorxda
1adb8b8f5d [no ci] Update wifibroadcast-ng (#1730) 2025-02-25 15:18:26 +01:00
viktorxda
0822a26212 [no ci] Package: move additional packages to legacy (#1727) 2025-02-24 18:55:56 +01:00
viktorxda
b2727746fa [no ci] Update wifibroadcast-ng webui 2025-02-24 17:01:50 +01:00
viktorxda
4783f48f09 Update configs 2025-02-24 14:11:54 +01:00
Signor Pellegrino
906fa9a22d [no ci] Set legacy GCC version for Goke (#1726) 2025-02-24 14:09:59 +01:00
viktorxda
200ccc9cd8 Update path 2025-02-24 14:05:14 +01:00
viktorxda
b6d9e2b577 Update toolchain configs 2025-02-24 00:29:39 +01:00
viktorxda
fb2b6de699 Update toolchain.yml 2025-02-23 21:48:16 +01:00
viktorxda
02a588c303 [no ci] General: move additional packages to legacy (#1723) 2025-02-23 20:33:59 +01:00
636 changed files with 25474 additions and 900 deletions

4
.github/CODEOWNERS vendored
View File

@@ -5,5 +5,5 @@
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
* @widgetii @dimerr @FlyRouter
README.* @cronyx @p0i5k @ZigFisher
* @cronyx @FlyRouter @viktorxda
README.* @p0i5k @ystinia @ZigFisher

View File

@@ -48,6 +48,9 @@ jobs:
- t21_lite
- t30_lite
# Ingenic [T23]
- t23_lite
# Ingenic [T31]
- t31_lite
@@ -122,6 +125,8 @@ jobs:
- nt98566_lite
# Rockchip
- rv1103_lite
- rv1106_lite
- rv1109_lite
- rv1126_lite

View File

@@ -6,7 +6,7 @@ on:
env:
SIGMASTAR: ssc30kd ssc30kq ssc325 ssc333 ssc335 ssc335de ssc337 ssc337de ssc338q ssc377 ssc377d ssc377de ssc378de
INGENIC: t10 t10l t20 t20l t20x t21n t30a t30a1 t30l t30n t30x t31a t31al t31l t31lc t31n t31x
INGENIC: t10 t10l t20 t20l t20x t21n t23n t30a t30a1 t30l t30n t30x t31a t31al t31l t31lc t31n t31x
ALLWINNER: v851s
TAG_NAME: image

View File

@@ -8,7 +8,7 @@ env:
jobs:
toolchain:
name: Toolchain
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
fail-fast: false
@@ -56,6 +56,7 @@ jobs:
- nt98562_lite
# Rockchip
- rv1106_lite
- rv1126_lite
# Xiongmai
@@ -72,7 +73,7 @@ jobs:
URL=https://github.com/${GITHUB_REPOSITORY}/releases/download/${TAG_NAME}/${GCC}
echo ${URL}
if ! wget -q --spider ${URL}; then
make BOARD=${CONFIG} toolchain
make BOARD=${{matrix.platform}} toolchain
SDK=$(find output/images -name *_sdk-buildroot.tar.gz)
mv ${SDK} ${GCC}
echo GCC=${GCC} >> ${GITHUB_ENV}

View File

@@ -10,7 +10,7 @@ jobs:
- name: Prepare
run: |
sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabi gcc-mipsel-linux-gnu u-boot-tools lzop gnutls-dev lzma-alone
sudo apt-get install gcc-arm-linux-gnueabi gcc-mipsel-linux-gnu u-boot-tools lzop gnutls-dev lzma-alone uuid-dev
- name: Allwinner
run: |

View File

@@ -71,23 +71,24 @@ timer:
toolchain: defconfig
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
@cp -rf $(PWD)/general/package/gcc $(TARGET)/buildroot-$(BR_VER)/package
@$(MAKE) -f $(PWD)/general/toolchain.mk BR_CONF=$(BR_CONF) CONFIG=$(PWD)/$(CONFIG)
@$(BR_MAKE) BR2_DEFCONFIG=$(BR_CONF) defconfig
endif
@$(BR_MAKE) sdk
@$(BR_MAKE) sdk -j$(shell nproc)
repack:
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8")
ifeq ($(BR2_OPENIPC_SOC_VENDOR),"rockchip")
@$(call PREPARE_REPACK,zboot.img,4096,rootfs.squashfs,8192,nor)
else ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8")
@$(call PREPARE_REPACK,uImage,2048,rootfs.squashfs,5120,nor)
else
@$(call PREPARE_REPACK,uImage,2048,rootfs.squashfs,8192,nor)
endif
endif
ifeq ($(BR2_TARGET_ROOTFS_UBI),y)
ifeq ($(BR2_OPENIPC_SOC_VENDOR),"rockchip")
@$(call PREPARE_REPACK,zboot.img,4096,rootfs.ubi,16384,nand)
else ifeq ($(BR2_OPENIPC_SOC_VENDOR),"sigmastar")
ifneq ($(filter $(BR2_OPENIPC_SOC_VENDOR),"rockchip" "sigmastar"),)
@$(call PREPARE_REPACK,,,rootfs.ubi,16384,nand)
else
@$(call PREPARE_REPACK,uImage,4096,rootfs.ubi,16384,nand)

View File

@@ -1,10 +1,10 @@
![OpenIPC Logo](https://cdn.themactep.com/images/logo_openipc.png)
![OpenIPC logo][logo]
## OpenIPC firmware
## Alternative open firmware for your IP camera
_(based on Buildroot)_
[![Telegram](https://openipc.org/images/telegram_button.svg)][telegram]
_(based on Buildroot)_
OpenIPC is a rapidly developing open source alternative [firmware][firmware] for
popular IP cameras from an [open community](https://opencollective.com/openipc).
@@ -18,18 +18,11 @@ expected to grow further.
More information about the [project][project] is available in our [website][website]
and on the [wiki][wiki].
[firmware]: https://github.com/openipc/firmware/
[telegram]: https://t.me/OpenIPC
[project]: https://github.com/openipc/
[website]: https://openipc.org/
[wiki]: https://openipc.github.io/wiki/
## Support
OpenIPC offers two levels of support.
- Free support through the community (via [chat][chat]).
- Free support through the community (via [chat][telegram]).
- Paid commercial support (from the team of developers).
Please consider subscribing for paid commercial support if you intend to use our product for business.
@@ -57,8 +50,19 @@ You can make a financial contribution to the project at [Open Collective][contri
Thank you.
<p align="center">
<a href="https://opencollective.com/openipc/contribute/backer-14335/checkout" target="_blank"><img src="https://openipc.org/files/donatetoopencollectivebutton.webp" alt="Open Collective donate button"></a>
<a href="https://opencollective.com/openipc/contribute/backer-14335/checkout" target="_blank"><img src="https://opencollective.com/webpack/donate/button@2x.png?color=blue" width="250" alt="Open Collective donate button"></a>
</p>
[chat]: https://openipc.org/our-channels
[contribution]: https://opencollective.com/openipc/contribute/backer-14335/checkout
[firmware]: https://github.com/openipc/firmware
[logo]: https://openipc.org/assets/openipc-logo-black.svg
[mit]: https://opensource.org/license/mit
[opencollective]: https://opencollective.com/openipc
[paypal]: https://www.paypal.com/donate/?hosted_button_id=C6F7UJLA58MBS
[project]: https://github.com/openipc
[telegram]: https://openipc.org/our-channels
[website]: https://openipc.org
[wiki]: https://github.com/openipc/wiki

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
@@ -65,6 +69,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
@@ -65,6 +69,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -14,6 +14,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -65,6 +65,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -67,6 +67,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -70,6 +70,7 @@ BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -73,6 +73,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -67,6 +67,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

View File

@@ -71,6 +71,7 @@ BR2_PACKAGE_LIBWEBSOCKETS_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_MEDIATEK_MT7601U=y
BR2_PACKAGE_LINUX_FIRMWARE_OPENIPC_RTL_8188EU=y
BR2_PACKAGE_AWS_WEBRTC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t10.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t20.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t20.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t21.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t21.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -0,0 +1,66 @@
# Architecture
BR2_mipsel=y
BR2_mips_xburst=y
# BR2_MIPS_SOFT_FLOAT is not set
BR2_MIPS_FP32_MODE_32=y
# Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/toolchain/toolchain.ingenic-t31.tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="mipsel-openipc-linux-musl"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t23.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t23.generic.config"
BR2_LINUX_KERNEL_LZMA=y
# Filesystem
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="ingenic"
BR2_OPENIPC_SOC_MODEL="t23"
BR2_OPENIPC_SOC_FAMILY="t23"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"
# Packages
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_INGENIC_OSDRV_T23=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y

View File

@@ -17,7 +17,7 @@ BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_SOC_VENDOR)-t31.tar.gz"
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/ingenic-t31.tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/t30.generic.config"
BR2_LINUX_KERNEL_LZMA=y

View File

@@ -16,6 +16,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -16,6 +16,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_19=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
# Architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
# Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-gnueabihf"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/rv1106.generic.config"
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_XZ=y
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="rv1103g-luckfox-pico-plus.img"
BR2_LINUX_KERNEL_IMAGE_NAME="zboot.img"
# Filesystem
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
BR2_PACKAGE_MTD=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_TARGET_ROOTFS_UBI=y
BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y
BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/scripts/ubifs/ubinize_rockchip.cfg"
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="rockchip"
BR2_OPENIPC_SOC_MODEL="rv1103"
BR2_OPENIPC_SOC_FAMILY="rv1106"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"
# Packages
BR2_PACKAGE_ROCKCHIP_OSDRV_RV11XX=y
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y

View File

@@ -0,0 +1,72 @@
# Architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
# Toolchain
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="https://github.com/openipc/firmware/releases/download/$(OPENIPC_TOOLCHAIN).tgz"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="arm-openipc-linux-gnueabihf"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_INET_RPC is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTERNAL_OPENMP=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/openipc/linux/archive/$(OPENIPC_KERNEL).tar.gz"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(EXTERNAL_VENDOR)/board/$(OPENIPC_SOC_FAMILY)/rv1106.generic.config"
BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
BR2_LINUX_KERNEL_XZ=y
BR2_LINUX_KERNEL_IMAGE_TARGET_NAME="rv1106g-luckfox-pico-pro.img"
BR2_LINUX_KERNEL_IMAGE_NAME="zboot.img"
# Filesystem
BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL)/package/busybox/busybox.config"
BR2_PACKAGE_MTD=y
BR2_PACKAGE_UBOOT_TOOLS=y
BR2_PACKAGE_ZLIB=y
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
BR2_PACKAGE_WIREGUARD_LINUX_COMPAT=y
BR2_PACKAGE_WIREGUARD_TOOLS=y
BR2_TARGET_ROOTFS_CPIO=y
BR2_TARGET_ROOTFS_SQUASHFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_XZ=y
BR2_TARGET_ROOTFS_UBI=y
BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048
BR2_TARGET_ROOTFS_UBI_USE_CUSTOM_CONFIG=y
BR2_TARGET_ROOTFS_UBI_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL)/scripts/ubifs/ubinize_rockchip.cfg"
BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000
# OpenIPC
BR2_OPENIPC_SOC_VENDOR="rockchip"
BR2_OPENIPC_SOC_MODEL="rv1106"
BR2_OPENIPC_SOC_FAMILY="rv1106"
BR2_OPENIPC_VARIANT="lite"
BR2_OPENIPC_FLASH_SIZE="8"
# Packages
BR2_PACKAGE_ROCKCHIP_OSDRV_RV11XX=y
BR2_PACKAGE_DROPBEAR_OPENIPC=y
BR2_PACKAGE_IPCTOOL=y
BR2_PACKAGE_JSONFILTER=y
BR2_PACKAGE_LIBCURL_OPENIPC=y
BR2_PACKAGE_LIBCURL_OPENIPC_CURL=y
# BR2_PACKAGE_LIBCURL_OPENIPC_PROXY_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_COOKIES_SUPPORT is not set
# BR2_PACKAGE_LIBCURL_OPENIPC_EXTRA_PROTOCOLS_FEATURES is not set
BR2_PACKAGE_LIBEVENT_OPENIPC=y
BR2_PACKAGE_LIBOGG_OPENIPC=y
BR2_PACKAGE_MAJESTIC_FONTS=y
BR2_PACKAGE_MAJESTIC_WEBUI=y
BR2_PACKAGE_MAJESTIC=y
BR2_PACKAGE_MBEDTLS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC=y
BR2_PACKAGE_OPUS_OPENIPC_FIXED_POINT=y
BR2_PACKAGE_VTUND_OPENIPC=y
BR2_PACKAGE_YAML_CLI=y

View File

@@ -11,6 +11,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -12,6 +12,10 @@ BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
# Legacy
BR2_TOOLCHAIN_EXTERNAL_GCC_8=y
BR2_GCC_VERSION_LEGACY=y
# Kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y

View File

@@ -2,6 +2,7 @@
dev=$(fw_printenv -n wlandev)
mac=$(fw_printenv -n wlanmac)
net=$(fw_printenv -n netaddr_fallback)
eth=$(fw_printenv -n ethaddr)
set_wireless() {
path=/etc/wireless
@@ -12,7 +13,7 @@ set_wireless() {
ifup usb0
ifup eth1
fi
[ -e /sys/class/net/eth0 ] && ifconfig eth0 "${net:-192.168.2.10}"
[ -e /sys/class/net/eth0 ] && ifconfig eth0 "${net:-192.168.2.10}" hw ether "${eth:-00:00:23:34:45:66}" up
}
start() {

View File

@@ -0,0 +1,18 @@
#!/bin/sh
case "$1" in
start)
wgc=$(fw_printenv -n wg_privkey)
if [ -n "$wgc" ]; then
wireguard
fi
;;
stop)
;;
*)
echo "Usage: $0 {start}"
exit 1
;;
esac

View File

@@ -83,6 +83,10 @@ legacy_webui() {
curl -s -L https://github.com/openipc/webui/raw/master/files/usr/sbin/updatewebui.sh -o /tmp/webui.sh && sh /tmp/webui.sh
}
majestic_webui() {
curl -s -L https://raw.githubusercontent.com/openipc/majestic-webui/master/sbin/updatewebui -o /tmp/webui.sh && sh /tmp/webui.sh
}
# Source configuration files from /etc/profile.d
for i in /etc/profile.d/*.sh; do
[ -r "$i" ] && . "$i"

View File

@@ -75,4 +75,27 @@ if [ "$1" = "l716-t31-camhi" ]; then
exit 0
fi
# SIMCOM7600G/SIMCOM7600G-H
if [ "$1" = "sim7600g" ]; then
modprobe rndis_host
modprobe option
echo "1e0e 9011" > /sys/bus/usb-serial/drivers/option1/new_id
sleep 5
exit 0
fi
# EG25/EC25-xxx (RNDIS, AT+QCFG="usbnet",3)
if [ "$1" = "rndis-ec25" ]; then
modprobe rndis_host
modprobe option
sleep 5
exit 0
fi
# EG25/EC25-xxx (ECM, AT+QCFG="usbnet",1)
if [ "$1" = "ec25" ]; then
modprobe option
sleep 5
exit 0
fi
exit 1

View File

@@ -317,4 +317,11 @@ if [ "$1" = "atbm603x-t31-zte-k540" ]; then
exit 0
fi
# T31 Aoni E97VJ62
if [ "$1" = "rtl8188fu-t31-aoni-e97vj62" ]; then
set_gpio 53 1
modprobe 8188fu
exit 0
fi
exit 1

View File

@@ -13,7 +13,7 @@ my_umount() {
my_mount() {
mkdir -p "${destdir}/$1" || exit 1
if ! mount -t auto -o sync "/dev/$1" "${destdir}/$1"; then
if ! mount -t auto "/dev/$1" "${destdir}/$1"; then
# failed to mount, clean up mountpoint
rmdir "${destdir}/$1"
exit 1

View File

@@ -66,6 +66,10 @@ case "$CMD" in
echo -e " recorded - $(fw_printenv -n sensor)\n"
;;
netip_hash)
echo -n "$@" | md5sum | fold -w 2 | awk 'NR<17{printf "%d\n", "0x"$0}' | sed 'N;s/\n/ /' | awk '{c=($1+$2)%62; if (c<10) c+=48; else if (c<36) c+=55; else c+=61; printf "%c", c}'
;;
*)
;;
esac

View File

@@ -0,0 +1 @@
extutils

View File

@@ -1,6 +1,6 @@
#!/bin/sh
# OpenIPC.org | 2025
scr_version=1.0.46
scr_version=1.0.48
args="$@"
LOCK_FILE=/tmp/sysupgrade.lock
@@ -31,18 +31,17 @@ compare_versions() {
do_update_kernel() {
local x=$1
[ -z "$x" ] && x="/tmp/uImage.$soc"
if [ -z "$x" ]; then
[ "$vendor" = "rockchip" ] && x="/tmp/zboot.img.$soc" || x="/tmp/uImage.$soc"
fi
echo_c 33 "\nKernel"
echo "Update kernel from $x"
[ ! -f "$x" ] && die "File $x not found"
if [ "1" != "$skip_soc" ]; then
local ksoc=$(od -j 32 -N 32 -S 1 -A n "$x" | cut -d- -f3)
# FIXME: Ingenic kernels do not include proper SoC identifiers.
case "$soc" in
t31) [ "t" != "$ksoc" ] && die "Wrong SoC!" ;;
t21) [ "" != "$ksoc" ] && die "Wrong SoC!" ;;
*) check_soc "$ksoc"
esac
if [ "$vendor" != "ingenic" ] && [ "$vendor" != "rockchip" ]; then
check_soc "$ksoc"
fi
compare_versions "$kernel_version" "$(get_kernel_version "$x")" && return 0
fi
set_progress flashcp -v "$x" "$kernel_device"
@@ -100,6 +99,7 @@ free_resources() {
echo_c 37 "\nStop services, sync files, free up memory"
killall -q -3 majestic
sleep 1
/etc/init.d/S99rc.local stop
/etc/init.d/S60crond stop
/etc/init.d/S49ntpd stop
/etc/init.d/S02klogd stop

View File

@@ -0,0 +1,31 @@
#!/bin/sh
modprobe wireguard || { echo "Error: Failed to load wireguard module." >&2; exit 1; }
ip link add dev wg0 type wireguard || { echo "Error: Failed to create wg0 interface." >&2; exit 1; }
WG_PRIVKEY="$(fw_printenv -n wg_privkey)"
( echo "#"
echo "[Interface]"
echo "PrivateKey = $WG_PRIVKEY"
echo
echo "[Peer]"
echo "Endpoint = $(fw_printenv -n wg_endpoint)"
echo "PersistentKeepalive = $(fw_printenv -n wg_alive)"
echo "PublicKey = $(fw_printenv -n wg_pubkey)"
echo "PresharedKey = $(fw_printenv -n wg_sharkey)"
echo "AllowedIPs = $(fw_printenv -n wg_allowed)"
echo "#"
) >>/tmp/wireguard.conf
wg setconf wg0 /tmp/wireguard.conf
wg_address="$(fw_printenv -n wg_address)"
if [ -z "$wg_address" ]; then
echo "Error: wg_address environment variable is not set or empty." >&2
exit 1
fi
ip address add dev wg0 "$wg_address"
ip link set up dev wg0
for i in $(fw_printenv -n wg_allowed | tr ',' ' '); do
ip -4 route add "$i" dev wg0
done

View File

@@ -1,15 +1,13 @@
source "$BR2_EXTERNAL_GENERAL_PATH/package/adaptive-link/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/aic8800-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/allwinner-osdrv-v83x/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/allwinner-osdrv-v85x/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ambarella-osdrv-s3l/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm60xx/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm-wifi/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/atbm60xx/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/aura-httpd/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/autonight/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-producer/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/aws-webrtc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/baresip-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/capjpeg/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/comgt/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/divinus/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/dropbear-openipc/Config.in"
@@ -24,8 +22,8 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/go2rtc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk710x/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v200/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/goke-osdrv-gk7205v500/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/gpio-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/grainmedia-osdrv-gm8136/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/gst1-plugins-bad-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisi-gpio/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-opensdk/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516av100/Config.in"
@@ -36,12 +34,11 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516cv500/Config.in
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3516ev200/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3519v101/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-hi3536dv100/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv-serdes/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/hisilicon-osdrv1-sources/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/i2c-telemetry/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-opensdk/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t20/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t21/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t23/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t30/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t31/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ingenic-osdrv-t40/Config.in"
@@ -59,14 +56,11 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/libsrtp-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/libwebsockets-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-firmware-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/linux-patcher/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/lshell/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-fonts/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-plugins/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic-webui/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/majestic/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/mavfwd/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/mbedtls-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini-snmpd-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/mini/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/msposd/Config.in"
@@ -78,11 +72,7 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/onvif-simple-server/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/opus-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/osd-openipc/Config.in"
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/rtl8811cu-openipc/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"
@@ -90,15 +80,16 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8189es-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8189fs-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8192eu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8733bu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8811cu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl8812au/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtl88x2eu-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rtw-hostapd/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/rubyfpv/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6b0/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6c/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-infinity6e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-msc313e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/sigmastar-osdrv-sensors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ssv615x-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/ssv635x-openipc/Config.in"
@@ -111,8 +102,8 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/venc-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/vtund-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/w1-ds18b20/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/webrtc-audio-processing-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast-ext/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/wifibroadcast-ng/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/wq9001/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-opensdk-xm510/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm510/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/xiongmai-osdrv-xm530/Config.in"
@@ -120,8 +111,22 @@ source "$BR2_EXTERNAL_GENERAL_PATH/package/xmdp/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/yaml-cli/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/zerotier-one/Config.in"
# Legacy
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/ambarella-osdrv-s3l/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/autonight/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/capjpeg/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/datalink/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/gk7205v200-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/gst1-plugins-bad-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv-serdes/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/hisilicon-osdrv1-sources/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/lshell/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/majestic-plugins/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mavlink-router/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/microsnander/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/mini-snmpd-openipc/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/rcjoystick/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/sigmastar-motors/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/sigmastar-osdrv-msc313e/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/webui/Config.in"
source "$BR2_EXTERNAL_GENERAL_PATH/package/legacy/wifibroadcast/Config.in"

View File

@@ -0,0 +1,5 @@
config BR2_PACKAGE_ADAPTIVE_LINK
bool "Adaptive link (not enabled by default)"
help
Controls the bitrate and other link parameters depending on the link quality.
https://github.com/OpenIPC/adaptive-link

View File

@@ -0,0 +1,36 @@
################################################################################
#
# Adaptive Link
#
################################################################################
ADAPTIVE_LINK_SITE = $(call github,openipc,adaptive-link,$(ADAPTIVE_LINK_VERSION))
ADAPTIVE_LINK_VERSION = '3a831a75cb25df403374fa5104ea494c140695da'
ADAPTIVE_LINK_DEPENDENCIES = yaml-cli-multi
ADAPTIVE_LINK_LICENSE = GPL-3.0
ADAPTIVE_LINK_LICENSE_FILES = LICENSE
ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
ADAPTIVE_LINK_OPTIONS = "-rdynamic -s -Os -lm"
else
ADAPTIVE_LINK_OPTIONS = "-rdynamic -s -Os"
endif
define ADAPTIVE_LINK_BUILD_CMDS
@echo "Building Adaptive link"
$(MAKE) CC=$(TARGET_CC) OPT=$(ADAPTIVE_LINK_OPTIONS) -C $(@D)
endef
define ADAPTIVE_LINK_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/etc
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/bin
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/alink.conf
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/wlan_adapters.yaml
$(INSTALL) -m 644 -t $(TARGET_DIR)/etc $(@D)/txprofiles/txprofiles.conf
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/alink_drone
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,10 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0fcf29b..90337be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0)
OPTION(BUILD_SHARED_LIBS "Build shared libraries" ON)
OPTION(ENABLE_SSL "Build hiredis_ssl for SSL support" OFF)

View File

@@ -0,0 +1,64 @@
diff --git a/include/linux/compiler-gcc8.h b/include/linux/compiler-gcc8.h
new file mode 100644
--- /dev/null
+++ b/include/linux/compiler-gcc8.h
@@ -0,0 +1,59 @@
+#ifndef __LINUX_COMPILER_H
+#error "Please don't include <linux/compiler-gcc8.h> directly, include <linux/compiler.h> instead."
+#endif
+
+#define __used __attribute__((__used__))
+#define __must_check __attribute__((warn_unused_result))
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
+
+/* Mark functions as cold. gcc will assume any path leading to a call
+ to them will be unlikely. This means a lot of manual unlikely()s
+ are unnecessary now for any paths leading to the usual suspects
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
+ older compilers]
+
+ gcc also has a __attribute__((__hot__)) to move hot functions into
+ a special section, but I don't see any sense in this right now in
+ the kernel context */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#define __HAVE_BUILTIN_BSWAP16__
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
+
+#define KASAN_ABI_VERSION 6

View File

@@ -0,0 +1,131 @@
diff --git a/include/linux/compiler-gcc12.h b/include/linux/compiler-gcc12.h
new file mode 100644
--- /dev/null
+++ a/include/linux/compiler-gcc12.h
@@ -0,0 +1,126 @@
+/* gcc version specific checks */
+
+#ifndef GCC_VERSION
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+#endif
+
+#if GCC_VERSION < 30200
+# error Sorry, your compiler is too old - please upgrade it.
+#endif
+
+#if GCC_VERSION < 30300
+# define __used __attribute__((__unused__))
+#else
+# define __used __attribute__((__used__))
+#endif
+
+#ifdef CONFIG_GCOV_KERNEL
+# if GCC_VERSION < 30400
+# error "GCOV profiling support for gcc versions below 3.4 not included"
+# endif /* __GNUC_MINOR__ */
+#endif /* CONFIG_GCOV_KERNEL */
+
+#if GCC_VERSION >= 30400
+#define __must_check __attribute__((warn_unused_result))
+#endif
+
+#if GCC_VERSION >= 40000
+
+/* GCC 4.1.[01] miscompiles __weak */
+#ifdef __KERNEL__
+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
+# error Your version of gcc miscompiles the __weak directive
+# endif
+#endif
+
+#define __used __attribute__((__used__))
+#define __compiler_offsetof(a, b) \
+ __builtin_offsetof(a, b)
+
+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
+#endif
+
+#if GCC_VERSION >= 40300
+/* Mark functions as cold. gcc will assume any path leading to a call
+ * to them will be unlikely. This means a lot of manual unlikely()s
+ * are unnecessary now for any paths leading to the usual suspects
+ * like BUG(), printk(), panic() etc. [but let's keep them for now for
+ * older compilers]
+ *
+ * Early snapshots of gcc 4.3 don't support this and we can't detect this
+ * in the preprocessor, but we can live with this because they're unreleased.
+ * Maketime probing would be overkill here.
+ *
+ * gcc also has a __attribute__((__hot__)) to move hot functions into
+ * a special section, but I don't see any sense in this right now in
+ * the kernel context
+ */
+#define __cold __attribute__((__cold__))
+
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
+
+#ifndef __CHECKER__
+# define __compiletime_warning(message) __attribute__((warning(message)))
+# define __compiletime_error(message) __attribute__((error(message)))
+#endif /* __CHECKER__ */
+#endif /* GCC_VERSION >= 40300 */
+
+#if GCC_VERSION >= 40500
+/*
+ * Mark a position in code as unreachable. This can be used to
+ * suppress control flow warnings after asm blocks that transfer
+ * control elsewhere.
+ *
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
+ * this in the preprocessor, but we can live with this because they're
+ * unreleased. Really, we need to have autoconf for the kernel.
+ */
+#define unreachable() __builtin_unreachable()
+
+/* Mark a function definition as prohibited from being cloned. */
+#define __noclone __attribute__((__noclone__))
+
+#endif /* GCC_VERSION >= 40500 */
+
+#if GCC_VERSION >= 40600
+/*
+ * Tell the optimizer that something else uses this function or variable.
+ */
+#define __visible __attribute__((externally_visible))
+#endif
+
+/*
+ * GCC 'asm goto' miscompiles certain code sequences:
+ *
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
+ *
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
+ *
+ * (asm goto is automatically volatile - the naming reflects this.)
+ */
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
+
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
+#if GCC_VERSION >= 40400
+#define __HAVE_BUILTIN_BSWAP32__
+#define __HAVE_BUILTIN_BSWAP64__
+#endif
+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
+#define __HAVE_BUILTIN_BSWAP16__
+#endif
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
+
+#if GCC_VERSION >= 50000
+#define KASAN_ABI_VERSION 4
+#elif GCC_VERSION >= 40902
+#define KASAN_ABI_VERSION 3
+#endif
+
+#endif /* gcc version >= 40000 specific checks */
+
+#ifndef OPTIMIZER_HIDE_VAR
+#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
+#endif

View File

@@ -18,7 +18,11 @@ ATBM_WIFI_MODULE_MAKE_OPTS = KSRC=$(LINUX_DIR)
ATBM_WIFI_MODEL_NAME =
# Disable all models by default
ATBM_WIFI_MODULE_MAKE_OPTS += CONFIG_ATBM6012B_y=n CONFIG_ATBM603x=n CONFIG_ATBM6132=n
ATBM_WIFI_MODULE_MAKE_OPTS += \
CONFIG_ATBM6012B_y=n \
CONFIG_ATBM603x=n \
CONFIG_ATBM6132=n \
CONFIG_ATBM_USE_FIRMWARE_H=y
# Enable the selected model and set the interface type
ifeq ($(BR2_PACKAGE_ATBM_WIFI_MODEL_6012B),y)

View File

@@ -0,0 +1,147 @@
comment "GCC Options"
choice
prompt "GCC compiler Version"
default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy
default BR2_GCC_VERSION_ARC if BR2_arc
default BR2_GCC_VERSION_POWERPC_SPE if BR2_POWERPC_CPU_HAS_SPE
default BR2_GCC_VERSION_13_X
help
Select the version of gcc you wish to use.
config BR2_GCC_VERSION_ARC
bool "gcc arc (13.1)"
# Only supported architecture
depends on BR2_arc
select BR2_TOOLCHAIN_GCC_AT_LEAST_13
config BR2_GCC_VERSION_POWERPC_SPE
bool "gcc powerpc spe"
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on BR2_POWERPC_CPU_HAS_SPE
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_VERSION_LEGACY
bool "gcc 8.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_VERSION_11_X
bool "gcc 11.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_12
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31
select BR2_TOOLCHAIN_GCC_AT_LEAST_11
config BR2_GCC_VERSION_12_X
bool "gcc 12.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_13
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_POWERPC_CPU_HAS_SPE
# ARC HS48 rel 31 only supported by gcc arc fork.
depends on !BR2_archs4x_rel31
select BR2_TOOLCHAIN_GCC_AT_LEAST_12
config BR2_GCC_VERSION_13_X
bool "gcc 13.x"
# powerpc spe support has been deprecated since gcc 8.x.
# https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
depends on !BR2_POWERPC_CPU_HAS_SPE
select BR2_TOOLCHAIN_GCC_AT_LEAST_13
endchoice
# libcilkrts was introduced in gcc 4.9 and removed in gcc 8.x
config BR2_GCC_SUPPORTS_LIBCILKRTS
bool
default y if !BR2_TOOLCHAIN_GCC_AT_LEAST_8
config BR2_GCC_SUPPORTS_DLANG
bool
default y if BR2_aarch64
default y if BR2_arm
default y if BR2_i386
default y if BR2_mips || BR2_mipsel
default y if BR2_mips64 || BR2_mips64el
default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
default y if BR2_x86_64
default y if BR2_riscv && !BR2_RISCV_64
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
depends on BR2_TOOLCHAIN_USES_GLIBC
# "The D front-end is now itself written in D, in order to build GDC, you
# will need a working GDC compiler (GCC version 9.1 or later)."
# https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=5fee5ec362f7a243f459e6378fd49dfc89dc9fb5
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_12
config BR2_GCC_VERSION
string
default "8.4.0" if BR2_GCC_VERSION_LEGACY
default "11.4.0" if BR2_GCC_VERSION_11_X
default "12.4.0" if BR2_GCC_VERSION_12_X
default "13.3.0" if BR2_GCC_VERSION_13_X
default "arc-2023.09-release" if BR2_GCC_VERSION_ARC
config BR2_EXTRA_GCC_CONFIG_OPTIONS
string "Additional gcc options"
default ""
help
Any additional gcc configure options you may want to
include. Those options are applied for all of the gcc
initial, gcc intermediate and gcc final passes.
config BR2_TOOLCHAIN_BUILDROOT_CXX
bool "Enable C++ support"
select BR2_INSTALL_LIBSTDCPP
help
Enable this option if you want your toolchain to support the
C++ language and you want C++ libraries to be installed on
your target system.
comment "Fortran support needs a toolchain w/ wchar"
depends on BR2_TOOLCHAIN_HAS_LIBQUADMATH
depends on !BR2_USE_WCHAR # libquadmath
config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
bool "Enable Fortran support"
# on architecture building libquadmath, wchar is required
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
# internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1167
# fixed in gcc 14.x, so disable gcc 12.x/13.x
depends on !(BR2_microblaze && \
(BR2_GCC_VERSION_12_X || BR2_GCC_VERSION_13_X))
select BR2_TOOLCHAIN_HAS_FORTRAN
help
Enable this option if you want your toolchain to support the
Fortran language and you want Fortran libraries to be
installed on your target system.
config BR2_TOOLCHAIN_BUILDROOT_DLANG
bool "Enable D language support"
depends on BR2_GCC_SUPPORTS_DLANG
select BR2_TOOLCHAIN_HAS_DLANG
help
Enable this option if you want your toolchain to support the
D language and you want D libraries to be installed on your
target system.
config BR2_GCC_ENABLE_OPENMP
bool "Enable compiler OpenMP support"
depends on !BR2_PTHREADS_NONE && !BR2_arc && !BR2_microblaze
select BR2_TOOLCHAIN_HAS_OPENMP
help
Enable OpenMP support for the compiler
config BR2_GCC_ENABLE_GRAPHITE
bool "Enable graphite support"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
help
This option enables the graphite optimizations in the
compiler.
comment "graphite support needs gcc >= 5.x"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5

View File

@@ -0,0 +1,73 @@
[sensor]
Sensor_type=stSnsImx327Obj
Mode=WDR_MODE_NONE
DllFile=libsns_imx327.so
[mode]
input_mode=INPUT_MODE_MIPI
raw_bitness=12
clock=36MHz
[mipi]
lane_id = 0|1|2|3|-1|-1|-1|-1| ;lane_id: -1 - disable
data_type=DATA_TYPE_RAW_12BIT
[isp_image]
Isp_FrameRate=30
Isp_Bayer=BAYER_RGGB
Isp_x =0
Isp_y =0
Isp_W =1920
Isp_H =1080
[vi_dev]
Input_mod=VI_MODE_MIPI
Work_mod = VI_WORK_MODE_1Multiplex
Mask_num = 2
Mask_0 = 0xFFF00000
Mask_1 = 0x0
Scan_mode = VI_SCAN_PROGRESSIVE
Data_seq = VI_DATA_SEQ_YUYV
Vsync =1 ; vertical synchronization signal
;VI_VSYNC_PULSE,
VsyncNeg=1 ;Polarity of the vertical synchronization signal
;VI_VSYNC_NEG_HIGH = 0,
;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E
Hsync =0 ;Attribute of the horizontal synchronization signal
;VI_HSYNC_VALID_SINGNAL = 0,
;VI_HSYNC_PULSE,
HsyncNeg =0 ;Polarity of the horizontal synchronization signal
;VI_HSYNC_NEG_HIGH = 0,
;VI_HSYNC_NEG_LOW
VsyncValid =1 ;Attribute of the valid vertical synchronization signal
;VI_VSYNC_NORM_PULSE = 0,
;VI_VSYNC_VALID_SINGAL,
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal
;VI_VSYNC_VALID_NEG_HIGH = 0,
;VI_VSYNC_VALID_NEG_LOW
Timingblank_HsyncHfb =0 ;Horizontal front blanking width
Timingblank_HsyncAct =1920 ;Horizontal effetive width
Timingblank_HsyncHbb =0 ;Horizontal back blanking width
Timingblank_VsyncVfb =0 ;Vertical front blanking height
Timingblank_VsyncVact =1080 ;Vertical effetive width
Timingblank_VsyncVbb=0 ;Vertical back blanking height
Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive)
Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive)
Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive)
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
DevRect_w=1920
DevRect_h=1080
DevRect_x=0
DevRect_y=0
Combine_mode =0 ;Y/C composite or separation mode
;VI_COMBINE_COMPOSITE = 0 /*Composite mode */
;VI_COMBINE_SEPARATE, /*Separate mode */
Comp_mode =0 ;Component mode (single-component or dual-component)
;VI_COMP_MODE_SINGLE = 0, /*single component mode */
;VI_COMP_MODE_DOUBLE = 1, /*double component mode */
Clock_edge =0 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
#FullLinesStd=1875

View File

@@ -0,0 +1,131 @@
[sensor]
Sensor_type =stSnsSoiH63Obj ;sensor name
Mode =0 ;WDR_MODE_NONE = 0
;WDR_MODE_BUILT_IN = 1
;WDR_MODE_2To1_LINE = 2
;WDR_MODE_2To1_FRAME = 3
;WDR_MODE_2To1_FRAME_FULL_RATE =4 ...etc
DllFile =/usr/lib/sensors/libsns_h63.so ;sensor lib path
[mode]
input_mode =0 ;INPUT_MODE_MIPI = 0
;INPUT_MODE_SUBLVDS = 1
;INPUT_MODE_LVDS = 2 ...etc
dev_attr = 0 ;mipi_dev_attr_t = 0
;lvds_dev_attr_t = 1
;NULL =2
clock=27MHz
[mipi]
;----------only for mipi_dev---------
data_type = 1 ;raw data type: 8/10/12/14 bit was -1
;RAW_DATA_8BIT = 0
;RAW_DATA_10BIT = 1
;RAW_DATA_12BIT = 2
;RAW_DATA_14BIT = 3
lane_id = 0|-1|-1|-1|-1|-1|-1|-1| ;lane_id: -1 - disable
[isp_image]
Isp_x =0
Isp_y =0
Isp_W =1280
Isp_H =720
Isp_FrameRate=30
Isp_Bayer =3 ;BAYER_RGGB=0, BAYER_GRBG=1, BAYER_GBRG=2, BAYER_BGGR=3
[vi_dev]
Input_mod =6 ;VI_INPUT_MODE_BT656 = 0 was 2
;VI_INPUT_MODE_BT601,
;VI_INPUT_MODE_DIGITAL_CAMERA
Work_mod =0 ;VI_WORK_MODE_1Multiplex = 0
;VI_WORK_MODE_2Multiplex,
;VI_WORK_MODE_4Multiplex
Combine_mode =0 ;Y/C composite or separation mode
;VI_COMBINE_COMPOSITE = 0 /*Composite mode */
;VI_COMBINE_SEPARATE, /*Separate mode */
Comp_mode =0 ;Component mode (single-component or dual-component)
;VI_COMP_MODE_SINGLE = 0, /*single component mode */
;VI_COMP_MODE_DOUBLE = 1, /*double component mode */
Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
Mask_num =2 ;Component mask
Mask_0 =0xFFF00000
Mask_1 =0x0
Scan_mode =1 ;VI_SCAN_INTERLACED = 0
;VI_SCAN_PROGRESSIVE,
Data_seq =2 ;data sequence (ONLY for YUV format)
;----2th component U/V sequence in bt1120
; VI_INPUT_DATA_VUVU = 0,
; VI_INPUT_DATA_UVUV,
;----input sequence for yuv
; VI_INPUT_DATA_UYVY = 0,
; VI_INPUT_DATA_VYUY,
; VI_INPUT_DATA_YUYV,
; VI_INPUT_DATA_YVYU
Vsync =1 ; vertical synchronization signal
;VI_VSYNC_FIELD = 0,
;VI_VSYNC_PULSE,
VsyncNeg=0 ;Polarity of the vertical synchronization signal
;VI_VSYNC_NEG_HIGH = 0,
;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E
Hsync =0 ;Attribute of the horizontal synchronization signal
;VI_HSYNC_VALID_SINGNAL = 0,
;VI_HSYNC_PULSE,
HsyncNeg =0 ;Polarity of the horizontal synchronization signal
;VI_HSYNC_NEG_HIGH = 0,
;VI_HSYNC_NEG_LOW
VsyncValid =0 ;Attribute of the valid vertical synchronization signal
;VI_VSYNC_NORM_PULSE = 0,
;VI_VSYNC_VALID_SINGAL,
VsyncValidNeg =0;Polarity of the valid vertical synchronization signal
;VI_VSYNC_VALID_NEG_HIGH = 0,
;VI_VSYNC_VALID_NEG_LOW
Timingblank_HsyncHfb =0 ;Horizontal front blanking width
Timingblank_HsyncAct =1280 ;Horizontal effetive width
Timingblank_HsyncHbb =0 ;Horizontal back blanking width
Timingblank_VsyncVfb =0 ;Vertical front blanking height
Timingblank_VsyncVact =720 ;Vertical effetive width
Timingblank_VsyncVbb=0 ;Vertical back blanking height
Timingblank_VsyncVbfb =0 ;Even-field vertical front blanking height(interlace, invalid progressive)
Timingblank_VsyncVbact=0 ;Even-field vertical effetive width(interlace, invalid progressive)
Timingblank_VsyncVbbb =0 ;Even-field vertical back blanking height(interlace, invalid progressive)
;----- only for bt656 ----------
FixCode =0 ;BT656_FIXCODE_1 = 0,
;BT656_FIXCODE_0
FieldPolar=0 ;BT656_FIELD_POLAR_STD = 0
;BT656_FIELD_POLAR_NSTD
DataPath =1 ;ISP enable or bypass
;VI_PATH_BYPASS = 0,/* ISP bypass */
;VI_PATH_ISP = 1,/* ISP enable */
;VI_PATH_RAW = 2,/* Capture raw data, for debug */
InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,
DataRev =FALSE ;Data reverse. FALSE = 0; TRUE = 1
DevRect_x=0 ;
DevRect_y=0 ;
DevRect_w=1280 ;
DevRect_h=720 ;
[vi_chn]
CapRect_X =0
CapRect_Y =0
CapRect_Width=1280
CapRect_Height=720
DestSize_Width=1280
DestSize_Height=720
CapSel =2 ;Frame/field select. ONLY used in interlaced mode
;VI_CAPSEL_TOP = 0, /* top field */
;VI_CAPSEL_BOTTOM, /* bottom field */
;VI_CAPSEL_BOTH, /* top and bottom field */
PixFormat =26;PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 22
;PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 23 ...etc
CompressMode =0 ;COMPRESS_MODE_NONE = 0
;COMPRESS_MODE_SEG =1 ...etc
;SrcFrameRate=-1 ;Source frame rate. -1: not controll
;FrameRate =-1 ;Target frame rate. -1: not controll

View File

@@ -97,8 +97,8 @@ define GOKE_OSDRV_GK7205V200_INSTALL_TARGET_CMDS
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx290.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx307_2l.so
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx307.so
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx327_2l.so
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx327.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx327_2l.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx327.so
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_imx335.so
$(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_mis2008.so
## $(INSTALL) -m 644 -t $(TARGET_DIR)/usr/lib/sensors $(GOKE_OSDRV_GK7205V200_PKGDIR)/files/sensor/libsns_os05a.so

View File

@@ -0,0 +1,6 @@
config BR2_PACKAGE_GPIO_MOTORS
bool "gpio-motors"
help
Control stepper motors via sysfs GPIO. Confirmed working with 24BYJ48
stepper motors and ULN2803s on GM8136, HI3516CV200, T21, and GK7102
SOCs and should be portable to any with sysfs GPIO access.

View File

@@ -0,0 +1,64 @@
## Introduction
This package is created and intended for unification and use in all firmware and on various processors where the method of connecting motors via GPIO is used.
## Configuring known devices
#### Basic Example
```
fw_setenv gpio_motors 'H1 H2 H3 H4 V1 V2 V3 V4'
```
First, the GPIOs responsible for Horizontal rotation are added, and next then the GPIOs responsible for Vertical rotation are added, a total of 8 characters.
#### GK7205V200 (unknown model)
```
fw_setenv gpio_motors '52 53 56 57 69 70 59 58'
```
#### GM8136, Faleemi
```
fw_setenv gpio_motors '51 52 53 54 55 28 29 30'
```
#### HI3516CV200, FDT
```
fw_setenv gpio_motors '60 61 37 38 54 55 56 57'
```
#### SSC337DE, Foscam
```
fw_setenv gpio_motors '1 2 12 13 62 63 64 65'
```
#### SSC30KD, CMCC DS-YTJ5101
```
fw_setenv gpio_motors '111 112 113 114 59 60 8 9'
```
#### T31, Jooan Q3R-U
```
fw_setenv gpio_motors 53 52 54 14 17
```
This type of device has only 4 GPIOs intended for controlling motors at one time and 1 additional GPIO for switching the Horizontal/Vertical mode.
It is on this device that temporary incorrect operation of the camera's diagonal movement is possible.
## Using the utility
```
gpio-motors <pan steps> <tilt steps> <delay (ms)>
```
```
gpio-motors 20 0 30
gpio-motors -20 0 30
#
gpio-motors 0 20 30
gpio-motors 0 -20 30
#
gpio-motors 20 10 30
gpio-motors -20 10 30
```
## More info
- [Our Wiki](https://github.com/OpenIPC/wiki/blob/master/en/motors.md)

View File

@@ -0,0 +1,18 @@
################################################################################
#
# gpio-motors
#
################################################################################
GPIO_MOTORS_SITE_METHOD = local
GPIO_MOTORS_SITE = $(GPIO_MOTORS_PKGDIR)/src
define GPIO_MOTORS_BUILD_CMDS
$(MAKE) CC=$(TARGET_CC) -C $(@D)
endef
define GPIO_MOTORS_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -t $(TARGET_DIR)/usr/bin $(@D)/output/*
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,3 @@
gpio-motors:
mkdir -p output
$(CC) $@.c -o output/$@ -s -Wall

View File

@@ -0,0 +1,186 @@
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
int PAN_PINS[4];
int TILT_PINS[4];
int SELECT_PIN = -1;
int STEP_SEQUENCE[8][4] = {
{1, 0, 0, 0}, {1, 1, 0, 0}, {0, 1, 0, 0}, {0, 1, 1, 0},
{0, 0, 1, 0}, {0, 0, 1, 1}, {0, 0, 0, 1}, {1, 0, 0, 1}
};
int REVERSE_STEP_SEQUENCE[8][4] = {
{1, 0, 0, 1}, {0, 0, 0, 1}, {0, 0, 1, 1}, {0, 0, 1, 0},
{0, 1, 1, 0}, {0, 1, 0, 0}, {1, 1, 0, 0}, {1, 0, 0, 0}
};
void gpio_release(int pin) {
char path[64];
snprintf(path, sizeof(path), "/sys/class/gpio/gpio%d/value", pin);
FILE *file = fopen(path, "w");
if (file) {
fprintf(file, "%d", 0);
fclose(file);
}
file = fopen("/sys/class/gpio/unexport", "w");
if (file) {
fprintf(file, "%d", pin);
fclose(file);
} else {
printf("Unable to unexport GPIO %d: [%d] %s\n", pin, errno, strerror(errno));
}
}
void gpio_clean(int error) {
for (int i = 0; i < 4; i++) {
gpio_release(PAN_PINS[i]);
gpio_release(TILT_PINS[i]);
}
if (SELECT_PIN != -1) {
gpio_release(SELECT_PIN);
}
if (error) {
exit(EXIT_FAILURE);
}
}
void gpio_export(int pin) {
char path[64];
FILE *file;
file = fopen("/sys/class/gpio/export", "w");
if (file) {
fprintf(file, "%d", pin);
fclose(file);
} else {
printf("Unable export GPIO %d: [%d] %s\n", pin, errno, strerror(errno));
gpio_clean(1);
}
snprintf(path, sizeof(path), "/sys/class/gpio/gpio%d/direction", pin);
file = fopen(path, "w");
if (file) {
fprintf(file, "out");
fclose(file);
} else {
printf("Unable to set direction of GPIO %d: [%d] %s\n", pin, errno, strerror(errno));
gpio_clean(1);
}
}
void gpio_set(int pin, int value) {
char path[64];
snprintf(path, sizeof(path), "/sys/class/gpio/gpio%d/value", pin);
FILE *file = fopen(path, "w");
if (file) {
fprintf(file, "%d", value);
fclose(file);
} else {
printf("Unable to set value of GPIO %d: [%d] %s\n", pin, errno, strerror(errno));
gpio_clean(1);
}
}
void gpio_config() {
FILE *fp = popen("fw_printenv -n gpio_motors", "r");
if (fp == NULL) {
printf("Unable to run fw_printenv\n");
exit(EXIT_FAILURE);
}
char line[64];
if (fgets(line, sizeof(line), fp) != NULL) {
char *token = strtok(line, " ");
int value[8];
int count = 0;
while (token != NULL && count < 8) {
value[count++] = atoi(token);
token = strtok(NULL, " ");
}
if (count == 8 || count == 5) {
for (int i = 0; i < 4; i++) {
PAN_PINS[i] = value[i];
TILT_PINS[i] = value[i + (count == 8 ? 4 : 0)];
}
if (count == 5) {
SELECT_PIN = value[4];
}
} else {
printf("Error: Expected 8 or 5 GPIO values, but got %d\n", count);
exit(EXIT_FAILURE);
}
} else {
printf("Error: Unable to read gpio_motors from fw_printenv\n");
exit(EXIT_FAILURE);
}
pclose(fp);
}
void axis_run(const int pins[4], int level, int steps, int delay) {
int remaining = abs(steps);
if (remaining == 0) {
return;
}
const int (*seq)[4] = (steps < 0) ? REVERSE_STEP_SEQUENCE : STEP_SEQUENCE;
if (SELECT_PIN != -1) {
gpio_set(SELECT_PIN, level);
usleep(100);
}
int micro = 0;
while (remaining > 0) {
for (int i = 0; i < 4; i++) {
gpio_set(pins[i], seq[micro][i]);
}
usleep(delay);
if (++micro >= 8) {
micro = 0;
--remaining;
}
}
for (int i = 0; i < 4; i++) {
gpio_set(pins[i], 0);
}
}
int main(int argc, char *argv[]) {
if (argc != 4) {
fprintf(stderr, "Usage: %s <pan steps> <tilt steps> <delay (ms)>\n", argv[0]);
return 1;
}
int pan_steps = atoi(argv[1]);
int tilt_steps = atoi(argv[2]);
int delay = atoi(argv[3]) * 1000;
gpio_config();
for (int i = 0; i < 4; i++) {
gpio_export(PAN_PINS[i]);
gpio_export(TILT_PINS[i]);
}
if (SELECT_PIN != -1) {
gpio_export(SELECT_PIN);
}
axis_run(PAN_PINS, 0, pan_steps, delay);
axis_run(TILT_PINS, 1, tilt_steps, delay);
gpio_clean(0);
return 0;
}

View File

@@ -306,7 +306,10 @@ devmem 0x9a100030 32 0xDF000f04
devmem 0x90c00044 32 0x00000007
devmem 0x90c000b4 32 0xFFD374F0 #close SD card and mjpeg
devmem 0x90b00010 32 0x14040000 #close audio
if [ "$chipid" == "8135" ]; then
devmem 0x90b00010 32 0x14040000 #close audio
fi
#devmem 0x96105440 32 0x01500000
#devmem 0x96105438 32 0x01500000

View File

@@ -34,6 +34,9 @@ define HISILICON_OPENSDK_INSTALL_TARGET_CMDS
$(INSTALL) -m 755 -d $(TARGET_DIR)/usr/lib/sensors
$(INSTALL) -D -m 0644 $(@D)/libraries/sensor/$(OPENIPC_SOC_FAMILY)/sony_imx335/libsns_imx335.so $(TARGET_DIR)/usr/lib/sensors
$(INSTALL) -D -m 0644 $(@D)/libraries/sensor/$(OPENIPC_SOC_FAMILY)/sony_imx307/libsns_imx307.so $(TARGET_DIR)/usr/lib/sensors
$(INSTALL) -D -m 0644 $(@D)/libraries/sensor/$(OPENIPC_SOC_FAMILY)/soi_h63/libsns_h63.so $(TARGET_DIR)/usr/lib/sensors
#
# Using non-original SDK causes a lot of noise, the problem is not solved yet. Please use binary module or build this driver with original SDK from HiSilicon/Goke.
# $(INSTALL) -D -m 0644 $(@D)/libraries/sensor/$(OPENIPC_SOC_FAMILY)/imagedesign_mis2008/libsns_mis2008.so $(TARGET_DIR)/usr/lib/sensors
endef

View File

@@ -45,7 +45,7 @@ Clock_edge = 1 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP= 0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
Mask_num = 2 ;Component mask
Mask_0 = 0xFFC00000 ;ComMsk0
Mask_0 = 0xFFC00000 ;ComMsk0 # 0x3FF00000 for HOBOVISIN IPCam
Mask_1 = 0x0 ;ComMsk1
Scan_mode = 1 ;VI_SCAN_INTERLACED = 0
;VI_SCAN_PROGRESSIVE,

View File

@@ -83,7 +83,7 @@ Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
Mask_num =2 ;Component mask
Mask_0 =0xFFF0000
Mask_0 =0xFFF0000 ; Alternative solution - 0x3FC00000
Mask_1 =0x0
Scan_mode =1 ;VI_SCAN_INTERLACED = 0
;VI_SCAN_PROGRESSIVE,

View File

@@ -83,7 +83,7 @@ Clock_edge =1 ;Clock edge mode (sampling on the rising or falling edge)
;VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */
;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */
Mask_num =2 ;Component mask
Mask_0 =0xFFF0000
Mask_0 =0xFFF0000 ; Alternative solution - 0x3FF0000
Mask_1 =0x0
Scan_mode =1 ;VI_SCAN_INTERLACED = 0
;VI_SCAN_PROGRESSIVE,

View File

@@ -0,0 +1,6 @@
config BR2_PACKAGE_INGENIC_OSDRV_T23
bool "ingenic-osdrv-t23"
select BR2_PACKAGE_INGENIC_OPENSDK
help
Ingenic T23 kernel modules and libraries
https://openipc.org

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,91 @@
#!/bin/sh
KMOD_PATH=/lib/modules/$(uname -r)/ingenic
vendor=$(ipcinfo -v)
if [ ! -f /usr/sbin/sensor_cli ]; then
ln -s /usr/sbin/extutils /usr/sbin/sensor_cli
fi
echo 1 > /proc/sys/vm/overcommit_memory
log_vendor() {
logger -s -p daemon.info -t ${vendor} "$1"
}
check_return() {
if [ $? -ne 0 ]; then
echo err: $1
echo exit
exit
fi
}
lsmod | grep -q "sinfo"
if [ $? -ne 0 ]; then
modprobe sinfo.ko
check_return "modprobe sinfo"
fi
SENSOR=$(fw_printenv -n sensor)
if [ -n "$SENSOR" ]; then
export ${SENSOR}
log_vendor "Get data from environment and set SENSOR as ${SENSOR}"
else
echo 1 >/proc/jz/sinfo/info
check_return "start sinfo"
SENSOR_INFO=$(cat /proc/jz/sinfo/info)
check_return "get sensor type"
SENSOR=${SENSOR_INFO#*:}
if [ "sensor not found" = "$SENSOR" ]; then
unset SENSOR
fw_setenv sensor
else
log_vendor "Get data from sinfo and set SENSOR as ${SENSOR}"
fw_setenv sensor $SENSOR && log_vendor "Write detected ${SENSOR} to U-Boot ENV"
fi
fi
case ${SENSOR} in
"imx307"|"sc2135"|"sc2232"|"sc2336")
ISP_PARAM="isp_clk=200000000"
;;
"gc2053"|"jxf23")
ISP_PARAM="isp_clk=200000000"
SENSOR_PARAM="sensor_max_fps=25 data_interface=1"
;;
*)
ISP_PARAM="isp_clk=125000000"
;;
esac
echo --------------------
echo "ISP_PARAM: ${ISP_PARAM}"
echo "SENSOR: ${SENSOR}"
echo "SENSOR_PARAM: ${SENSOR_PARAM}"
echo --------------------
lsmod | grep -q "tx_isp"
if [ $? -ne 0 ]; then
modprobe tx-isp-t23 ${ISP_PARAM}
check_return "modprobe isp drv"
fi
lsmod | grep -q ${SENSOR}
if [ $? -ne 0 ]; then
modprobe sensor_${SENSOR}_t23 ${SENSOR_PARAM}
check_return "modprobe sensor drv"
fi
lsmod | grep -q "audio"
if [ $? -ne 0 ]; then
modprobe audio spk_gpio=-1
check_return "modprobe audio"
fi
lsmod | grep -q "jzmmc_v12"
if [ $? -ne 0 ]; then
modprobe jzmmc_v12 detect_pin=$(fw_printenv -n gpio_mmc || echo 59)
check_return "modprobe mmc"
fi

View File

@@ -0,0 +1,6 @@
sensor:
name: gc2053
address: 0x37
width: 1920
height: 1080
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: imx327
address: 0x1a
width: 1920
height: 1080
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: jxf23
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: jxf37pa
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: jxh63p
address: 0x40
width: 1920
height: 1080
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: sc1346
address: 0x30
width: 1280
height: 720
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: sc1a4t
address: 0x30
width: 1280
height: 720
bus: i2c

View File

@@ -0,0 +1,6 @@
sensor:
name: sc200ai
address: 0x30
width: 1920
height: 1080
bus: i2c

Some files were not shown because too many files have changed in this diff Show More