From f875288b99240cf52411069af6b37e852a7e7336 Mon Sep 17 00:00:00 2001
From: thegroove <henk@zxcvbnm.nl>
Date: Sat, 30 Dec 2023 00:59:26 +0100
Subject: [PATCH] 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 <your_config>`, where `<your_config>` 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`
+