Daniel Stenbergs presentation om reverse engineering konsumentelektronik och Rockbox. Framfört den 18:e september 2010 på Svenska Linuxföreningens Linuxträfff 2010
About Rockbox and how to get Free Software on mp3 players.
Work at haxx 20 something projects 15K something public commits Open source contributor since 1995
We all have gadgets that don't work like we wish they would For many years my mobile phone had lots of quirks I didn't like but couldn't make it stop doring.
And we already appreciate and enjoy customizing our softwares and operating systems thanks to free and open software.
The first portable music players appeared 2001 Archos was not the first, but one of the absolutely first harddrive based ones as the flash-based ones only had very very tiny storage back then 6GB disk, 12MHz SH7034. Dedicated mp3 decoding chip. 2MB ram.
Let's make it better. Call out to get interested people to join.
Probably applies to a lot of other sorts of devices but this talk is limited to portable music players only since that is what Rockbox runs on.
Web site, wikis, mailing lists, forums. The more the merrier
Various amounts of these parts can be embedded into the same circuit/SoC
UART and USB are mentioned as they can be used to output data through and to use gdb on target with etc. Some Ofs even used (removed) UART to output debug messages.
Finding a non-standard one without for example gcc port could in itself be a blocker for further work!
Bricking devices is uncool JTAG and BDM might be able to download code to RAM
We like dual-booting abilities The first-stage booting is even more very different between targets
The steep uphill battle is done. Now the slightly more casual work begins.
HW development is different - you need real money to make physical things MPEG, USB, SD etc licenses and “IP rights”
We run on hard-drive devices with 2MB ram only, and then lots of that is used to buffer compressed music! Some recent flash-based players have even less ram.
Traditional-style *nix-based cross-compiled development
The simulator pops up a window looking like the target and it simulates the low layer APIs.
Excellent audio playback is our primary focus
We have a fairly large blind and visually impaired user-base thanks to our spoken interface, that works with pre-recorded sound-snippets played back when you hover over menu items. Manuals built daily and provided on site non-stop.
Our focus on audio playback has made one or two people call the non-audio stuff “rubbish” or similar over the years. We emulate various old game systems. Doom is a native port, not an emulator. MPEG1 and 2 videos with fairly good frame rates on most devices.
We have a dedicated theme site for people to upload their own creations for their particular device.
Existing other Open source and Free Software projects make Rockbox possible. We could not have done this by ourselves.
Developer conferences take place in the US and in Europe roughly once a year.
Real name to emphasis our legal standpoint, to get a proper track of who did what and to avoid the nickname craziness many “hacking” projects use.
Fancy UI point-and-click makes installing a breeze!
We already have code running on a few more models since I made this slide a few weeks ago and I find it telling. A device is often called target and vice versa
This is an old tradition and ritual of ours – some would even call it a sport. To build the biggest possible tower out of devices that can run Rockbox.