Rockbox Development > New Ports

Rio Karma

<< < (6/9) > >>

linuxstb:
ukre,

Do you remember the exact license Rio used ecos under?  The only version of the RHEPL I can find is here:

http://ecos.sourceware.org/old-license.html

If I'm reading that license correctly, paragraph 3.2 is saying that Rio should have offered recipients of the executable (i.e. firmware binary) their diffs to the ecos source code, not just RedHat.

I've no idea who owns the Rio source code nowadays, but it seems the firmware is still being distributed via rioaudio.com, so I would interpret the RHEPL to mean that that organisation should also be offering the source code changes.

pdh11:
The Ecos diff from last-rhepl is on the CD that came with every Rio Karma. Subsequent firmware releases didn't include any new modifications to Ecos itself. I believe that the licensing conditions allow anyone with that CD to repost the diff (but check first!); I don't have a copy to hand myself any more.

I don't like to pour cold water on this -- especially as I once said that nobody would ever reverse-engineer the Karma USB protocol, but people did -- but there are substantial obstacles to third-party firmware on the Rio Karma.

Firstly, the firmware is encrypted. I'm pretty sure that the bootrom will refuse to boot firmware images that haven't been encrypted with the correct key.

Secondly, datasheets on some of the chips used are hard to obtain without NDA. The Ipod Linux people have reverse-engineered some of the on-chip peripherals of the PP5002 and PP5020, but I don't know how different the PP5003 was.

Thirdly, there is a very serious silicon bug in the cache on the PP5003. If you ever flush the cache (or a region of it), it can get into a state where the wrong cache line gets written randomly somewhere in external memory. And, because the two CPUs on the 5003 are not cache-coherent, you end up flushing the cache a lot if you try and run stuff on both CPUs simultaneously. (Which you need to do, because the two clocks are locked together, so if you've got 90MHz worth of work to do, it uses much less power to run both CPUs at 45MHz than it does to do it all on one CPU and have the other doing 90MHz worth of nothing.) There is a workaround, which is only available because (bizarrely but fortunately) the 5003 memory-maps the entire internal logic of the cache controller, so you can go and rewrite all the tags and dirty bits to point to somewhere innocuous. Do not issue a cache flush, on either CPU, without following it up (running from IRAM) with the workaround sequence: arbitrary code or data will be overwritten, and your program will randomly crash. (Like, *cough*, the Karma 1.0 firmware did until we fixed it in 1.2.) This workaround is in the application code, not Ecos itself, and so does not appear in the ecos-last-rhepl diff.

Peter

GodEater:

--- Quote from: pdh11 on January 10, 2008, 11:09:15 AM ---The Ecos diff from last-rhepl is on the CD that came with every Rio Karma. Subsequent firmware releases didn't include any new modifications to Ecos itself. I believe that the licensing conditions allow anyone with that CD to repost the diff (but check first!); I don't have a copy to hand myself any more.

--- End quote ---

Guess who's currently cursing they no longer have that CD anymore?


--- Quote ---Firstly, the firmware is encrypted. I'm pretty sure that the bootrom will refuse to boot firmware images that haven't been encrypted with the correct key.

--- End quote ---

We have plenty of other targets where that's the case too - and we eventually surmounted those hurdles. I'm not saying that with a cocky swing in my step - we *may* not crack it - but it's certainly not foreign territory for us as a project - look at all the current PP502x targets we have which use the .mi4 firmware format (which is signed).


--- Quote ---Secondly, datasheets on some of the chips used are hard to obtain without NDA. The Ipod Linux people have reverse-engineered some of the on-chip peripherals of the PP5002 and PP5020, but I don't know how different the PP5003 was.
--- End quote ---

We're hoping that the diffs (should we ever get hold of them) will help us out with the rest of the PP internals. We've managed to build on the work of the iPL guys and get a few more of the secrets out of the chips too - but it's slow ponderous work.


--- Quote ---Thirdly, there is a very serious silicon bug in the cache on the PP5003. If you ever flush the cache (or a region of it), it can get into a state where the wrong cache line gets written randomly somewhere in external memory.
--- End quote ---

Thanks for the heads up - we'll bear it in mind ;)


--- Quote ---Peter

--- End quote ---

* GodEater wonders if Peter is someone else he met on his trip to Cambridge to visit Roger once upon a time...

jacoby:
I have the CD, but looking through it I don't know what files on it would be useful to post.
I have plenty of webspace, should I just upload the whole thing?  I suppose that would be on shaky grounds license wise, but I really doubt that Rio would care all that much about a dead player's CD being available.

However, if going that route is not wanted, I will comply.

actually, if you dont like the whole CD being posted, please just edit out this link:
[Deleted] as per peter's comment below.

It is currently uploading but I need to go to work.  I should be done uploading around 2pm, eastern

pdh11:

--- Quote ---I have the CD, but looking through it I don't know what files on it would be useful to post.
--- End quote ---

The ones you want should have "ecos" in the name, like maybe ecos.tar.gz and ecos-last-rhepl.diff. Don't upload the whole CD; not everything on that CD is under RHEPL and, while Rio may be defunct, that just means there's nobody left there except lawyers...

Peter

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version