OpenWrt Forum Archive

Topic: Kmz 7.09 on dwl-7100

The content of this topic has been archived on 27 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi all!!
Have DWL-7100 A1 (board name 8WAPD15..6A1G) // mem S29GL032M90TFIR4 // netc IP101A
  IC42S16800-7TG      4(2)M x 8(16) Bits x 4 Banks (128-MBIT) SYNCHRONOUS DYNAMIC RAM

Readed many posts about 2100 but can't find any about 7100 & becouse do all like 2100

See owrt support hardwr
DWL-7100AP     Atheros 5312 @ 220MHz     4MB     Atheros (integrated)  IP101? N/A Yes Yes No WiP
DWL-2100AP  A2     Atheros 2313 @ 180MHz     4MB     Atheros (integrated)  N/A  N/A     Yes Yes No WiP

hhhx WiP ....

i don't build jtag ... tftp + vmWorkx bootloader

next->
download & compile kmz by default
booting & get
AHB interrupt: PROCADDR=0x18201000  PROC1=0x80000a16  DMAADDR=0x00000000  DMA1=0x00000000

so_next->
see posts .... thinking... may bee
TARGET= ap43, BUS=ahb
remove "-EB" option from COPTS in ap43.inc
booting & get
AHB interrupt: PROCADDR=0x18201000  PROC1=0x80000a16  DMAADDR=0x00000000  DMA1=0x00000000

full->

Attached TCP/IP interface to ae0.
Attaching network interface lo0... done.
Loading... 2218152 + 1186528
Starting at 0x80274000...

Linux version 2.6.21.5 (root@alex) (gcc version 4.2.0) #3 Fri Oct 26 18:23:21 MSD 2007
CPU revision is: 00018009
Determined physical RAM map: memory: 01000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Built 1 zonelists.  Total pages: 4064
Kernel command line: console=ttyS0,9600 rootfstype=squashfs,jffs2 init=/etc/preinit
Primary instruction cache 16kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 16kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
PID hash table entries: 64 (order: 6, 256 bytes)
Using 110.000 MHz high precision timer.
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 12644k/16384k available (1953k kernel code, 3740k reserved, 295k data, 976k init, 0k highmem)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Radio config found at offset 0x10000(0x100)
Time: MIPS clocksource has been installed.
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 512 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 512 bind 512)
TCP reno registered
squashfs: version 3.0 (2006/03/15) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0xbc000003 (irq = 37) is a 16550A
eth0: Dropping NETIF_F_SG since no checksum feature.
eth0: Atheros AR231x: 00:17:9a:07:58:bd, irq 3
AHB interrupt: PROCADDR=0x18201000  PROC1=0x80000a16  DMAADDR=0x00000000  DMA1=0x00000000


Please !!! open my eyes & mind smile

(Last edited by Gig_tmb on 27 Oct 2007, 09:29)

Dont help compil with
TARGET= ap30, BUS=ahb
remove "-EB" option from COPTS in ap30.inc
error stay! ..... fu..!

Hi,

I've got 7.09 working on two DWL-7100ap, same hardware as yours.

Here are a couple of diffs showing my changes.

The madwifi target set to ap43

--- kamikaze_7.09_working/package/madwifi/Makefile   2007-10-01 16:48:57.000000000 +0100
+++ kamikaze_7.09/package/madwifi/Makefile    2007-10-01 16:48:57.000000000 +0100
@@ -45,7 +45,7 @@
 BUS:=PCI
 ifneq ($(CONFIG_LINUX_2_6_ATHEROS),)
   BUS:=AHB
-  HAL_TARGET:=ap48
+  HAL_TARGET:=ap43
 endif

I had to add a line in ar2313.c to stop it looking for a second serial port.
Might be a more elegant way to do this...

--- kamikaze_7.09_working/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c        2007-10-01 13:39:06.000000000 +0100
+++ kamikaze_7.09/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c        2007-09-20 09:54:09.000000000 +0100
@@ -182,9 +182,6 @@
        sp->dev = dev;
        sp->cfg = pdev->dev.platform_data;

-       if (pdev->id == 1)
-               return 0;
-
        sprintf(buf, "eth%d_membase", pdev->id);
        res = platform_get_resource_byname(pdev, IORESOURCE_MEM, buf);
        if (!res)

And that's all I did.

Hope that helps or at least encourages you that it is possible!
Jason

Thank you!
Right work.

If see in root of question .... point goes down after twise detecting com port. wink

Do u know what is it?
irq 32, desc: 80271840, depth: 1, count: 0, unhandled: 0->handle_irq():  80087db8, ->chip(): 80263fb0,
->action(): 00000000  IRQ_DISABLED set unexpected IRQ # 32

I did see an IRQ error when using the serial port.
Typing quickly would cause it to occur.
I ignored it as I now telnet into the devices and don't use the serial port.

So something is not quite right with serial port detection and irq handling.

Jason

Hi Jason!
& how u build redboot...?

from what i start ->

i'll build JTAG Tools 0.6-cvs-20051228 without any modifications like u recomend in http://forum.openwrt.org/viewtopic.php?id=12627

yea! it truthly work ... // for other _ do not use includes from brecis for build it from cvs. Download it fresh!

i'll download redboot sources from http://downloads.openwrt.org/sources/
making with platform_gen -> ap43 ...  size of my redboot -> ~260K ... why?
& when i flash it ... in boot sector not space left ... needed some bites smile
if i'll see what do /ramchek & ramponis/ in http://forum.openwrt.org/viewtopic.php?id=6357&p=5
they in the end build redboot with support lzma images...do u know somw about it?

their redboot.bin not lager then 180K & when i flash it .... & at the end, becouse it 2100,
after boot: fis init -f ill get
FLASH: driver init failed: Driver does not support device

ill lay on flash_am29xxxxx_parts.inl diff for support memory .... but 1 trable ... size !
what a u do?

My regards, Dmitry.

|| fo example .....
size of redboot.bin 268.368 byte or 0x3fc41850
when flash it, get ->
writen 268.368 byte or 0x3fc41850
checked 268.336 byte or 0x3fc4184e

not write last some bytes ....
if see guida .... size of boot stack 0x41690
& on idea its not possable write this retboot in !

how a u with this problem?

(Last edited by Gig_tmb on 29 Oct 2007, 14:23)

& in redboot when startup
Ethernet eth0: MAC address
IP: 192.168.0.50/255.255.255.0, Gateway: 192.168.0.1
but net not up? do u have that problem?

I made quite a few changes to redboot, too many to remember. I *think* the crucial ones are here.

These are all hacks to get it working, nothing too subtle or clever.

1 - Fix ethernet.

diff -U 3 -H -d -r -N -x '*.o' -x 'bin*' -x '*.ko' -x '.*' -x 'autoconf*' -x '*.log' -x '*.cdl' -x '*~' -x '*.html' -x '*.cdle' -- redboot_undiffed/ecos-2.0/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c redboot/ecos-2.0/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c
--- redboot_undiffed/ecos-2.0/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c    2004-06-09 23:07:48.000000000 +0100
+++ redboot/ecos-2.0/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c    2007-09-27 11:56:57.000000000 +0100
@@ -186,7 +186,9 @@
 
     sc = (struct eth_drv_sc *)tab->device_instance;
     ae531x_priv = (ae531x_priv_data_t *)sc->driver_private;
-    unit = ae531x_priv->enetUnit;
+//    unit = ae531x_priv->enetUnit;
+
+unit=0;
 
     /* Get ethernet's MAC address from board configuration data */
     mac_addr = enet_mac_address_get(unit);

2 - Define S29GL032M (the 16 bit flash part is what we use)

diff -U 3 -H -d -r -N -x '*.o' -x 'bin*' -x '*.ko' -x '.*' -x 'autoconf*' -x '*.log' -x '*.cdl' -x '*~' -x '*.html' -x '*.cdle' -- redboot_undiffed/ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl redboot/ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl
--- redboot_undiffed/ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl    2004-06-09 23:07:50.000000000 +0100
+++ redboot/ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl    2007-10-07 22:25:43.000000000 +0100
@@ -79,6 +79,30 @@
 //
 #define _LAST_BOOTBLOCK (-1)
 
+
+    {   // S29GL032M, model R4 - boot blocks on the bottom
+        long_device_id: true,
+        device_id  : FLASHWORD(0x7e),
+        device_id2 : FLASHWORD(0x1a),
+        device_id3 : FLASHWORD(0x00),
+        block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+        block_count: 64,
+        device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
+        base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
+        bootblock  : true,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       _LAST_BOOTBLOCK
+                     },
+        banked     : false
+    },
 #if CYGNUM_FLASH_WIDTH == 8
 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F040B
     {   // AM29F040B
@@ -473,6 +497,30 @@
 
 #else // 16 bit devices
 
+    {   // S29GL032M, model R4 - boot blocks on the bottom
+        long_device_id: true,
+        device_id  : FLASHWORD(0x227e),
+        device_id2 : FLASHWORD(0x221a),
+        device_id3 : FLASHWORD(0x2200),
+        block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+        block_count: 64,
+        device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
+        base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
+        bootblock  : true,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       _LAST_BOOTBLOCK
+                     },
+        banked     : false
+    },
+
 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV160
     {   // MBM29LV160-T | AM29LV160-T
         device_id  : FLASHWORD(0x22c4),

3 - Force flash to be used in 16bit mode by setting register value to one we know works.

diff -U 3 -H -d -r -N -x '*.o' -x 'bin*' -x '*.ko' -x '.*' -x 'autoconf*' -x '*.log' -x '*.cdl' -x '*~' -x '*.html' -x '*.cdle' -- redboot_undiffed/ecos-2.0/packages/hal/mips/ar5312/v2_0/src/plf_misc.c redboot/ecos-2.0/packages/hal/mips/ar5312/v2_0/src/plf_misc.c
--- redboot_undiffed/ecos-2.0/packages/hal/mips/ar5312/v2_0/src/plf_misc.c    2004-06-09 23:08:14.000000000 +0100
+++ redboot/ecos-2.0/packages/hal/mips/ar5312/v2_0/src/plf_misc.c    2007-10-07 22:15:19.000000000 +0100
@@ -232,13 +269,15 @@
      * find configuration data.  The flash drivers know how big the flash
      * really is.
      */
-    flash_ctl = FLASHCTL_E |
+/*    flash_ctl = FLASHCTL_E |
                 FLASHCTL_AC_8M |
                 FLASHCTL_RBLE |
+//                FLASHCTL_MWx16 |
                 (0x01 << FLASHCTL_IDCY_S) |
                 (0x07 << FLASHCTL_WST1_S) |
                 (0x07 << FLASHCTL_WST2_S) |
-                flash_ctl;
+                flash_ctl; */
+    flash_ctl = 0x100e3ce1;
 
     HAL_WRITE_UINT32(AR531X_FLASHCTL0, flash_ctl);

These are the only changes I've found.
Hope they help!

Jason

Hi! Jason!
May be u tired from my questions? smile

but......................... - >
ill apply all & something else ....
.... load rams via tftp ....
& get thet ->

... Resetting.
+

RedBoot startup
FLASH configuration checksum error or invalid key

may by it incorrectly defined blocks?
size of rom > 0x41890 ->i applyed diff on flash_ctl = 0x100e3ce1; plf_misc.c

Ethernet eth1: MAC address 00:17:9a:07:58:bd
IP: 192.168.0.52/255.255.255.0, Gateway: 192.168.0.1
Default server: 0.0.0.0, DNS server IP: 0.0.0.0
RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version v2_0 - built 14:38:23, Oct 30 2007

Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x80000400-0x80800000, 0x80000400-0x807e1000 available
FLASH: 0xbe000000 - 0xbe3e0000, 62 blocks of 0x00010000 bytes each.

ill like u, appled diff on flash_am29xxxxx_parts.inl but with other dev's id & get


RedBoot> fis init -f
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
   initialization failed 0xbe050000: Device/region is write-protected
Error erasing FIS directory at 0xbe3d0000: Device/region is write-protected

in what including protect? & what it delete?

RedBoot> fis -list
Name              FLASH addr  Mem addr    Length      Entry point
AR531Xae(0,0):vmlinux.e e=192.168.0.50:0xffffff00 h=192.168.0.2 f=0x80 o=ae  0x6C696E75  0x782E6520  0x653D3139  0x322E3136

what it means? it somthing from vxWorks

RedBoot> fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true false
Gateway IP address: 
Local IP address: 192.168.0.1..50
Local IP address mask: 
Default server IP address: 
Console baud rate: 9600
DNS server IP address: 
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
Error erasing FIS directory at 0xbe3d0000: Device/region is write-protected

save configuration .... Error !

Help! With regards Dmitry

Not too tired of questions yet wink
It's a pleasure to try and help.
With luck the next person to try this should some of the answers here!

FLASH configuration checksum error or invalid key

This is to be expected until you initialise flash.
"fis -list" shows nonsense until the fis has been init'ed.

I didn't run "fis init -f" until the device had booted from flash.
I am guessing that the flash has been protected by the redboot ram version... which doesn't really make sense as we use it to write the flash.

If I detail the steps I used to get redboot and linux onto the DWL7100ap you might spot something you can use. *WARNING* Obviously there is a strong possibility you could brick the device. I had taken a backup of the original firmware via jtag so I was happy to erase the flash.
But I did my second one in under an hour including disassembly and soldering so I'm confident it works.

Bold items are what you need to type in.

Set vxworks to grab redboot.bin (version running from ram) from tftp server
Change the file name, inet on ethernet and host inet addresses as needed or you wont get far :-)

Power up!
Press ESC down until you see the Boot prompt

c - change boot params

boot device          : tffs:0 ae0
processor number     : 0
host name            :
file name            : /fl/APIMG1 redboot.bin
inet on ethernet (e) : 192.168.1.20:0xffffff00 192.168.0.50:0xffffff00
inet on backplane (b):
host inet (h)        : 192.168.0.13
gateway inet (g)     :
user (u)             :
ftp password (pw) (blank = use rsh):
flags (f)            : 0x0 0x80
target name (tn)     :
startup script (s)   :
other (o)            : ae
@

The @ reboots the device.
redboot.bin should be pulled from the tftp server and you should be at the redboot command prompt. Ignore the warnings about FLASH configuration!

Write a version of redboot into flash

Again change the IP addresses (X.X.X.X) to suit. -l = dwl7100ap address -h = tftp server address.
The file redboot.rom is the version designed to run from rom. Change the name to whatever you called yours.  The option -l 269072 refers to the size of the file. Change the value to match your filesize.

I've not shown much of the output from redboot.
It should flash and verify in a few seconds.
The reset command will reboot. redboot will then be loaded directly from flash.

ip_address -l X.X.X.X -h X.X.X.X
load -r -b %{FREEMEMLO} redboot.rom
fis write -b %{FREEMEMLO} -l 269072 -f 0xbfc00000
reset

Setup redboot and install openwrt
As ever, IP addresses to be changed to fit your setup.

fis init -f  (Say yes to this!)

ip_address -l X.X.X.X -h X.X.X.X

Load and flash the compressed kernel

load -r -v -b 0x80041000 openwrt-atheros-2.6-vmlinux.gz
fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.gz

Load and flash the rootfs

load -r -v -b 0x80041000 openwrt-atheros-2.6-root.squashfs
fis create -b 0x80041000 -l 0x00220000 -e 0x00000000 rootfs

Configure redboot to start linux after a ten second pause.
Replace the x.x.x.x's as appropriate...

RedBoot> fconfig
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load -b 0x80041000 -d vmlinux.bin.gz
>> go
>>
Boot script timeout (1000ms resolution): 10
Use BOOTP for network configuration: false
Gateway IP address:  X.X.X.X
Local IP address: X.X.X.X
Local IP address mask:  X.X.X.X
Default server IP address:  X.X.X.X
Console baud rate: 9600
DNS server IP address: X.X.X.X
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y

reset

Sorry, I've used your thread to dump all this into. Consider it the first cut of a howto wink
Let me know how you get on, more questions might get me remembering more of what I've done.
Good luck!

Jason

(Last edited by afgain on 31 Oct 2007, 21:54)

Hi! Jason!

It's me again smile

Redboot i load by jtag (redboot.rom from build.ROM_ap43 folder)

jtag> cable ...
jtag> detect
jtag> poke 0x58400000 0x100e3ce1
jtag> detectflash 0x3fc00000
jtag> flashmem 0x3fc00000 redboot.rom

i don't do redmem smile & my original boot lost!

but if u wirite booting via vmworx ....
  ... ill boot from rom .... then via rom ill loading ram from ftp
i think is look like u do!

rom:

ip_address -l 192.168.0.50 -h 192.168.0.1
load redboot.img                                       ///// redboot.img from build.RAM_ap43 folder

ram:

ip_address -l 192.168.0.50 -h 192.168.0.1
load -r -b %{FREEMEMLO} redboot.rom
fis write -b %{FREEMEMLO} -l 268432 -f 0xbfc00000   ///// our size of file 268432

on fis write got this ->

Invalid FLASH address 0xbfc00000: Invalid FLASH address valid range is 0xbe000000-0xbe3dffff

on start fis write from valid range

fis write -b %{FREEMEMLO} -l 268432 -f 0xbe000000  ///// our size of file 268432
Device/region is write-protected again!

Someone, ramponis may be, don't remember, write about error like that,
..... it's looks like -> Device/region is write-protected again! Ill remove protection & rebuild redboot....
may be problem in that?
I searching in google & yahoo & and other something about this, but nothing found ... may be i look not there smile


With my regards, Dmitry.

(Last edited by Gig_tmb on 31 Oct 2007, 16:34)

Hi Dmitri,

I found another file I changed... It should make a big difference!

openwrt/redboot/ecos-2.0/packages/hal/mips/dwl7100ap/v2_0/src/plf_flash.c

Sorry not a patch this time just an extract of the file.
It changes how the flash is used, memory base and bus width.
And I remd the ifdef for reasons I don't recall!

#define CYGNUM_FLASH_WIDTH      (16)
#define CYGNUM_FLASH_16AS8      0
#define CYGNUM_FLASH_BASE       (0xbfc00000)

//#ifdef CYGINT_DEVS_FLASH_AMD_AM29XXXXX_REQUIRED
#include "cyg/io/flash_am29xxxxx.inl"
//#endif

If you have jtag working I strongly encourage you to make a backup of the last 128K of the flash as it contains vital data. Wipe this out and it will not boot.

Jason

Hi Jason!

We have next problem:

ath0 not work
ath1 work

boot:

wlan: 0.8.4.2 (svn r2568)
ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.30.13 (AR5212, AR5312, RF5111, RF5112)
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (svn r2568)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
wlan: mac acl policy registered
ath_ahb: 0.9.4.5 (svn r2568)
ath_pci: switching rfkill capability off
ath_pci: switching per-packet transmit power control off
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 5.7 phy 4.2 radio 3.6
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 5312 WiSoC: mem=0xb8000000, irq=2
ath_pci: switching rfkill capability off
ath_pci: switching per-packet transmit power control off
wifi1: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi1: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi1: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi1: H/W encryption support: WEP AES AES_CCM TKIP
wifi1: mac 5.7 phy 4.2 radio 4.6
wifi1: Use hw queue 1 for WME_AC_BE traffic
wifi1: Use hw queue 0 for WME_AC_BK traffic
wifi1: Use hw queue 2 for WME_AC_VI traffic
wifi1: Use hw queue 3 for WME_AC_VO traffic
wifi1: Use hw queue 8 for CAB traffic
wifi1: Use hw queue 9 for beacons
wifi1: Atheros 5312 WiSoC: mem=0xb8500000, irq=5

we see:

ath0      IEEE 802.11g  ESSID:"OpenWrt1"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/70  Signal level=-96 dBm  Noise level=-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ath1      IEEE 802.11g  ESSID:"OpenWrt2"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=62/70  Signal level=-34 dBm  Noise level=-96 dBm
          Rx invalid nwid:30  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wi-fi client see ESSID:"OpenWrt2"

in terminal (com):

wifi0: stuck beacon; resetting (bmiss count 11)
wlanconfig ath0 list active

Channel   1 : 2412  Mhz 11g          Channel  48 : 5240  Mhz 11a Dynamic
Channel   2 : 2417  Mhz 11g          Channel  50 : 5250  Mhz 11a Static
Channel   3 : 2422  Mhz 11g          Channel  52 : 5260  Mhz 11a
Channel   4 : 2427  Mhz 11g          Channel  56 : 5280  Mhz 11a Dynamic
Channel   5 : 2432  Mhz 11g          Channel  58 : 5290  Mhz 11a Static
Channel   6 : 2437  Mhz 11g Dynamic  Channel  60 : 5300  Mhz 11a
Channel   7 : 2442  Mhz 11g          Channel  64 : 5320  Mhz 11a
Channel   8 : 2447  Mhz 11g          Channel 149 : 5745  Mhz 11a
Channel   9 : 2452  Mhz 11g          Channel 152 : 5760  Mhz 11a Static
Channel  10 : 2457  Mhz 11g          Channel 153 : 5765  Mhz 11a Dynamic
Channel  11 : 2462  Mhz 11g          Channel 157 : 5785  Mhz 11a
Channel  36 : 5180  Mhz 11a          Channel 160 : 5800  Mhz 11a Static
Channel  40 : 5200  Mhz 11a Dynamic  Channel 161 : 5805  Mhz 11a Dynamic
Channel  42 : 5210  Mhz 11a Static   Channel 165 : 5825  Mhz 11a

manipulations:

iwconfig ath0 channel 36

iwconfig

ath0      IEEE 802.11g  ESSID:"OpenWrt1"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/70  Signal level=-96 dBm  Noise level=-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

What is problem?

Can frequency be above than 5825Mhz? For example: 5925Mhz (802.11a) (up to 6100Mhz?)

Gig_tmb wrote:

Hi Jason!

We have next problem:

ath0 not work
ath1 work

boot:

wlan: 0.8.4.2 (svn r2568)
ath_hal: module license 'Proprietary' taints kernel.
ath_hal: 0.9.30.13 (AR5212, AR5312, RF5111, RF5112)
ath_rate_minstrel: Minstrel automatic rate control algorithm 1.2 (svn r2568)
ath_rate_minstrel: look around rate set to 10%
ath_rate_minstrel: EWMA rolloff level set to 75%
ath_rate_minstrel: max segment size in the mrr set to 6000 us
wlan: mac acl policy registered
ath_ahb: 0.9.4.5 (svn r2568)
ath_pci: switching rfkill capability off
ath_pci: switching per-packet transmit power control off
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: mac 5.7 phy 4.2 radio 3.6
wifi0: Use hw queue 1 for WME_AC_BE traffic
wifi0: Use hw queue 0 for WME_AC_BK traffic
wifi0: Use hw queue 2 for WME_AC_VI traffic
wifi0: Use hw queue 3 for WME_AC_VO traffic
wifi0: Use hw queue 8 for CAB traffic
wifi0: Use hw queue 9 for beacons
wifi0: Atheros 5312 WiSoC: mem=0xb8000000, irq=2
ath_pci: switching rfkill capability off
ath_pci: switching per-packet transmit power control off
wifi1: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi1: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi1: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi1: H/W encryption support: WEP AES AES_CCM TKIP
wifi1: mac 5.7 phy 4.2 radio 4.6
wifi1: Use hw queue 1 for WME_AC_BE traffic
wifi1: Use hw queue 0 for WME_AC_BK traffic
wifi1: Use hw queue 2 for WME_AC_VI traffic
wifi1: Use hw queue 3 for WME_AC_VO traffic
wifi1: Use hw queue 8 for CAB traffic
wifi1: Use hw queue 9 for beacons
wifi1: Atheros 5312 WiSoC: mem=0xb8500000, irq=5

we see:

ath0      IEEE 802.11g  ESSID:"OpenWrt1"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/70  Signal level=-96 dBm  Noise level=-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ath1      IEEE 802.11g  ESSID:"OpenWrt2"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=62/70  Signal level=-34 dBm  Noise level=-96 dBm
          Rx invalid nwid:30  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wi-fi client see ESSID:"OpenWrt2"

in terminal (com):

wifi0: stuck beacon; resetting (bmiss count 11)
wlanconfig ath0 list active

Channel   1 : 2412  Mhz 11g          Channel  48 : 5240  Mhz 11a Dynamic
Channel   2 : 2417  Mhz 11g          Channel  50 : 5250  Mhz 11a Static
Channel   3 : 2422  Mhz 11g          Channel  52 : 5260  Mhz 11a
Channel   4 : 2427  Mhz 11g          Channel  56 : 5280  Mhz 11a Dynamic
Channel   5 : 2432  Mhz 11g          Channel  58 : 5290  Mhz 11a Static
Channel   6 : 2437  Mhz 11g Dynamic  Channel  60 : 5300  Mhz 11a
Channel   7 : 2442  Mhz 11g          Channel  64 : 5320  Mhz 11a
Channel   8 : 2447  Mhz 11g          Channel 149 : 5745  Mhz 11a
Channel   9 : 2452  Mhz 11g          Channel 152 : 5760  Mhz 11a Static
Channel  10 : 2457  Mhz 11g          Channel 153 : 5765  Mhz 11a Dynamic
Channel  11 : 2462  Mhz 11g          Channel 157 : 5785  Mhz 11a
Channel  36 : 5180  Mhz 11a          Channel 160 : 5800  Mhz 11a Static
Channel  40 : 5200  Mhz 11a Dynamic  Channel 161 : 5805  Mhz 11a Dynamic
Channel  42 : 5210  Mhz 11a Static   Channel 165 : 5825  Mhz 11a

manipulations:

iwconfig ath0 channel 36

iwconfig

ath0      IEEE 802.11g  ESSID:"OpenWrt1"  Nickname:""
          Mode:Master  Frequency:2.412 GHz  Access Point: 00:17:9A:07:58:BD
          Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=1/1
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/70  Signal level=-96 dBm  Noise level=-96 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

What is problem?

Can frequency be above than 5825Mhz? For example: 5925Mhz (802.11a) (up to 6100Mhz?)

I think ath0 is only 11a

bmiss count 11 -> 802.11b miss ?

HW watchdog [y]
memcap valid [n]
wlan0 mac address [00:19:5b:xx:xx:xx]: 
wlan1 mac address [00:19:5b:xx:xx:xx]: 
enet0 mac address [00:19:5b:xx:xx:xx]: 
enet1 mac address [00:19:5b:xx:xx:xx]:
major [1]:
minor [0]:
pciid [0013]:
wlan0 enabled [y]:
wlan0 5G enabled [y]:
wlan0 2G enabled [n]:
wlan1 enabled [y]: 
wlan1 5G enabled [n]:
wlan1 2G enabled [y]: 
enet0 enabled [y]:
enet1 enabled [n]:
uart0 (console) enabled [y]:
sysled enabled [y]
sysled gpio [7]
factory reset enabled [y]
factory reset gpio [6]

Lee

(Last edited by LEE on 5 Nov 2007, 18:03)

Setting ath0 to channel 60 an 11a frequency stopped the beacon messages.
Can't confirm that ath0 is working on my devices as my wifi snooping card is only good for 2.4ghz.
Will try and disable ath1 and see if it still works...

Interesting list of hardware settings LEE what command did you use to produce it?
I'll also try running ath0 on 11g and disabling ath1 to see if I can confirm that ath0 is 11a only.
I haven't seen anything to say it is, everything I've read about the chipset makes me believe it should be b,g & a capable. However the antennas might not be good for anything other than 11a.

Jason

Hi!

ath0 is working only 11a

Solution has found here: http://madwifi.org/ticket/1003

I did so:

wlanconfig ath0 destroy
wlanconfig ath1 destroy
wlanconfig ath create wlandev wifi0 wlanmode ap
wlanconfig ath create wlandev wifi1 wlanmode ap
iwpriv ath0 mode 11a /////with: iwpriv ath0 mode 11g error: wifi0: stuck beacon; resetting (bmiss count 11)
iwpriv ath1 mode 11g 
iwconfig ath0 essid "1" channel 36
iwconfig ath1 essid "2" channel 11
ifconfig ath0 up
ifconfig ath1 up

wi-fi client see ESSID:"1"; ESSID:"2"

Where it to search?

Lee wrote:

bmiss count 11 -> 802.11b miss ?

Code:
HW watchdog [y]
memcap valid [n]
wlan0 mac address [00:19:5b:xx:xx:xx]:
wlan1 mac address [00:19:5b:xx:xx:xx]:
enet0 mac address [00:19:5b:xx:xx:xx]:
enet1 mac address [00:19:5b:xx:xx:xx]:
major [1]:
minor [0]:
pciid [0013]:
wlan0 enabled [y]:
wlan0 5G enabled [y]:
wlan0 2G enabled [n]:
wlan1 enabled [y]:
wlan1 5G enabled [n]:
wlan1 2G enabled [y]:
enet0 enabled [y]:
enet1 enabled [n]:
uart0 (console) enabled [y]:
sysled enabled [y]
sysled gpio [7]
factory reset enabled [y]
factory reset gpio [6]

Lee

With my regards, Dmitry.

ath0 11a enable
/etc/config/wireless

option channel 36
option agmode 11a

You guys rock! smile

Unfortunately it appears that I don't, because I'm still stuck at square one (i.e. post #1). roll

I’ve tried everything in this thread and all that seemed even remotely applicable from the large dwl-2100ap thread, but I’m still getting the same
“AHB interrupt: PROCADDR=0x18201000  PROC1=0x80000a16  DMAADDR=0x00000000  DMA1=0x00000000† error exactly as described in Dmitry initial post.

I have a dwl-7100ap A1, board revision 8WAPD15..5A1 with the same IC’s as Dmitry’s except it has an Atmel AT49BV322A flash chip. (But since I’m still only tftp-booting openwrt the fash difference shouldn’t matter, should it?)


Any hints or ideas on what I might be doing wrong (or try next), please?
Or, could anybody send me a tar-file with a patched openwrt-source tree that should work?

NMI wrote:

You guys rock! smile

“AHB interrupt: PROCADDR=0x18201000  PROC1=0x80000a16  DMAADDR=0x00000000  DMA1=0x00000000† error exactly as described in Dmitry initial post.

Look better!

download src->find

kamikaze_7.09/target/linux/atheros-2.6/files/drivers/net/ar2313/ar2313.c

find same strings ->
       
        sp->dev = dev;
        sp->cfg = pdev->dev.platform_data;

& add under this strings
   
   if (pdev->id == 1)
              return 0;

Thanks, I found the problem. I was assuming that the build environment would be clever enough to recognize the updated file and recompile everything that needed to be recompiled after my change without me having to "make clean".

I have now booted OpenWrt! smile


I was also able to tftp-boot a working version of redboot, and proceeded to flash the ROM-version as per Jason’s instructions.
The write to flash went without a hitch, but when the AP rebooted nothing happened and I realized I had bricked it.

I’m currently trying to reflash my backup of the original FW, but JTAG just gives me a “flash error†. So I’ll try to use OCD commander to erase the flash as suggested in the “Bootloader/Image for a DLink DWL-2100AP†, but since I have a different flash chip than in the examples I haven’t nailed the right command sequence just yet. But Im working on it!

But trying to use OCD Commander turned ot to be a lenghty process.
(The linux version of OCD don’t support the wiggler interface and my windows workstation don’t have anything as antiquated as a parallel port. The parallel port on my old laptop didn’t work correctly with OCD commander, etc, etc).

So I ended up fixing the problem in jtag-brecis-ok that prevented it from erasing my AT49BV322A flash instead!
(Warning code butchery below.)

--- libbrux/flash/amd.c.orig    2007-11-17 20:50:52.000000000 +0100
+++ libbrux/flash/amd.c 2007-11-17 20:30:59.000000000 +0100
@@ -239,10 +239,10 @@
        /*      printf("protected: %d\n", amdisprotected(ps, adr)); */
 
        bus_write( bus, address + (0x0555 << o), 0x00aa00aa ); /* autoselect p29, sector erase */
-       bus_write( bus, address + (0x02aa << o), 0x00550055 );
+       bus_write( bus, address + (0x0aaa << o), 0x00550055 );
        bus_write( bus, address + (0x0555 << o), 0x00800080 );
        bus_write( bus, address + (0x0555 << o), 0x00aa00aa );
-       bus_write( bus, address + (0x02aa << o), 0x00550055 );
+       bus_write( bus, address + (0x0aaa << o), 0x00550055 );
        bus_write( bus, adr, 0x00300030 );
 
        if (amdstatus( bus, adr, 0xffff )) {

Now on to the task of creating a working redboot.rom! smile


Jason appears to have this file:
openwrt/redboot/ecos-2.0/packages/hal/mips/dwl7100ap/v2_0/src/plf_flash.c

That implies to me that he is not using the default ap43 platform but has created his own dwl7100ap platform?
If so, how was that done, gen_platform? What options?

NMI wrote:

Jason appears to have this file:
openwrt/redboot/ecos-2.0/packages/hal/mips/dwl7100ap/v2_0/src/plf_flash.c

its setup use memory in 16bit mode nothing more....]
..... for amtel see...
guida del....V2 & wiki for dwl-2100

in gen_platform i use ap43

SUCCESS!!!!!!!!

BusyBox v1.8.1 (2007-11-19 10:27:24 CET) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
|       |.-----.-----.-----.|  |  |  |.----.|  |_
|   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
|_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
KAMIKAZE (bleeding edge, r9579) -------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
---------------------------------------------------
root@OpenWrt:~#

Hope you don’t mind me highjacking your tread Dmitry, but I do believe I’m still on <topic>, so I’ll dump some random ramblings here in case somebody else like me without any prior knowledge of OpenWrt decides to try to install it on their 7100.

Now where's that how-to/wiki page? smile


Pinout of the serial port JP2:

( ) TX
( ) GND
( ) Vcc

( ) RX


Redboot:
The redboot.tar.bz2 archive doesn’t appear to have the write flag set for the owner?!?!?
So initially I got a lot of strange permissioned denied errors, but Chmod –R u+w fixed that problem.


To add support for the AT49BV322A to redboot, follow the instructions for the dwl-2100ap. I.e:

--- ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx.inl.orig    2007-11-19 18:17:04.000000000 +0100
+++ ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx.inl2007-11-17 23:06:41.000000000 +0100
@@ -64,6 +64,8 @@
 //
 //==========================================================================
 
+#define CYGHWR_FLASH_AM29XXXXX_NO_WRITE_PROTECT
+
 #include <pkgconf/hal.h>
 #include <pkgconf/devs_flash_amd_am29xxxxx.h>
 #include <cyg/hal/hal_arch.h>
--- ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl.orig      2007-11-19 18:16:51.000000000 +0100
+++ ecos-2.0/packages/devs/flash/amd/am29xxxxx/v2_0/include/flash_am29xxxxx_parts.inl   2007-11-17 23:04:27.000000000 +0100
@@ -79,6 +79,27 @@
 //
 #define _LAST_BOOTBLOCK (-1)
 
+{   // AT49BV322A
+        device_id  : FLASHWORD(0xc8),
+        block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+        block_count: 64,
+        device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
+        base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
+        bootblock  : true,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       _LAST_BOOTBLOCK
+                     },
+        banked     : false
+    },
+
 #if CYGNUM_FLASH_WIDTH == 8
 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29F040B
     {   // AM29F040B
@@ -473,6 +494,27 @@
 
 #else // 16 bit devices
 
+ {   // AT49BV322A
+        device_id  : FLASHWORD(0x00c8),
+        block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
+        block_count: 64,
+        device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
+        base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
+        bootblock  : true,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+                       _LAST_BOOTBLOCK
+                     },
+        banked     : false
+    },
+
 #ifdef CYGHWR_DEVS_FLASH_AMD_AM29LV160
     {   // MBM29LV160-T | AM29LV160-T
         device_id  : FLASHWORD(0x22c4),

Trying to use gen_platform failed for me due to: tail: cannot open +2 for reading: No such file or directory.

But adding the the following lines to gen_platform fixes that (borrowed from ramcheck in the 2100 thread):

@@ -137,6 +137,7 @@
 ecosconfig new atheros_$AP redboot
 ecosconfig import $ECOS_REPOSITORY/hal/mips/$AP/v2_0/misc/redboot_RAM.ecm
 ecosconfig tree
+sed -ie 's/tail +2/tail -n 2/' $(grep -rl "tail +2" *)
 make
 
 cd ..
@@ -148,6 +149,7 @@
 ecosconfig new atheros_$AP redboot
 ecosconfig import $ECOS_REPOSITORY/hal/mips/$AP/v2_0/misc/redboot_ROM.ecm
 ecosconfig tree
+sed -ie 's/tail +2/tail -n 2/' $(grep -rl "tail +2" *)
 make
 cd install/bin
 mipsisa32-elf-objcopy -O binary redboot.elf redboot.rom

Other than that I just followed your and Jasons excellent instructions, with one slight alteration; checking the flash layout afterwards I came to realise that I had 320KB flash unused (i.e. wasted!), that could be added to the rootfs.

So at least for me a better command where:

load -r -v -b 0x80041000 openwrt-atheros-2.6-root.squashfs
fis create -b 0x80041000 -l 0x00270000 -e 0x00000000 rootfs

that gave me an additional 320KB of badly needed "disk space".


Now for the next step:

Has anyone been able to locate any GPIO-lines other than the power-led and reset-button on the 7100?

I really, really, really want to add a MMC (SD) card to my 7100, but even though the power-led and the reset-button works exactly as on the 2100 I haven’t been able to find any trace (pun intended) of the other GPIO-ports. sad

(Last edited by NMI on 19 Nov 2007, 18:50)

Going will master road ! wink

.... I really, really, really want to add a MMC (SD) card to my 7100 to .... but
.... cant find anything about it

.... In redboot everyone went his own way, all apply many diff's 2100 topic ...
.... one of there patching gen_platform...

may be find some about SD/MMC/CF on 7100 together?
mm? NMI!

OK!

To be able to utilize a MMC card we need four GPIO-pins and so far I confirmed two (power-led and reset-button), but we need two more (preferably four more since I’d prefer to use the power-led and reset-button for other matters).
This is how far my investigation has gotten (and where it might end):

My start off point was erebus post in the 2100 thread:

erebus wrote:

Besides patched linux it's possible to operate them from RedBoot using mfill command. The output register is located at 0xbc002000 and only 8 least significant bits has meaning (so it is actually located at 0xbc002003). The same holds true for the input register located at 0xbc002004. Control register is located at 0xbc002008 and 8 least significant bits control IO direction (0 stands for output and 1 for input). It looks like other bits in control register has some meaning but I've not tested them.
The way to light up Power LED from RedBoot is:

mfill -b 0xbc002008 -l 0x04 -p 0x0000007f -4  // set seventh bit direction to output
mfill -b 0xbc002000 -l 0x04 -p 0x00000080 -4  // set seventh bit

You can also watch Reset Button state with dump -b 0xbc002004 command.

This holds true for the 7100 also; I can toggle the power-led and watch the reset button on the 7100 just as he did on the 2100.

Unfortunately it appears that the similarity ends there.

erebus wrote:

But that's not all smile After some poking with multimeter I've found five more GPIO pins. All of these were vias but had larger pads and were marked with TP* signs. Here's the bit-to-pin correspondence that's true for rev.A4 device:

bit  pin
 0    ?
 1   TP1
 2   TP4
 3   TP6
 4   TP5
 5   TP2
 6   Reset Button
 7   Power LED

There are no pads marked TP1-TP5 on the 7100 board. There is a marking TP6 with a pad nearby, but it does not appear to be a GPIO-pad. sad

Making all 7 GPIOs outputs and toggling them using mfill in redboot in an effort to locate them on the circuit board has not appeared to damage my 7100, but I can’t give any guaranties.

(Of course there is the possibility that none of the other GPIOs have been given lines out from the BGA making any effort to find them fruitless, but lets hope that is not the case!)

(Last edited by NMI on 19 Nov 2007, 20:11)

The discussion might have continued from here.