release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Search | Go
Wiki > Main > RioKarmaPort (r16)

Rockbox port to the Rio Karma

About the Rio Karma

The Rio Karma was a DAP designed by Rio for Diamond Multimedia. It was aimed at a higher market than most other DAPs, primarily the audiophile and power user areas. To this day, few (if any) DAPs have ever matched it in terms of features.

Current Status

This port is still in a state of research. Most of the internal hardware is in use by other supported targets, but there are still some pieces I need information on.

There's a thread on the forums discussing the Karma here: http://forums.rockbox.org/index.php?topic=14226.0

Hardware Summary

Here's what's known about the Karma's hardware thus far:

  • PortalPlayer 5003 SoC; dual core ARM7, up to 90Mhz per core
  • Wolfson 8721/8731 DAC/headphone amp (same as the early iPods)
  • Custom display by VDS; part number is VG T161251 1WFEBA 038022807
    160x128x2 bpp output (although the Original Firmware simulated grayscale by rapidly switching the pixels)
  • Cypress EZ-USB FX2 USB controller; chip number is CY7C68013?-56PVC (you can see it in the image below on the lower left) (More info)
  • Intel 32Mbit Flash Memory; chip number is F320C3BD?
  • Charger IC: Linear Tech LT1733 ISTR
  • The DAC is fed with a standard I2S? signal. Pin 2 is the I2S? bit clock, Pin 3 is I2S? data, and Pin 4 is I2S? left/right clock.
  • Hard drive is a Hitachi Travelstar Model HTC424020F7AT00? drive. (4200 RPM; 44-pin IDE connector) (NOTE: The iriver H10 and Dell DJ also use this same hard drive!)
  • The battery is rated at 1600mAh; it is actually 2 x 800mAh cells, with a protection circuit on the top (it's the little bulge where the wires come out)

Filesystem and Transfer Protocol

According to krazykit on IRC, the Karma used a custom transfer protocol that is neither MSC nor MTP. We'll need to research this further. (Note: This may need a fully working USB stack in Rockbox first!)

Also pointed out was the fact that the Karma used a custom filesystem called OMFS, but the Linux-Karma project has drivers for Linux available so one can access the filesystem. (See link below!)

OMFS is not a journaled filesystem, and does not offer any better behavior than a FAT32 filesystem. For the Karma, we may need to either write a tool to format the drive to FAT32 before installing the firmware, or advise users to format the Karma beforehand. RBUtil could include the option to format the drive before installing.

Of special note is the Karma's dock: the dock has an Ethernet port built in, so file transfers may also be handled via a standard network connection and the Java-based Rio Music Manager Lite.

Images

(provided by forum user space_ghost)

karmapcbsg1.jpg

Karma Firmware

The Rio Karma's firmware is based on eCos, an open source operating system for embedded systems. The OS itself is licensed under the RHEPL v1.1 (Red Hat eCos Public License; basically the GPL with exceptions); a link to the license is here.

According to details from an article on DAPreview.net (link below), it IS possible to build your own firmware for the Karma. The Karma firmware was built with GCC; configuration is slightly tricky but possible.

As stated above, the filesystem and non-standard transfer protocol need to be addressed.

Firmware Updating

The Karma is not mi4 based as previously thought.

The firmware is stored in flash, although a few portions are stored on the hard disk, such as RMML. This makes it possible to always restore the player even with a blank hard disk.

Recommended Sources of Information

Points of interest revealed by evilnick and krazykit:

Riovolution forums (the old link is gone, and the main page now redirects to the old forums)
Unofficial empeg BBS
New Riovolution forums (Karma and Trekstor Vibez which uses karmas firmware and has been hacked (officialy ?) for the Vibez by defector)

Links

Wikipedia's entry on the Rio Karma
1000 Geeky Details about the Rio Karma (from DAPreview.net)
Linux-Karma project
Karma Disassembly Instructions
eCos Homepage
I Attachment Action Size Date Who Comment
CY7C68013-56PVC-Datasheet.pdfpdf CY7C68013-56PVC-Datasheet.pdf manage 1880.7 K 30 Jan 2008 - 15:05 RobertMenes Datasheet for Cypress EZ-USB FX2 USB Controller
karma-lsusb-info.txttxt karma-lsusb-info.txt manage 1.9 K 01 Feb 2008 - 00:46 RobertMenes Results of lsusb -v with the Rio Karma
Edit | Attach | Print version | History: r19 | r17 < r16 < r15 < r14 | Backlinks | View wiki text | More topic actions...
r16 - 01 Feb 2008 - 14:39:17 - RobertMenes
Copyright by the contributing authors.