Downgrading From 3.0.


Orkie

Super Duper Mega GP Mania
Joined
Mar 22, 2006
Messages
2,373
Location
UK
Website
www.gp2x.dev
No!

Several people seem to have this idea into their head that 3.0 is terrible and so, when they buy a value pack with it pre-installed they decide to downgrade to 2.0, hearing how much better it is. The truth is, 2.0 has only a few seconds faster boot time and the menu is a little faster. Other than that, there is next to no advantages.

Now, you can downgrade but to do so is to take a huge risk.

The reason why it is so dangerous to perform the downgrade is that the NAND drivers (particularly in u-boot) are very poorly written. This means that it very frequently marks parts of the NAND which are fine as bad purely due to the buggy code. Ever seen the ECC errors when looking as dmesg on your GP2X? This is what they are indicating. A few incorrectly marked blocks won't do any harm, but when downgrading from 3.0->2.0, a very large number of blocks are incorrectly marked. This will result in there not being enough space to store the firmware so the GP2X will be 'bricked'. It isn't a given that you'll end up with a brick, but it is fairly likely - I've heard of about 10 GP2X units bricked in this way and that is just from casually catching bits of conversations (i.e. it's fairly likely you will brick your GP2X downgrading).

If you are lucky, you may be able to reflash 2.0 and boot that (since 2.0 uses a lot less space than 3.0, and it's pretty much an all-or-nothing thing is a firmware upgrade). If you are unlucky, you'll get at most to the green kernel loading screen and that will be the end of that - your GP2X will be bricked beyond normal repair methods.

In this situation, the only way to repair your GP2X is to send it to somebody who has a JTAG connection as well as the specialised tools, not included in the standard JTAG packages due to their potential to cause a lot of damage, needed to totally blank the NAND IC and remove all the bad block markings (including those from real bad blocks, but this isn't really much of a problem). This will likely cost you money and you'll be without your GP2X for a few weeks.

So basically, don't downgrade your firmware from 3.0->2.0 unless you want to brick it as soon as you have got it. If you do, you will live in shame forever more, not having read this post :).
 
Last edited by a moderator:
Orkie said:
Several people seem to have this idea into their head that 3.0 is terrible and so, when they buy a value pack with it pre-installed they decide to downgrade to 2.0, hearing how much better it is. The truth is, 2.0 has only a few seconds faster boot time and the menu is a little faster. Other than that, there is next to no advantages.

Now, you can downgrade but to do so is to take a huge risk.

The reason why it is so dangerous to perform the downgrade is that the NAND drivers (particularly in u-boot) are very poorly written. This means that it very frequently marks parts of the NAND which are fine as bad purely due to the buggy code. Ever seen the ECC errors when looking as dmesg on your GP2X? This is what they are indicating. A few incorrectly marked blocks won't do any harm, but when downgrading from 3.0->2.0, a very large number of blocks are incorrectly marked. This will result in there not being enough space to store the firmware so the GP2X will be 'bricked'. It isn't a given that you'll end up with a brick, but it is fairly likely - I've heard of about 10 GP2X units bricked in this way and that is just from casually catching bits of conversations (i.e. it's fairly likely you will brick your GP2X downgrading).

If you are lucky, you may be able to reflash 2.0 and boot that (since 2.0 uses a lot less space than 3.0, and it's pretty much an all-or-nothing thing is a firmware upgrade). If you are unlucky, you'll get at most to the green kernel loading screen and that will be the end of that - your GP2X will be bricked beyond normal repair methods.

In this situation, the only way to repair your GP2X is to send it to somebody who has a JTAG connection as well as the specialised tools, not included in the standard JTAG packages due to their potential to cause a lot of damage, needed to totally blank the NAND IC and remove all the bad block markings (including those from real bad blocks, but this isn't really much of a problem). This will likely cost you money and you'll be without your GP2X for a few weeks.

So basically, don't downgrade your firmware from 3.0->2.0 unless you want to brick it as soon as you have got it. If you do, you will live in shame forever more, not having read this post :).
Whoa, thanks for the heads-up. Not sure if I understand correctly - doesn't this mean flashing from 2.0 -> 2.1.1 is dangerous as well? I mean, it had the same buggy u-boot? Or is it safe because that upgrade doesn't touch u-boot? And how about upgrading to Open2x, is that potentially harmful?
 
Last edited by a moderator:
Yeah, I'm stupid for doing so, today is so not my day, apparently the RAM in the PC I'm building is faulty... I'm starting to hate electronics
 
That all makes sense, however, I am left with a question...
Why is going from 3.0 to 2.x so dangerous? It would seem that ANY firmware change on the unit could fail.
What is special about 3.0 to 2.x that is so evil.

Thanks!
 
The bit that is evil is 2.0.0 because it's a full install - basically tries to wipe the nand and install all the crap to it. Going from 2.0.0 -> 2.1.1 isn't so bad as it just upgrades the kernel and then patches the file system from within Linux.

I forget which version of the upgrades install a new uboot - thats the real gp2x killer.
 
I have downgrade my gp2x value pack with 2.0.0 firmware and i've no problems, am I lucky ?^^
 
I'd like to know the answer to this too. I assumed that downgrading from 3.0 was more dangerous due to the NAND being so congested with the added games, etc.
 
Sebastian said:
Whoa, thanks for the heads-up. Not sure if I understand correctly - doesn't this mean flashing from 2.0 -> 2.1.1 is dangerous as well? I mean, it had the same buggy u-boot? Or is it safe because that upgrade doesn't touch u-boot? And how about upgrading to Open2x, is that potentially harmful?
It does use u-boot to flash the new kernel, but since this is only a very small amount of data, it's pretty safe (I've never heard of a 2.0->2.1.x upgrade bricking anybody's GP2X). Open2x has been designed to work around the problem as much as possible, it will carry a risk, but only a very small one (once again, I don't know of anybody who has bricked their GP2X installing an alpha release).

Poobah said:
That all makes sense, however, I am left with a question...
Why is going from 3.0 to 2.x so dangerous? It would seem that ANY firmware change on the unit could fail.
What is special about 3.0 to 2.x that is so evil.
Well the NAND is split into several parts. The bootloader, the kernel, the filesystem and the 'user NAND'. The problem only really occurs in the filesystem portion (it can be found in other sections, but it's very unlikely to cause a problem). This is because when you flash a complete filesystem (gp2xfile.img for <= 1.4 or gp2xyaffs.img for >= 2.0), a lot of data is written compared to the other sections. And since 3.0 is a particularly large firmware (it's packed full of stuff) a lot more data is written than normal.

Yes, it could occur with other firmware upgrades/downgrades where you are flashing one of the above files, but 3.0 is the worst and the most common major upgrade/downgrade.

CloudStrife said:
Yeah, I'm stupid for doing so, today is so not my day, apparently the RAM in the PC I'm building is faulty... I'm starting to hate electronics
Yes, it was a bit foolish, but it could be repairable if you're willing to send it to Europe or find somebody in the US who is willing to do the work for you.
 
Last edited by a moderator:
Thanks for all the info!

So is the bug in the flash code?
Could one patch the flash code that messed up the Nand and then do an update?
 
I did the 3.0 -> 2.0 -> 2.1.1 process (but kept the 3.0 boot loader) as soon as I got my Value Pack and haven't had a problem with it ever. Am I just lucky or is there something else to this, something I can't see? More information on how it might (if at all) affect already successfully downgraded machines would be appreciated.
 
cappuchok said:
I did the 3.0 -> 2.0 -> 2.1.1 process (but kept the 3.0 boot loader) as soon as I got my Value Pack and haven't had a problem with it ever. Am I just lucky or is there something else to this, something I can't see? More information on how it might (if at all) affect already successfully downgraded machines would be appreciated.
I had quite an adventure today when I was checking to see what was on a small sd card and it had firmware 3.0 rip on it. I thought I had bricked my game because I accidentally turned the power off because The fw on the card was fw 3.0 rip. For some reason I have never been able to get this firmware to flash correctly or perhaps I don't wait long enough. The system hung on the loading screen. I just downgraded to 2.0.0 and then to 2.1.0 and then to 2.1.1 and then to official 3.0. I could'nt make my mind up so I did the process bravely 3 or 4 times and I never had any problems. I decided to stick with 2.1.1 because uae4all had a problem loading the only game I happened to have on the card, q-bic. FW 3.0 must be a little buggy as i've read a lot of people had problems with fw 3.0.
 
Last edited by a moderator:
Orkie said:
In this situation, the only way to repair your GP2X is to send it to somebody who has a JTAG connection as well as the specialised tools, not included in the standard JTAG packages due to their potential to cause a lot of damage, needed to totally blank the NAND IC and remove all the bad block markings (including those from real bad blocks, but this isn't really much of a problem). This will likely cost you money and you'll be without your GP2X for a few weeks.

Sorry to dredge up this rather old post, but I believe I am in posession of a gp2x that I think has had this happen to it (got it bricked). I have a cradle, is it possible for me to totally blank the NAND myself?

On a similar note, I've found that often my serial connection displays incorrect characters to my terminal connection. (I'm using hyperterminal) Is this normal, a fault of my gp2x, the connection, or the program? What do other people recommend using to connect?

Thanks.
 
Last edited by a moderator:
Back
Top