From f875288b99240cf52411069af6b37e852a7e7336 Mon Sep 17 00:00:00 2001 From: thegroove Date: Sat, 30 Dec 2023 00:59:26 +0100 Subject: [PATCH 1/6] Create adding-wifi-driver.md --- en/adding-wifi-driver.md | 77 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 en/adding-wifi-driver.md diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md new file mode 100644 index 0000000..db19c76 --- /dev/null +++ b/en/adding-wifi-driver.md @@ -0,0 +1,77 @@ +# OpenIPC Wiki +[Table of Content](../README.md) + +Adding a wifi driver to your firmware +--- +Since most cameras have very little flash memory, openipc images don't contain many wifi drivers, as they can easily be 1.5MB+ per driver. +This means that in many cases, you will have to add the appropriate wifi driver to your firmware image. + +### Step 1: preparing the build environment +You will need a Linux environment. First download the openipc firmware repository: + +``` +git clone https://github.com/OpenIPC/firmware.git openipc-firmware +cd openipc-firmware +``` + +Install packages required for building: + +``` +sudo make deps +``` + +### Step 2: determine the driver package +Here are some of the most common wifi driver packages: +``` +# AIC: +BR2_PACKAGE_AIC8800_OPENIPC + +# Altobeam: +BR2_PACKAGE_ATBM60XX +BR2_PACKAGE_ATBM6441 + +# iComm: +BR2_PACKAGE_SSV6X5X_OPENIPC + +# MediaTek: +BR2_PACKAGE_MT7601U_OPENIPC + +# SigmaStar: +BR2_PACKAGE_SSW101B + +# Realtek: +BR2_PACKAGE_RTL8188EUS_OPENIPC +BR2_PACKAGE_RTL8188FU_OPENIPC +BR2_PACKAGE_RTL8189ES_OPENIPC +BR2_PACKAGE_RTL8189FS_OPENIPC +BR2_PACKAGE_RTL8192EU_OPENIPC +BR2_PACKAGE_RTL8733BU_OPENIPC +BR2_PACKAGE_RTL8812AU_OPENIPC +``` + +Take note of the `BR2_PACKAGE` variable for the driver you need. + +### Step 3: add BR2_PACKAGE variable to your firmware configuration +The firmware configuration files are ordered per chipset in the `br-ext-chip-*`directories. Move into the directory for the chipset you are building for, then move into the `/configs/` directory. + +Example: you have a hisilicon chipset: + +`cd br-ext-chip-hisilicon/configs/` + +Inside you will see a number of `_defconfig` files. Open the file for your desired chip and firmware flavor in a text editor. +Add the appropriate `BR2_PACKAGE` variable to this file, adding `=y` to the end of the variable. + +Example: you want to add the RTL8188EUS driver: + +`BR2_PACKAGE_RTL8188EUS_OPENIPC=y` + +### Step 4: Build your firmware +Return to the root directory of the openipc firmware directory `openipc-firmware/`. +Run `./building.sh` and select the configuration you have edited in the previous step. + +Alternatively, you can run `./building.sh `, where `` is the name of the config file you have just edited, minus the `_defconfig` + +Example: you want to build `ultimate` for `hi3516ev200`: + +`./building.sh hi3516ev200_ultimate` + From 230cd14b0d9b79c06903f28410d8382c8e815121 Mon Sep 17 00:00:00 2001 From: thegroove <535855+thegroove@users.noreply.github.com> Date: Tue, 9 Jan 2024 21:53:21 +0100 Subject: [PATCH 2/6] Update adding-wifi-driver.md --- en/adding-wifi-driver.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md index db19c76..2da8f93 100644 --- a/en/adding-wifi-driver.md +++ b/en/adding-wifi-driver.md @@ -75,3 +75,14 @@ Example: you want to build `ultimate` for `hi3516ev200`: `./building.sh hi3516ev200_ultimate` +When the build is complete, you will find the output in the `output/images/` directory: + +``` +./rootfs.hi3516ev200.cpio +./openipc.hi3516ev200-nor-ultimate.tgz +./rootfs.squashfs.hi3516ev200 +./rootfs.hi3516ev200.tar +./uImage.hi3516ev200 +``` + +You can then use `rootfs.squashfs.* and uImage.*` with [sysupgrade](./sysupgrade.md). From 96586c1da049c8fd6c183ba17552485b3af8b607 Mon Sep 17 00:00:00 2001 From: thegroove <535855+thegroove@users.noreply.github.com> Date: Tue, 9 Jan 2024 21:56:44 +0100 Subject: [PATCH 3/6] Update adding-wifi-driver.md --- en/adding-wifi-driver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md index 2da8f93..04f90ee 100644 --- a/en/adding-wifi-driver.md +++ b/en/adding-wifi-driver.md @@ -85,4 +85,4 @@ When the build is complete, you will find the output in the `output/images/` dir ./uImage.hi3516ev200 ``` -You can then use `rootfs.squashfs.* and uImage.*` with [sysupgrade](./sysupgrade.md). +You can now use `rootfs.squashfs.*` and `uImage.*` with [sysupgrade](./sysupgrade.md). From 9a034332a6fad8f20b8eade39ff367e1e7077013 Mon Sep 17 00:00:00 2001 From: thegroove <535855+thegroove@users.noreply.github.com> Date: Thu, 18 Jan 2024 02:30:46 +0100 Subject: [PATCH 4/6] Update adding-wifi-driver.md --- en/adding-wifi-driver.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md index 04f90ee..26d65fd 100644 --- a/en/adding-wifi-driver.md +++ b/en/adding-wifi-driver.md @@ -3,11 +3,11 @@ Adding a wifi driver to your firmware --- -Since most cameras have very little flash memory, openipc images don't contain many wifi drivers, as they can easily be 1.5MB+ per driver. +Since most cameras have very little flash memory, OpenIPC firmware images don't contain many wifi drivers, as they can easily be 1.5MB+ per driver. This means that in many cases, you will have to add the appropriate wifi driver to your firmware image. ### Step 1: preparing the build environment -You will need a Linux environment. First download the openipc firmware repository: +You will need a Linux environment. First download the OpenIPC firmware repository: ``` git clone https://github.com/OpenIPC/firmware.git openipc-firmware @@ -52,7 +52,7 @@ BR2_PACKAGE_RTL8812AU_OPENIPC Take note of the `BR2_PACKAGE` variable for the driver you need. ### Step 3: add BR2_PACKAGE variable to your firmware configuration -The firmware configuration files are ordered per chipset in the `br-ext-chip-*`directories. Move into the directory for the chipset you are building for, then move into the `/configs/` directory. +The firmware configuration files are ordered per chipset in the `br-ext-chip-*`directories. Navigate to the directory for the chipset you are building for, then navigate to the `/configs/` directory. Example: you have a hisilicon chipset: @@ -85,4 +85,8 @@ When the build is complete, you will find the output in the `output/images/` dir ./uImage.hi3516ev200 ``` -You can now use `rootfs.squashfs.*` and `uImage.*` with [sysupgrade](./sysupgrade.md). +You can now use `rootfs.squashfs.*` and `uImage.*` with [sysupgrade](./sysupgrade.md) or your preferred update mechanism. + +*For additional wifi configuration, see [wireless settings](./wireless-settings.md).* + +*For more information about building OpenIPC, see [building](./building.md).* From 878e2e05f72f0669b711a996eb1cd531e46da638 Mon Sep 17 00:00:00 2001 From: thegroove <535855+thegroove@users.noreply.github.com> Date: Thu, 18 Jan 2024 02:32:00 +0100 Subject: [PATCH 5/6] Update adding-wifi-driver.md --- en/adding-wifi-driver.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md index 26d65fd..8a0a7ed 100644 --- a/en/adding-wifi-driver.md +++ b/en/adding-wifi-driver.md @@ -89,4 +89,4 @@ You can now use `rootfs.squashfs.*` and `uImage.*` with [sysupgrade](./sysupgrad *For additional wifi configuration, see [wireless settings](./wireless-settings.md).* -*For more information about building OpenIPC, see [building](./building.md).* +*For more information about building OpenIPC from source, see [building](./building.md).* From af3368b51114800cbca31620a39e3846b5d566a9 Mon Sep 17 00:00:00 2001 From: thegroove <535855+thegroove@users.noreply.github.com> Date: Thu, 18 Jan 2024 02:38:54 +0100 Subject: [PATCH 6/6] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e798f28..0673666 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ OpenIPC Wiki ### Usage - [Network settings](en/network-settings.md) +- [Adding a wifi driver to your firmware](en/adding-wifi-driver.md) - [Wireless settings](en/wireless-settings.md) - [Network perversions](en/network-perversions.md) - [System features](en/system-features.md)