Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  32MB Fuze V1, Checksum error
« previous next »
  • Print
Pages: [1] 2 3

Author Topic: 32MB Fuze V1, Checksum error  (Read 16418 times)

Offline sss

  • Member
  • *
  • Posts: 60
32MB Fuze V1, Checksum error
« on: August 20, 2010, 10:26:35 PM »
I upgraded my Fuze to 32MB of SDRAM and now when it tries to load the firmware, it says, "Bad Checksum"
(Checksum: 3A27276 Sum: 1E60F0D Length: 91B14   ;D I knew it would bite me with some sort of error with a ram upgrade)

What exactly do I need to do to compile the bootloader and firmware to work with my upgraded fuze v1?

If I also upgraded a fuze v2 in the future, would anything else need to be done (additionally)?
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: 32MB Fuze V1, Checksum error
« Reply #1 on: August 20, 2010, 10:32:53 PM »
You just soldered a new memory module in place?  Are you sure its compatible? 
Logged

Offline sss

  • Member
  • *
  • Posts: 60
Re: 32MB Fuze V1, Checksum error
« Reply #2 on: August 20, 2010, 11:03:09 PM »
I am trying to find that out  ;D  It was difficult to find 512MB DIMMs of SDRAM and before I go out and try another, I would like to see if the chips I have work first. 512MB /16 chips = 32MB per chip.  With hot air, soldering is pretty easy.
« Last Edit: August 20, 2010, 11:05:11 PM by sss »
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: 32MB Fuze V1, Checksum error
« Reply #3 on: August 20, 2010, 11:15:31 PM »
I would find the datasheet for your chip and verify that its electrically compatible with the one you took off, then check if the logical organization of the module is different. 
Logged

Offline sss

  • Member
  • *
  • Posts: 60
Re: 32MB Fuze V1, Checksum error
« Reply #4 on: August 20, 2010, 11:47:00 PM »
Saratoga, are you saying that if I put a verified, perfect replacement on, I should be able to boot the Fuze like nothing happened and Rockbox will see the 32MB of RAM without compilation of a new firmware and bootloader??  Are you sure?
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: 32MB Fuze V1, Checksum error
« Reply #5 on: August 20, 2010, 11:50:16 PM »
Quote from: sss on August 20, 2010, 11:47:00 PM
Saratoga, are you saying that if I put a verified, perfect replacement on, I should be able to boot the Fuze like nothing happened and Rockbox will see the 32MB of RAM without compilation of a new firmware and bootloader??  Are you sure?

Assuming you find one thats electrically compatible and organized the same as the original, it will at least boot.  Then you can work on getting the extra memory to be recognized. 
Logged

Offline sss

  • Member
  • *
  • Posts: 60
Re: 32MB Fuze V1, Checksum error
« Reply #6 on: August 21, 2010, 12:03:06 AM »
Okay, getting a replacement shipped might take some time but putting it on should be pretty quick.  What needs to be done to the bootloader and firmware source to see more ram?  Is there any part of that source that hardcodes the ram to 8MB?
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: 32MB Fuze V1, Checksum error
« Reply #7 on: August 21, 2010, 12:10:07 AM »
The memory size is in the configure script, firmware/target/arm/as3525/memory-init.S, and probably some other places.  Theres no AMS target with >8MB of RAM so you'll have to dig around a bit.
Logged

Offline funman

  • Developer
  • Member
  • *
  • Posts: 645
Re: 32MB Fuze V1, Checksum error
« Reply #8 on: August 21, 2010, 08:20:26 AM »
You'll probably also need to change the SDRAM settings in memory_init.S

The registers are described in the datasheet for the PL172 memory controller and the settings should be provided by the SDRAM chip manufacturer.

good luck :)
Logged
a wise man said: "a wise man said"

Offline soap

  • Member
  • *
  • Posts: 1678
  • Creature of habit.
Re: 32MB Fuze V1, Checksum error
« Reply #9 on: August 21, 2010, 12:06:21 PM »
Don't get me wrong, this hack is cool by default.
But may I ask why?
Logged
Rockbox Forum Guidelines
The Rockbox Manual
How to Ask Questions the Smart Way

Offline Jennifur

  • Member
  • *
  • Posts: 51
  • I <3 mochi
Re: 32MB Fuze V1, Checksum error
« Reply #10 on: August 21, 2010, 10:01:08 PM »
Quote from: soap on August 21, 2010, 12:06:21 PM
Don't get me wrong, this hack is cool by default.
But may I ask why?


I have thought about doing something like this as well. Can't speak for anyone else, but having the extra RAM would be quite useful for buffering and being able to play GBC roms while listening to music like you can do on the Gigabeat S would be quite nice as well.
Logged
FuzeV2 4GB +8GB uSD

Offline sss

  • Member
  • *
  • Posts: 60
Re: 32MB Fuze V1, Checksum error
« Reply #11 on: August 24, 2010, 01:17:47 AM »
I replaced the 32MB chip (4bit) with a chip should be perfectly compatible, the 16MB HYNIX hy57V281620etp-h (16bit, and from a FON 2100).  The datasheets say these two chips are pin for pin compatible and the organization is the same as what was replaced (8MB, 16bit M12L64164A from ESMT).

I did this just to test before I bothered ordering a more ideal chip, the MT48LC32M16A2 (64MB, 16bit Micron chip).
I STILL GET THE BAD CHECKSUM ERROR:
This time the SUM value changed to "175534B"

This means the checksum takes into account the ram module.  How do I get around this?
Logged

Offline saratoga

  • Developer
  • Member
  • *
  • Posts: 8974
Re: 32MB Fuze V1, Checksum error
« Reply #12 on: August 24, 2010, 02:11:50 AM »
Quote from: sss on August 24, 2010, 01:17:47 AM
This means the checksum takes into account the ram module.  How do I get around this?

The checksum just steps over the file adding the value of each word.  It does not take into account the memory size as I recall.  More likely its wrong because the memory isn't working the firmware is corrupted as soon as its loaded into RAM. 
Logged

Offline funman

  • Developer
  • Member
  • *
  • Posts: 645
Re: 32MB Fuze V1, Checksum error
« Reply #13 on: August 24, 2010, 02:18:18 AM »
Quote from: funman on August 21, 2010, 08:20:26 AM
You'll probably also need to change the SDRAM settings in memory_init.S

The registers are described in the datasheet for the PL172 memory controller and the settings should be provided by the SDRAM chip manufacturer.

good luck :)

No chance it will work if you don't modify the memory controller setup
Logged
a wise man said: "a wise man said"

Offline sss

  • Member
  • *
  • Posts: 60
Re: 32MB Fuze V1, Checksum error
« Reply #14 on: August 24, 2010, 08:42:18 PM »
When I came home today to try fixing the firmware and bootloader part of this, I realized the fuze would definitely not allow me to change its filesystem (with the USB cable in the device appears to do absolutely nothing, but in fact it gets into a crashed state which requires you to hold the onswitch up for 10+ seconds to reset it so it can attempt to boot again the next time).

So I cannot really boot the fuze, and I cannot connect it to my PC.

I guess the only way to do this is to get the bootloader and firmware right and install it on the fuze DIRECTLY BEFORE removing and upgrading the ram!  Since nobody is exactly sure about everything that must be changed, there is no practical way of doing this!
Other than the memory model definitions in firmware/target/arm/as3525/memory-init.S (pick one):
Code: [Select]
#define MEMORY_MODEL 0x5
(8MB)
Code: [Select]
#define MEMORY_MODEL 0x9
(16MB)
Code: [Select]
#define MEMORY_MODEL 0xD
(32MB)
Code: [Select]
#define MEMORY_MODEL 0x11
(64MB)

and the "export MEMORYSIZE=XX" variable in both the firmware and bootloader makefiles (generated from the tools/configure script).  I am not exactly sure of what must be changed, and I need to be completely sure the first time because if it's done wrong, it's a toasted fuze that needs the old memory chip reattached to see the light of day again.  (Do they make 54 pin TSOP sockets so I can swap ram chips without resoldering?)

I have not yet tried the jumper based recovery mode: http://www.rockbox.org/wiki/SansaAMSUnbrick
nor am I sure if it will work or not.  I will probably solder a wires and a switch to those two pads so I can try it without worrying about my tweezers slipping and shorting something.

Is anyone else familiar with memory upgrades on rockbocked players?  Any other tips or pointers?
(thanks for the helpful input so far,  the PL172 datasheet is a bit of a labyrinth to steer through)
« Last Edit: August 24, 2010, 09:49:19 PM by sss »
Logged

  • Print
Pages: [1] 2 3
« previous next »
+  Rockbox Technical Forums
|-+  Support and General Use
| |-+  Hardware
| | |-+  32MB Fuze V1, Checksum error
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.095 seconds with 15 queries.