Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Nov 2011 07:37:19 +0000 (UTC)
From:      Adrian Chadd <adrian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r227926 - head/sys/mips/conf
Message-ID:  <201111240737.pAO7bJss083615@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adrian
Date: Thu Nov 24 07:37:19 2011
New Revision: 227926
URL: http://svn.freebsd.org/changeset/base/227926

Log:
  Now that I've brought up FreeBSD via flash, I've discovered that
  the second-last 64k seems to be the default firmware board configuration
  area.
  
  Since I have no idea whether uboot uses it or not - and it's prefixed
  with an atheros eeprom signature (0xaa55), I figure the safest thing
  to do is mark it as read-only.
  
  I've modified my local tplink firmware building program to generate
  a board configuration section - which is separate to this partition.
  It's located in the 64k _before_ this particular 64k.
  
  The firmware build program from OpenWRT never initialises those
  values and the firmware images from tplink also leave it 0x0, so I
  don't currently know what the exact, correct details should be.

Modified:
  head/sys/mips/conf/TP-WN1043ND.hints

Modified: head/sys/mips/conf/TP-WN1043ND.hints
==============================================================================
--- head/sys/mips/conf/TP-WN1043ND.hints	Thu Nov 24 07:33:41 2011	(r227925)
+++ head/sys/mips/conf/TP-WN1043ND.hints	Thu Nov 24 07:37:19 2011	(r227926)
@@ -26,7 +26,8 @@ hint.ath.0.eepromaddr=0x1fff1000
 # 128k: uboot
 # 1024k: kernel
 # 4096k: rootfs
-# 2880k: unknown
+# 2816: unknown
+# 64k: board config?
 # 64k: ART
 #
 # from printenv:
@@ -37,8 +38,9 @@ hint.ath.0.eepromaddr=0x1fff1000
 # So:
 # 128k: uboot
 # 2048k: kernel
-# 5888k: rootfs
-# (todo: 64k: config)
+# 5824k: rootfs
+# 64k: config
+# 64k: board config?
 # 64k: ART
 
 hint.map.0.at="flash/spi0"
@@ -55,19 +57,38 @@ hint.map.1.readonly=1
 
 hint.map.2.at="flash/spi0"
 hint.map.2.start=0x00220000
-#hint.map.2.end=0x007e0000
-hint.map.2.end=0x007f0000
+hint.map.2.end=0x007c0000
 hint.map.2.name="rootfs"
 hint.map.2.readonly=1
 
-#hint.map.3.at="flash/spi0"
-#hint.map.3.start=0x007e0000
-#hint.map.3.end=0x007f0000
-#hint.map.3.name="cfg"
-#hint.map.3.readonly=1
+hint.map.3.at="flash/spi0"
+hint.map.3.start=0x007c0000
+hint.map.3.end=0x007d0000
+hint.map.3.name="cfg"
+hint.map.3.readonly=0
 
+# I'm not sure what this is!
+#
+# It does however start with "55 aa" which is an AR5416 EEPROM
+# magic value, followed by what looks like a set of ethernet
+# MAC addresses, then a bunch of what looks like my local firmware
+# board configuration.
+#
+# For now, I'm going to leave this particular chunk of flash
+# alone.
+#
 hint.map.4.at="flash/spi0"
-hint.map.4.start=0x007f0000
-hint.map.4.end=0x00800000
-hint.map.4.name="art"
+hint.map.4.start=0x007d0000
+hint.map.4.end=0x007e0000
+hint.map.4.name="unknown"
 hint.map.4.readonly=1
+
+# 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201111240737.pAO7bJss083615>