OpenWrt Forum Archive

Topic: Another Siemens SE505 upgrade

The content of this topic has been archived between 29 Mar 2018 and 2 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

For those who are still interested in Siemens SE505, this is my mod:

Installed 64MB SDRAM
Installed 8MB FLASH
Installed 4-port USB hub (internal)
Installed 512MB USB Stick (internal)
Installed self compiled (and modified CFE)
Installed White Russian 0.9

Here're some more details.

1. 64MB RAM
Following the instructions in this forum the installation of RAM was quite easy. But as expected CFE could only access 32MB. Since original CFE doesn't accept new SDRAM parameters I had to compile my own CFE. It turned out that the CFE sources delivered by Siemens are not the CFE which is installed on the SE505. After disassembling the original start up code I could modify the Siemens sources and compile a working CFE. Additionally I have added the following features:

a) Pressing reset button during power up starts CFE with default SDRAM parameters, erases NVRAM area and writes back default values.
b) Support for TOSHIBA top boot Flash devices
c) Enabled additional CFE commands (read/modify memory, disassemble ...)

Decompressing...........done

Here we try to capture the default reset button: None


CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Di Jan 30 21:03:17 CET 2007 (funnel@cyriax)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena.
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.60.13.0
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)

Total memory used by CFE:  0x80300000 - 0x8043CDC0 (1297856)
Initialized Data:          0x80335AE0 - 0x803395F0 (15120)
BSS Area:                  0x803395F0 - 0x8033ADC0 (6096)
Local Heap:                0x8033ADC0 - 0x8043ADC0 (1048576)
Stack Area:                0x8043ADC0 - 0x8043CDC0 (8192)
Text (code) segment:       0x80300000 - 0x80335AE0 (219872)
Boot area (physical):      0x0043D000 - 0x0047D000
Relocation Factor:         I:00000000 - D:00000000

Device eth0:  hwaddr 00-01-E3-0E-95-C4, ipaddr 192.168.2.1, mask 255.255.255.0
        gateway not set, nameserver not set
Reading :: Failed.: Interrupted






CFE> help
Available commands:

et                  Broadcom Ethernet utility.
nvram               NVRAM utility.
reboot              Reboot.
set console         Change the active console device
loop                Loop a command
flash               Update a flash memory device
memtest             Test memory.
f                   Fill contents of memory.
e                   Modify contents of memory.
d                   Dump memory.
u                   Disassemble instructions.
autoboot            Automatic system bootstrap.
batch               Load a batch file into memory and execute it
go                  Verify and boot OS image.
boot                Load an executable file into memory and execute it
load                Load an executable file into memory without executing it
save                Save a region of memory to a remote file via TFTP
ping                Ping a remote IP host.
arp                 Display or modify the ARP Table
ifconfig            Configure the Ethernet interface
show heap           Display information about CFE's heap
show memory         Display the system physical memory map.
show devices        Display information about the installed devices.
unsetenv            Delete an environment variable.
printenv            Display the environment variables
setenv              Set an environment variable.
help                Obtain help for CFE commands

For more information about a command, enter 'help command-name'
*** command status = 0

This new CFE is very robust, with the help of reset button it boots even with completely wrong SDRAM parameters. Unfortunately I could not find out SDRAM parameters which enable the whole 64MB. If someone wants to play with this you can find my CFE here:

ftp://funnel.homelinux.net/se505/cfe/cfez.bin

ATTENTION! This CFE is only tested on my SE505 with 64MB RAM, 8MB FLASH and reset button mod. I expect this CFE to run on any unmodified SE505 but I can't guarantee, so use on your own risk (and have JTAG tools nearby). If one wants to use it (and maybe finds working SDRAM parameters) please report your results.

2. 8MB FLASH
My experience with 8MB TOSHIBA FLASH device was already reported here:

http://forum.openwrt.org/viewtopic.php?id=8999

Since I could not manage to make A21 work I mounted a switch at A21 which gives me 2 partitions of each 4MB FLASH (this switch lets me enable the lower or upper 4MB of the 8MB FLASH device). This feature turned out to be very helpful while working on CFE. When I installed a new CFE which didn't boot (which happens regularly) I just activated the other partition, booted and installed a new CFE. I never had to use (the really slow) JTAG tools to install a new CFE. Right now I have the original firmware installed on the upper partition and Openwrt on the lower partition. With the switch I can choose which one to boot. A picture of this mod can be found here:

ftp://funnel.homelinux.net/se505/pictur … ash_sw.JPG

Of course I had to modify Openwrt to run on my 8MB FLASH (CFI query still reports 8MB FLASH while only 4MB are accessible) but this is just 3 lines of code.

3. USB hub and memory stick

This part I really like most. After retrofitting USB to my SE505 (well described in this forum) I installed an 4-port USB hub (2 ports internal and 2 ports external) and a 512MB memory stick. Just look at the pictures:

ftp://funnel.homelinux.net/se505/pictur … de_usb.JPG
ftp://funnel.homelinux.net/se505/pictur … mplete.JPG
ftp://funnel.homelinux.net/se505/pictur … de_usb.JPG

Regards
Funnel

Hi Funnel,

as far as I know the CFE version used in SE505, F5D7230-4 and other BCM4712 devices doesn't care about the SDRAM NVRAM parameters  (use grep).

I'd like to know how you created a new CFE. There might be a way to initialize the RAM controller correctly  (with the help of the information from the CFE docs). I tried to download your CFE, but currently your server can't be reached. Please check if it is online!

Cheers
/T

Hi Timo,

you're right, the original CFE doesn't care about SDRAM parameters, that's the reason why I spent some time to create my own version. My server should be up again, please test it and give me your feedback. If you still have trouble downloading it I can send it via mail.

Regards
Funnel

Is it possible to boot OS on SE505 directly from USB Pen Drive , using your modified CFE on flash ?

Best Regards
Pawel

Hi Pawel,

the CFE version I'm using has no build in USB support, so there's no way to boot from a USB drive. As far as I know newer versions of CFE have some limited USB support, but I never tried this.

Regards
Funnel

ok, downloaded the cfe and played arround a little...

the RAM-init is still not ok...

- if i set sdram_ncdl=0, it should be recalculated... with your CFE it isn't.

- Router only boots if i set an sdram_init indicating DDRam (bit0=1), which is the ignored and the router boots up as with default cfe.
if i set an sdram_init with bit0=0 (SDRam), router doesn't boot up...

so far my quick results...

(link to the sdram_init settings http://wl500g.dyndns.org/sdram.html)

axc27

O.K. I can see the problem. I'll try to fix it as soon as possible.

Thanks for testing.

@Funnel

could you perhaps put your modified CFE-Source (or a diff of yours against the Siemens-one) online, so we can play around with it?

THNX

Hi axc27,

since yesterday evening my SE505 is running stable with 64MB RAM. Let me do some final testing and code cleanup then I will release a new CFE version somewhen this weekend. If it's reported to work reliable I will release the sources as a patch against the original Siemens code.

Regards
Funnel

thnaks! that sounds fine.

good job!

axc27

Finally my SE505 is running with 64MB RAM now!

Just some words before installing the new CFE. I have tested it on a SE505 with 64MB RAM and reset button mod and on a totally unmodified SE505, both worked fine. Here's the way I have implemented the reset button:

1. Pressing the reset button during power up starts CFE with hard coded default values for the memory controller (sdram_init=0x0002, sdram_config=0x0033, sdram_ncdl=0x0000). These values should boot CFE on any SE505. NVRAM values are not altered.

2. Pressing the reset button during power up for more than 15 seconds erases the NVRAM area and writes default values.


For installing the new CFE I suggest the following procedure:

1. Boot your already installed CFE and set sdram_init=0x0002, sdram_config=0x0033, sdram_ncdl=0x0000 (don't forget to commit)
2. Install the new CFE
3. Reboot. CFE should report 8MB RAM now (or 16MB if you have already installed 2 RAM chips)
4. To get 64MB now you have to set sdram_init=0x0008, sdram_config=0x0033, sdram_ncdl=0x0000 (again, don't forget to commit)
5. Reboot

Here you can get the new CFE:

ftp://funnel.homelinux.net/se505/cfe/cfez_64.bin

I would be happy to get some feedback.

Regards
Funnel

Yeah baby Yeah!

one of my 32MB se505 boots up fine with the new cfe!

CFE version 1.0.37 for BCM947XX (32bit,SP,LE)
Build Date: Fr Feb 23 20:55:54 CET 2007 (funnel@cyriax)
Copyright (C) 2000,2001,2002,2003 Broadcom Corporation.

Initializing Arena.
Initializing Devices.
et0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.60.13.0
CPU type 0x29007: 200MHz
Total memory: 0x2000000 bytes (32MB)
root@OpenWrt:/# free
              total         used         free       shared      buffers
  Mem:        30504         9496        21008            0          808
 Swap:            0            0            0
Total:        30504         9496        21008
root@OpenWrt:/# 
root@OpenWrt:/# nvram show|grep sdr
size: 1353 bytes (31415 left)
sdram_config=0x0033
sdram_refresh=0x8040
sdram_ncdl=0x27
sdram_init=0x0008
root@OpenWrt:/#

will play arround a little more tomorrow, but looks promising!

Nice one, Funnel!


axc27

Hi Funnel,

great work, indeed!

After spending hours with trying to understand the CFE sources supplied by Siemens, I appreciate your effort very much!

root@turnip:~# free
              total         used         free       shared      buffers
  Mem:        62932        14228        48704            0          912
 Swap:         8452            0         8452
Total:        71384        14228        57156
root@turnip:~# nvram show|grep sdram
size: 5635 bytes (27133 left)
sdram_config=0x0033
sdram_refresh=0x8040
sdram_ncdl=0x3073e
sdram_init=0x0008
root@turnip:~#

Thanks again!
Cheers
/T

I'd like to confirm axc27's settings for 2x128MBit SDRAMs. Now I get full 32MB instead of 16MB from this router :-)

root@potato:~# free
              total         used         free       shared      buffers
  Mem:        30516        10308        20208            0          840
 Swap:            0            0            0
Total:        30516        10308        20208
root@potato:~# nvram show|grep sdram
sdram_config=0x0033
size: 19670 bytes (13098 left)
sdram_refresh=0x8040
sdram_ncdl=0x20345
sdram_init=0x0008
root@potato:~#

Cheers
/T

ok, upgraded my se505's (6x 32MB, 1x 64MB). no problem, all booted fine. at the moment only one with 32MB is running 24/7, no probs since 4 Hours... surfing with this one... :-)


axc27

Same here:

- I've been listening to WRFL881 for 6 hours now with the one SE505 with 32MB (128kbit MP3 stream, OSS, "El Cheapo"  ACD USB speakers). I was used to annoying crashes every now and then (MPD, USB audio ?). Maybe the default CFE is to blame, since there has not been a single crash since the installation of Funnel's CFE big_smile

- my first 64MB SEs is playing samba server like charm (sure, 400kByte/sec isn't fast, but it's fast enough for the public windows share of a stand alone torrent- or http downloader :-).

- my second 64MB SE is ready for Debian!

/T

Edit: I had the same stability problem mentioned above with USB audio/MPD on a second router - the problems are gone since I installed the new CFE!

Funnel wrote:

Finally my SE505 is running with 64MB RAM now!

Just some words before installing the new CFE. I have tested it on a SE505 with 64MB RAM and reset button mod and on a totally unmodified SE505, both worked fine. Here's the way I have implemented the reset button:

1. Pressing the reset button during power up starts CFE with hard coded default values for the memory controller (sdram_init=0x0002, sdram_config=0x0033, sdram_ncdl=0x0000). These values should boot CFE on any SE505. NVRAM values are not altered.

2. Pressing the reset button during power up for more than 15 seconds erases the NVRAM area and writes default values.


For installing the new CFE I suggest the following procedure:

1. Boot your already installed CFE and set sdram_init=0x0002, sdram_config=0x0033, sdram_ncdl=0x0000 (don't forget to commit)
2. Install the new CFE
3. Reboot. CFE should report 8MB RAM now (or 16MB if you have already installed 2 RAM chips)
4. To get 64MB now you have to set sdram_init=0x0008, sdram_config=0x0033, sdram_ncdl=0x0000 (again, don't forget to commit)
5. Reboot

Here you can get the new CFE:

ftp://funnel.homelinux.net/se505/cfe/cfez_64.bin

I would be happy to get some feedback.

Regards
Funnel

Funnel , YOU ARE ROCK!!!

I used the following commands for a SE505 with a 16MB upgrade:

nvram set sdram_init=0x0004
nvram set sdram_config=0x0033
nvram set sdram_ncdl=0
nvram commit
reboot

/T

can someone help me ?

i want to install 2 x 16MB chips   MT48LC16M8A2  -75 E

datasheet says :
MT48LC16M8A2 –4 Meg x 8 x 4 banks 
16 Meg x 8 (4 Meg x 8 x 4 banks) 16M8

is it possible?

http://wiki.openwrt.org/OpenWrtDocs/Har … mens/SE505  say:

32MB   add/replace with 2x 8x16MB   funnel

what do they mean with funnel?

ok soldering the chips on the se505 is no problem but what do i have to do then?
i am newbe in openwrt

please help

Hi,

the chips ( MT48LC16M8A2  -75 E) should work. After installing the RAM you have to replace the original CFE (bootloader) with the one you can find here:

ftp://funnel.homelinux.net/se505/cfe/cfez_64.bin

If you have further questions please let me know.

Regards
Funnel

how does it go?
?you have to replace the original CFE (bootloader)?

do i have to upload first the open-wrt firmware?

now i try to solder the 2 x 16 mb chips

Marcash,

after soldering the RAM chips, you should have 16MB available right away. You don't have to use OpenWRT, but using the original firmware makes little sense ^^

For using the full 32MB you'll need a serial cable (for instance from a Siemens mobile phone), Funnel's new CFE, and a tftp server. Upgrading the CFE is relatively safe - as long as you don't interrupt the power supply while the CFE is being flashed ^^

Take it easy if you feel unfamiliar with this. After RAM upgrade, step one should be building a serial cable. The rest is easy.

Cheers
/T

PS: if it were not for Belkin F5D7230-4 V1440 users who /might/ read this thread, we could as well continue this discussion in German big_smile

Hi marcash & Timo Beil,

CFE upgrade should be also possible without serial cable:

dd if=cfe.bin of=/dev/mtdblock/0

never tried this, but in my opinion this will work.

Regards
Funnel

Sorry,

I forgot MTD0 is write protected.

Funnel

The write protection isn't that bad after all.

Hmm, on a second thought, we would have an abundant supply of cheap hardware on eBay without it ^^

/T