Table of Contents

tplink.jpg

OpenWRT LEDE

Check-out
mkdir -p /embedded/openwrt/
cd /embedded/openwrt
git clone git://github.com/openwrt/openwrt.git openwrt-wr841.git
cd /embedded/openwrt/openwrt-wr841.git
git checkout v17.01.6
Set up standard feeds
./scripts/feeds update -a
Or, set up feeds for Pickle Microchip PIC ICSP and NFS
cp feeds.conf.default feeds.conf.default.orig
echo "src-git openwrtfiles git://github.com/GBert/openwrt-files" >> feeds.conf.default
echo "src-git openwrtmisc git://github.com/GBert/openwrt-misc" >> feeds.conf.default
./scripts/feeds clean
./scripts/feeds update -a
./scripts/feeds install pickle bit-bang-gpio
./scripts/feeds install ath-hs-uart
./scripts/feeds install nfs-utils
Configure a standard build
make menuconfig

 [Target System  = Atheros AR7xxx/AR9xxx]
 [Target Profile = TP-LINK TL-WR841N/ND]

 [Exit] [Yes]
Or, configure for Pickle Microchip PIC ICSP and NFS (build I2C support)
make menuconfig

 [Target System  = Atheros AR7xxx/AR9xxx]
 [Target Profile = TP-LINK TL-WR841N/ND v8]

ENABLE: <M>
 [Kernel modules] [Filesystems] [kmod-fs-nfs]
 [Kernel modules] [I2C support] [kmod-i2c-core]
 [Kernel modules] [I2C support] [kmod-i2c-gpio-custom]
 [Kernel modules] [Other Modules] [kmod-bit-bang-gpio]

ENABLE: <*>
 [Utilities] [Filesystem] [nfs-utils]
 [Utilities] [pickle]

DISABLE: < >
 [Base system] [dnsmasq]
 [Base system] [firewall]
 [Network] [Firewall] [ip6tables]
 [Network] [Firewall] [iptables]
 [Network] [odhcp6c]
 [Network] [odhcpd]
 [Network] [ppp]
 [Kernel modules] [Network Support] [kmod-ppp]
 [Kernel modules] [Netfilter Extensions] [all]
 [Kernel modules] [USB Support] [all]

 [Exit] [Yes]
Build

This can take half an hour.

chown -R nobody /embedded/openwrt/openwrt-wr841.git
su nobody -c 'make V=s -j 4'
Inspect
ls -1 bin/targets/ar71xx/generic/*wr841*bin
bin/targets/ar71xx/generic/lede-ar71xx-generic-tl-wr841-v8-squashfs-factory.bin
bin/targets/ar71xx/generic/lede-ar71xx-generic-tl-wr841-v8-squashfs-sysupgrade.bin
Install
scp bin/targets/ar71xx/generic/lede-ar71xx-generic-tl-wr841-v8-squashfs-factory.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1
sysupgrade -v /tmp/lede-ar71xx-generic-tl-wr841-v8-squashfs-factory.bin
Login
ssh root@192.168.1.1

BusyBox v1.25.1 () built-in shell (ash)

     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01.6, r3979-2252731af4)
    \________\/    -----------------------------------------------------------
Re-initialise (optional)
firstboot
reboot -f
NFS

Copy the packages to the router's tmp directory, Eg.

scp bin/targets/ar71xx/generic/packages/kmod-dnsresolver_4.4.153-1_mips_24kc.ipk root@192.168.1.1:/tmp
scp bin/targets/ar71xx/generic/packages/kmod-fs-nfs-common_4.4.153-1_mips_24kc.ipk root@192.168.1.1:/tmp
scp bin/targets/ar71xx/generic/packages/kmod-fs-nfs_4.4.153-1_mips_24kc.ipk root@192.168.1.1:/tmp

Then, on the router install the packages.

opkg install kmod-dnsresolver_4.4.153-1_mips_24kc.ipk
opkg install kmod-fs-nfs-common_4.4.153-1_mips_24kc.ipk
opkg install kmod-fs-nfs_4.4.153-1_mips_24kc.ipk

Serial

VDD
GND
RX
TX

GPIO

      1   2 GND
GPIO1 3   4 GND
GPIO2 5   6 GND
GPIO3 7   8 GND
GPOP0 9  10 GND
      11 12
      13 14

Pins 1, 3, 7 and 9 are pulled to ground via 10K resistors.
Pin 11 may have originally been RESET but there is missing link to it's left.

Pickle Microchip PIC ICSP

Bit-bang GPIO (gpio-bb).

insmod gpio-bb && mknod /dev/gpio-bb c 180 0

Pickle configuration.

DEVICE=/dev/gpio-bb
BITRULES=0x1000
SLEEP=1
BUSY=0
VPP=2
PGM=1
PGC=3
PGD=0
DEBUG=1

Resources

OpenWRT
Specifications