# i96 Documentation and apps for the OrangePi-i96 board. Fixes the GPIO access, and includes notes to help make the board more useable. See the [wiki](http://alt.pbeirne.com:3000/patb/i96/wiki) for the documentation. Download the `gpio_fixup.py` file onto your OrangePi-i96. I usually install it into `/usr/local/bin'. ``` sudo -i # change to root cd /usr/local/bin wget http://wiki.pbeirne.com/patb/i96/raw/master/gpio_fixup.py # add a line to /etc/rc.local to execute this at startup sed -i "/^exit 0$/i\/usr/local/bin/gpio_fixup.py" /etc/rc.local ``` That little script will run at boot time, and change the gpio pins on the 40 pin connector (pins 23-34) into true GPIO pins, and it'll restore proper operation of the UART2 and SPI2 pins (pins 3,9,8,10,12,14) **NOTE: this is OrangePi-i96 specific; do not use on the 2G-iot board** `gpio_fixup.sh` is the equivalent script written in bash, using `devmem2` to access the cpu registers. `devmem2.py` is a local version of the program to access the cpu registers. Use if you can't download `devmem2` from the Debian/Ubuntu repositories. `devmem2.py` uses Python3 and is very slow, and must be run by root or sudo. `blink.py` is just an example to show how you might play with the GPIO lines. The `rdawfmac.ko` file included here contains the change that allows the WiFi MAC address to persist between reboots. This file (kernel module) can be copied into `/lib/modules/3.10.62-rel5.0.2+/kernel/drivers/net/wireless/rdaw80211/rdawlan/` to overwrite the existing file. If you decide to use this version of the module, be sure to create a folder off the root called `/data/misc/wifi/` so the module can store its randomized MAC address. **NOTE**: this module is only useable on the 3.10.62-rel5.0.2 kernel.** It works on the OrangePi-2Giot board as well.