2.8 KiB
OpenIPC Wiki
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 <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
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 or your preferred update mechanism.
For additional wifi configuration, see wireless settings.
For more information about building OpenIPC, see building.