Skip to content

Tp LinkTLWR1043ND

Adrian Chadd edited this page Mar 26, 2015 · 5 revisions

FreeBSD on the TP-Link TL-WR1043ND

Introduction

The TP-Link TL-WR1043ND is the first consumer device to be "fully" supported by this particular little set of build scripts.

Hardware

  • AR9132 integrated SoC/WMAC
  • AR9103 2.4ghz 11n 2x2 3-antenna radio
  • (ethernet switch)
  • Serial pinout onboard - 115200 8N1

Further information can be found at the openwrt wiki: http://wiki.openwrt.org/toh/tp-link/tl-wr1043nd

Building firmware

Remember, the build scripts build root in "../root/" and use "../obj/" for the build directory, so you should check out a copy of FreeBSD-HEAD into a suitable location.

$ cd /path/to/freebsd/src
$ /path/to/freebsd-wifi-build/bin/build tl-wr1043nd

You should end up with /tftpboot/TP-WN1043ND.factory.bin .

Flashing

This needs to be done via a serial console.

The uboot firmware has been heavily modified by tplink; you can't just use a uboot kernel image. It will refuse to uncompress and boot it.

The first 128k of the flash is uboot. Don't overwrite this.

The last 64k of the flash is the radio calibration area. You must not delete this or your radio will not work.

The second-last 64k of the flash is the firmware configuration area.

"ipaddr" is the IP to temporarily assign to the device. "serverip" is the TFTP server.

Please connect the ethernet to the WAN port.

setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.16

# This erases the flash between uboot and the firmware configuration area.  Whatever you do, don't mistype this!
erase 0xbf020000 +7b0000

# Load the firmware image into RAM
tftpboot 0x80050000 tl-wr1043nd.factory.bin

# Copy the firmware image from RAM to the flash.  Again, don't mess this line up!
cp.b 0x80050000 0xbf020000 0x7b0000

# Transfer control to the kernel.
bootm 0xbf020000