[Zrouter-src] ZRouter.org: push to ZRouter boards/TPLink/TL-WR1043ND-v1/README...

zrouter-src at zrouter.org zrouter-src at zrouter.org
Sat Jan 21 00:43:40 UTC 2012


details:   http://zrouter.org/hg/zrouter//rev/2400997590b6
changeset: 318:2400997590b6
user:      Eric Krausser <zrouter at krausser-edv.de>
date:      Sat Jan 21 01:43:33 2012 +0100
description:
Support for TP-Link TL-WR1043ND v1, closes #35 (Approved by: ray)

diffstat:

 boards/TPLink/TL-WR1043ND-v1/README                    |   45 +++++
 boards/TPLink/TL-WR1043ND-v1/board.hints               |  148 +++++++++++++++++
 boards/TPLink/TL-WR1043ND-v1/board.mk                  |  102 +++++++++++
 boards/TPLink/TL-WR1043ND-v1/files/etc/rc.d/ADAPTATION |   42 ++++
 4 files changed, 337 insertions(+), 0 deletions(-)

diffs (353 lines):

diff -r 543ca52263a3 -r 2400997590b6 boards/TPLink/TL-WR1043ND-v1/README
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/boards/TPLink/TL-WR1043ND-v1/README	Sat Jan 21 01:43:33 2012 +0100
@@ -0,0 +1,45 @@
+Further work is in progress, for now the kernel boots and the rootfs mounts.
+
+This was tested with TL-WR1043ND Ver:1.8, but I expect all 1.x should work.
+
+Many thanks to Adrian Chadd and Alexandr Rybalko for the kind help with this
+board definition, which is mostly based on Adrian's work on: 
+http://code.google.com/p/freebsd-wifi-build/wiki/TpLinkTLWR1043ND
+
+
+
+How to build
+--------------------------------------------------------------------------------
+
+as root:
+make FREEBSD_SRC_TREE=/your/path/to/ZRouter's/modified/FreeBSD/head TARGET_PAIR=TPLink/TL-WR1043ND-v1
+
+Find the TPLink_TL-WR1043ND-v1.bin in /usr/obj/... and copy it to
+your TFTP server.
+
+
+
+How to flash
+--------------------------------------------------------------------------------
+
+erase 0xbf020000 +7c0000
+tftpboot 0x81000000 TPLink_TL-WR1043ND-v1.bin
+cp.b 0x81000000 0xbf020000 0x7c0000
+bootm 0xbf020000
+
+(hint: you can concatenate the commands by ";")
+
+
+
+TODO
+--------------------------------------------------------------------------------
+
+* scripts which are writing to flash don't work
+  ("dd: /dev/map/config: Invalid argument")
+
+* invert LEDs, now `echo 1 > /dev/led/status` switches off
+ 
+
+
+Eric Kraußer
+
diff -r 543ca52263a3 -r 2400997590b6 boards/TPLink/TL-WR1043ND-v1/board.hints
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/boards/TPLink/TL-WR1043ND-v1/board.hints	Sat Jan 21 01:43:33 2012 +0100
@@ -0,0 +1,148 @@
+# from head/sys/mips/conf/TP-WN1043ND.hints by Adrian Chadd
+
+
+# arge
+hint.arge.0.at="nexus0"
+hint.arge.0.maddr=0x19000000
+hint.arge.0.msize=0x1000
+hint.arge.0.irq=2
+
+hint.arge.1.at="nexus0"
+hint.arge.1.maddr=0x1a000000
+hint.arge.1.msize=0x1000
+hint.arge.1.irq=3
+
+# XXX The ath device hangs off of the AHB, rather than the Nexus.
+hint.ath.0.at="nexus0"
+hint.ath.0.maddr=0x180c0000
+hint.ath.0.msize=0x30000
+hint.ath.0.irq=0
+
+
+# Hard-code the PHY for now, until there's switch phy support.
+hint.arge.0.phymask=0x000c
+hint.arge.0.media=1000
+hint.arge.0.fduplex=1
+
+# Where is the MAC address stored in flash for this particular unit.
+hint.arge.0.eeprommac=0x1f01fc00
+
+# This isn't used, but configure it anyway.
+# This should eventually just not be configured, but the if then
+# needs to be properly disabled or spurious interrupts occur.
+hint.arge.1.phymask=0x0
+
+# Where the ART is
+hint.ath.0.eepromaddr=0x1fff1000
+
+#
+# Define a slightly custom flash layout.
+# The default flash layout:
+#
+# 128k: uboot
+# 1024k: kernel
+# 4096k: rootfs
+# 2816: unknown
+# 64k: board config?
+# 64k: ART
+#
+# from printenv:
+# bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init
+# mtdparts=ar9100-nor0:128k(u-boot),1024k(kernel),4096k(rootfs),64k(art)
+# This isn't a lot of space!
+# So:
+# 128k: uboot
+# ????: kernel
+# ????: rootfs
+# 64k: config
+# 64k: ART
+
+hint.map.0.at="flash/spi0"
+hint.map.0.start=0x00000000
+hint.map.0.end=0x000020000
+hint.map.0.name="bootloader"
+hint.map.0.readonly=1
+
+hint.map.1.at="flash/spi0"
+hint.map.1.start=0x00020000
+hint.map.1.end="search:0x00100000:0x10000:.!/bin/sh"
+hint.map.1.name="kernel"
+hint.map.1.readonly=1
+
+hint.map.2.at="flash/spi0"
+hint.map.2.start="search:0x00100000:0x10000:.!/bin/sh"
+hint.map.2.end=0x007e0000
+hint.map.2.name="rootfs"
+hint.map.2.readonly=1
+
+hint.map.3.at="flash/spi0"
+hint.map.3.start=0x00020000
+hint.map.3.end=0x007e0000
+hint.map.3.name="upgrade"
+hint.map.3.readonly=0
+
+hint.map.4.at="flash/spi0"
+hint.map.4.start=0x007e0000
+hint.map.4.end=0x007f0000
+hint.map.4.name="config"
+hint.map.4.readonly=0
+
+# This is radio calibration section. It is (or should be!) unique
+# for each board, to take into account thermal and electrical differences
+# as well as the regulatory compliance data.
+hint.map.5.at="flash/spi0"
+hint.map.5.start=0x007f0000
+hint.map.5.end=0x00800000
+hint.map.5.name="art"
+hint.map.5.readonly=1
+
+# GPIO specific configuration block
+# Don't flip on anything that isn't already enabled.
+# This includes leaving the SPI CS1/CS2 pins as GPIO pins as they're
+# not used here.
+hint.gpio.0.function_set=0x00000000
+hint.gpio.0.function_clear=0x00000000
+
+# These are the GPIO LEDs and buttons which can be software controlled.
+hint.gpio.0.pinmask=0x001c02ae
+# pin 1 - USB (LED)
+# pin 2 - System (LED)
+# Pin 3 - Reset (input)
+# Pin 5 - QSS (LED)
+# Pin 7 - QSS Button (input)
+# Pin 8 - wired into the chip reset line
+# Pin 9 - WLAN
+# Pin 10 - UART TX (not GPIO)
+# Pin 13 - UART RX (not GPIO)
+# Pin 18 - RTL8366RB switch data line
+# Pin 19 - RTL8366RB switch clock line
+# Pin 20 - "GPIO20"
+# LEDs are configured separately and driven by the LED device
+
+# the output needs to be inverted (flags=0x????)
+# on some LEDs or "echo 1 > /dev/led/status" will switch off the LED
+# see sys/sys/gpio.h in FreeBSD sources
+
+# USB
+hint.gpioled.0.at="gpiobus0"
+hint.gpioled.0.name="usb"
+hint.gpioled.0.pins=0x0002
+#hint.gpioled.0.flags=0x????
+
+# SYS
+hint.gpioled.1.at="gpiobus0"
+hint.gpioled.1.name="status"
+hint.gpioled.1.pins=0x0004
+#hint.gpioled.1.flags=0x????
+
+# QSS
+hint.gpioled.2.at="gpiobus0"
+hint.gpioled.2.name="qss"
+hint.gpioled.2.pins=0x0020
+
+# WLAN
+hint.gpioled.3.at="gpiobus0"
+hint.gpioled.3.name="wlan"
+hint.gpioled.3.pins=0x0200
+#hint.gpioled.3.flags=0x????
+
diff -r 543ca52263a3 -r 2400997590b6 boards/TPLink/TL-WR1043ND-v1/board.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/boards/TPLink/TL-WR1043ND-v1/board.mk	Sat Jan 21 01:43:33 2012 +0100
@@ -0,0 +1,102 @@
+
+###################################################
+#
+# Board used hardware/chips
+#
+###################################################
+
+SOC_VENDOR=Atheros
+SOC_CHIP=AR9132
+BOARD_FLASH_SIZE=8M
+
+
+###################################################
+#
+# Vars for kernel config
+#
+###################################################
+
+# ident 
+KERNCONF_IDENT=${TARGET_VENDOR}_${TARGET_DEVICE}
+
+# Enable the uboot environment stuff rather then the redboot stuff.
+KERNCONF_OPTIONS+=	AR71XX_ENV_UBOOT
+
+# Force the board memory - 32MB
+KERNCONF_OPTIONS+=	AR71XX_REALMEM=32*1024*1024
+
+
+# Include usb and SoC usb controller drivers
+WITH_USB=yes
+
+# Builded modules
+KERNCONF_MODULES_OVERRIDE+=usb/uplcom usb/u3g usb/umodem usb/umass usb/ucom cam zlib
+
+KERNCONF_DEVICES+=	switch
+
+# Additional utilities
+WORLD_SUBDIRS_ZROUTER+=target/sbin/upgrade
+
+.if !defined(WITHOUT_WIRELESS)
+KERNCONF_OPTIONS+=	IEEE80211_DEBUG
+KERNCONF_OPTIONS+=	IEEE80211_SUPPORT_MESH
+KERNCONF_OPTIONS+=	IEEE80211_SUPPORT_TDMA
+KERNCONF_DEVICES+=	wlan
+# ? not for ath?
+#KERNCONF_DEVICES+=	wlan_amrr
+KERNCONF_DEVICES+=	wlan_wep
+KERNCONF_DEVICES+=	wlan_ccmp
+KERNCONF_DEVICES+=	wlan_tkip
+KERNCONF_DEVICES+=	wlan_xauth
+
+KERNCONF_OPTIONS+=	AH_DEBUG
+KERNCONF_OPTIONS+=	ATH_DEBUG
+KERNCONF_OPTIONS+=	ATH_DIAGAPI
+KERNCONF_OPTIONS+=	AH_SUPPORT_AR5416
+# Makes other chipsets not function! 
+KERNCONF_OPTIONS+=	AH_SUPPORT_AR9130
+KERNCONF_OPTIONS+=	AH_RXCFG_SDMAMW_4BYTES
+KERNCONF_OPTIONS+=	ATH_ENABLE_11N
+
+KERNCONF_DEVICES+=	ath
+KERNCONF_DEVICES+=	ath_rate_sample
+KERNCONF_DEVICES+=	ath_ahb
+# not needed anymore?
+#KERNCONF_DEVICES+=	ath_hal
+KERNCONF_DEVICES+=	ath_ar5212
+KERNCONF_DEVICES+=	ath_ar5416
+KERNCONF_DEVICES+=	ath_ar9130
+.endif
+
+
+###################################################
+#
+#       Limits
+#
+###################################################
+
+# Image must not be bigger than 'upgrade' geom_map partition
+FIRMWARE_IMAGE_SIZE_MAX=0x007c0000
+
+# the hint.map.?.start address from board.hints where hint.map.?.name="kernel"
+KERNEL_MAP_START=0x00020000
+
+
+###################################################
+#
+#       Firmware Image Options
+#
+###################################################
+
+TARGET_PROFILES+=SMALL_ mpd ssh shttpd dlink.ua.web hostap dhcp nfs_client
+
+MKULZMA_BLOCKSIZE=65536
+
+PACKING_KERNEL_IMAGE=kernel.strip.kbin.gz.sync
+PACKING_ROOTFS_IMAGE=rootfs_clean.iso.ulzma
+
+TPLINK_BOARDTYPE="TL-WR1043NDv1"
+
+IMAGE_SUFFIX=bin
+NEW_IMAGE_TYPE=tplink_image
+
diff -r 543ca52263a3 -r 2400997590b6 boards/TPLink/TL-WR1043ND-v1/files/etc/rc.d/ADAPTATION
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/boards/TPLink/TL-WR1043ND-v1/files/etc/rc.d/ADAPTATION	Sat Jan 21 01:43:33 2012 +0100
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# PROVIDE: ADAPTATION
+
+. /etc/rc.subr
+. /etc/network.subr
+
+name="ADAPTATION"
+start_cmd="adapt_start"
+start_precmd="adapt_prestart"
+start_postcmd="adapt_poststart"
+stop_cmd="adapt_stop"
+
+adapt_prestart()
+{
+	#ifconfig rt0 name lan0
+	#ifconfig vlan2 create vlan 2 vlandev lan0
+	#ifconfig vlan2 name wan0
+	# name wlan0 will be used when hostap or client are created
+	#ifconfig rt28600 name wifi0
+	#hostname `kenv HostName`
+	#wan_mac_addr=`kenv WAN_MAC_ADDR`
+	# lan mac wan+1
+	# wlan mac wan+2
+
+}
+
+adapt_start()
+{
+}
+
+adapt_poststart()
+{
+}
+
+adapt_stop()
+{
+}
+
+load_rc_config $name
+
+run_rc_command $*


More information about the Zrouter-src mailing list