Skip to content

Latest commit

 

History

History
136 lines (103 loc) · 3.7 KB

adding-wifi-driver.md

File metadata and controls

136 lines (103 loc) · 3.7 KB

OpenIPC Wiki

Table of Content

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:

1. Select general ATBM driver:

BR2_PACKAGE_ATBM60XX

2. Enable the driver for your specific card:

BR2_PACKAGE_ATBM60XX_MODEL_601X
BR2_PACKAGE_ATBM60XX_MODEL_602X
BR2_PACKAGE_ATBM60XX_MODEL_603X
BR2_PACKAGE_ATBM60XX_MODEL_6041

3. Set usb or sdio:

BR2_PACKAGE_ATBM60XX_INTERFACE_USB
BR2_PACKAGE_ATBM60XX_INTERFACE_SDIO

Example: to build atbm603x_wifi_usb:

BR2_PACKAGE_ATBM60XX=y
BR2_PACKAGE_ATBM60XX_MODEL_603X=y
BR2_PACKAGE_ATBM60XX_INTERFACE_USB=y

iComm:

SSV615X/SSV625X, USB ID 0x6000:

BR2_PACKAGE_SSV615X_OPENIPC

SSV635X, USB ID 0x6011:

BR2_PACKAGE_SSV635X_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. It may be useful to observe the boot messages from the original firmware to determine the network device and interface type since it may not be obvious from looking at the board. Seeing atbm603x_wifi_usb in the boot messages suggests that this camera has an atbm603x wifi device connected internally over USB.

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 make and select the configuration you have edited in the previous step.

Alternatively, you can run make BOARD=<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:

make BOARD=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 from source, see Source code.