Merge pull request #303 from thegroove/add-your-wifi

Adding a wifi driver to firmware
pull/305/head
Signor Pellegrino 2024-01-19 15:18:37 +03:00 committed by GitHub
commit b6f4e0c9b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 93 additions and 0 deletions

View File

@ -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)

View File

@ -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 <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](./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).*