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) diff --git a/en/adding-wifi-driver.md b/en/adding-wifi-driver.md new file mode 100644 index 0000000..8a0a7ed --- /dev/null +++ b/en/adding-wifi-driver.md @@ -0,0 +1,92 @@ +# OpenIPC Wiki +[Table of Content](../README.md) + +Adding a wifi driver to your firmware +--- +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: + +``` +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. Navigate to the directory for the chipset you are building for, then navigate to 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` + +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 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 from source, see [building](./building.md).*