AMS Replied with the AS3525 Data Sheet

SanDisk Sansa Clip

AMS was very friendly and replied to my data sheet requesting email very rapidly, and now I have the data sheet for the AS3525 in my possession. This is good news for an upcoming porting effort to the SanDisk Sansa v2 series of players, but it doesn’t make it all perfectly easy since we still don’t know lots of stuff in them.

The reply even contained these warming words:

I see your initiative increasingly successful and I just read a good review on PC Magazine. My compliments, an outstanding job!

If you have one of these players (e200v2, c200v2, m200 v2 or Clip) and you feel like joining this effort, do jump in on the forum and we’ll get something going! I don’t personally have one of these targets, but I’m pondering on getting one…

Tunneling with libcurl

As I wrote a while ago, companies using http proxies make people feel a need to break out of their proxies.

Bryan is a friend who recently found out that his company is switching proxy to a different one and apparently both corkscrew and proxytunnel have problems with this new piece, and since libcurl offers quite a lot of functionality to accomplish almost this, a new project was born: curltunnel.libcurl

One immediate benefit of using libcurl is the support for multiple authentication methods, in fact more than any of the above mentioned tools.

However, it seems our first quick stab at making this tool (currently 278 lines of code), made it work for several common cases but… not for Bryan’s new proxy.

The current theory is that the proxy actually checks for SSL traffic and only lets that through, and thus it prevents the ssh server banner to appear when we try to tunnel through the proxy to a remote ssh server on port 443. If further testing proves this correct, we will of course have to add a SSL layer to the mix.

Sansa V2 and View Roundup

There’s been eager activity in the Rockbox forums lately, and I’ve also had help from friendly guys over at anythingbutipod. But now things are much clearer on the Hardware front of many of the recent SanDisk Sansa players:

Sansa ViewSanDisk has released new or updated mp3 players this autumn, named Sansa View, Sansa e200 v2, Sansa c200 v2, Sansa m200 and Sansa Clip. I’ve summed up the situation on the pages those links take you.

All models except the View use the same main SoC chip now, the AS3525. Funnily, the new m200 isn’t called v2 or anything but it is still totally new hardware compared to the older model called… m200!

There’s no docs available for the AS3525 (yet), and the firmware format for it is still not figured out. There’s lots of work to be done, so we really can use all the help you can offer!

Scandinavian Free Software Award Nominee

Free Software Foundation EuropeFree Software Foundation Europe has started the Scandinavian Free Software Award that is said to be “for Nordic citizens, projects or organisations that make an outstanding contribution to the Free Software movement.

Yours truly is one among the twenty giants in the list of nominees. I do feel honored to be included there, and I realize that in that company I really don’t deserve to be picked as the winner.

The award is handed out at the upcoming Free Software Conference Scandinavia event, Dec 7-8 2007.

Dreaming in Code

Dreaming in Code coverRecently I’ve read the book Dreaming in Code by Scott Rosenberg, which primarily is a novel about the development of the open source project Chandler, but is full of diversions into related areas and side-stories about software, software projects, developments and more.

The project was initiated by Mitch Kapor who founded the Open Source Application Foundation and who’s perhaps most known for having created Lotus 1-2-3 back in 1982 and being co-founder of the Electronic Frontier Foundation in 1990.

Scott writes a lot about software development and makes numerous references to the classic The Mythical Man-Month (which I unfortunately haven’t read yet but I have it lying around at home just waiting…).

It is quite obvious that the guys never really could decide what exactly Chandler should do, and thus they spent ages arguing on the goals and the design and since they’re funded by an organization that (seemingly) doesn’t care about any profit or anything from this project, there was a whole team who could be lagging their project for ages without any real damage being done anywhere. In fact, I still don’t understand what Chandler does and what useful purpose it tries to fill!

Kapor basically spent 5 Million USD out of his own pocket money in an attempt to repeat his former favorite application called Agenda, but without knowing exactly what it should do and how. Does it sound like a solid foundation for how to make a killer app?

It is an interesting read, and after having been in the business as a consultant for more than a decade, I do recognize a lot in the book from real-life experiences. The book doesn’t exaggerate or present a worst-case scenario, it happens to follow a project that is merely a project amongst others that just… doesn’t get things done right.

Has SanDisk gone AMS?

“skaosmentioned in the Rockbox forum that the markings on the e200 v2 SanDisk chip is very similar to the ones on the newer m200 models (as compared to the older m200 models which use different ones – at least marked completely different). It seems to imply that the m200 series have v2 models too.SanDisk marked chip, possibly an AMS AS3525. Picture from an e280 v2

But more interestingly, I downloaded the latest v4 firmware for the m200 series and looked at it with hexdump -C. While the file is encrypted or at least scrambled somehow (update: I was wrong the file is unencrypted, contains ARM code and strings), it features one plain text string at index 0x420:

AS3525_2_0.cr_5_0_develop.00020021010305000500

AS3525 is the name of a SoC from AMS (makers of the AS3514Stereo Audio Codec with System Power Management” chip used in the Sansa e200 series as well as in the Sansa c200 series) so to me it seems a bit too much of a match to be a mere coincidence! Oh, looking for UTF16-encoded strings, there’s one present that takes away all doubts: “AS3525/27 Demo Player“.

We’ll see what more we can dig up to really verify this theory. Fortunately, we managed to get docs for the AS3514 when some Rockbox guys visited the AMS HQ in Austria so hopefully we can get some for this thing too.

Now we have yet another firmware file format to figure out! ;-(

The SanDisk branded chip in the Sansa Clip does look very similar as well. If anyone has a firmware file for this target I’d be happy to check it out!

Rockbox on v2 Sansas

Sansa c200SanDisk apparently has released updated versions of their Sansa c200 and e200 series, called c200 v2 and e200 v2. Since Rockbox works pretty fine on the original c200 and e200 series and not at all on the new v2 players, users start to take notice!

The v2 series are claimed to be audible.com compliant (it spells DRM), which we originally thought would imply some sort of e200R style, but the first details about the c200 v2 internals seem to hint that the hardware is seriously changed and there’s hardly any hope left for a quick port to these devices.

To recognize a v2 of these devices, carefully look for the “v2” text on the backside or for “audible.com support” on the box.

We’re of course still eagerly awaiting published scans or photos of the internals of the v2 series, as well as getting our hands on firmware upgrades for them. Do they even use mi4 files?

In the mean time, the Sansa View isn’t even available in the stores here in Sweden yet! 🙁 Oh right, we still await scans of the View’s internals as well!

c-ares 1.5.0

SONAME bump and more is included in the fresh new c-ares release, when the changes from the Google camp was incorporated. There have also been a fair bunch of bug fixes that should make this the best c-ares version so far.

There are some indications c-ares is coming to Debian. It seems to already be packaged and made available for at least Fedora, Gentoo, OpenSuse and more…

Update: I quickly released a 1.5.1 since I messed up with the 1.5.0 which didn’t build out of the tarball…

A Google T-Shirt

What doesn’t a man do when there’s a free t-shirt involved?

Google Summer of Code 2007 shirt

I was Google Summer of Code admin for project Rockbox, and it did result in some cool new code. As newbies this year we of course did a bunch of mistakes that we hope to get a chance to correct if we’re allowed to participate again…

I also volunteered as a mentor, but we had something like nine or ten guys stepping forward, we got a lot of students applying for various projects but in the end we were given four slots by Google so I ended up not having to mentor anyone this time.

Apparently, this involvement was good enough for me to be given a shirt, and it arrived in my mailbox today and I took a few crummy shots with my lousy camera in my phone and I thought I’d share them with you!

Google Summer of Code 2007 front print

Google Summer of Code 2007 back figure

On the backside there’s this weird face with a monster-like guy (much appreciated by my daughter!) with binary numbers in its mouth. It wouldn’t surprise me at all if the binary does mean something if we translate it to ascii… for a second or two I was about to investigate it, but then I lost my motivation and bah, why bother?!

Did anyone else check yet?

URL Encode POST Data

Several months ago I did a job down south in Sweden – it was a three hour train ride (one way, and I went down and back the same day…) with the fastest train we have in this country. It gave me some time on the train to tinker with things and I didn’t feel like bothering with the “Internet On Train” thing they so fancifully offer these days. I’m not saying that’s a bad idea, I just felt that perhaps me and my Linux laptop would have to spend too much time fighting it to get it up to really enjoy it. Instead I wrote up a patch for curl for a feature we discussed ages ago: send POST data with the command line client that gets URL encoded automatically!cURL

The idea is of course that when you write a simple shell script of some sorts and want to automate POSTs to a web site, it is somewhat complicated to url encode the strings before you pass them on to curl. curl could instead get an option that does it for you.

Fast forward to current time and now I’ve dug up the old patch again, I had a discussion on the mailing list about it and what do you know! Today I’ve posted a patch that introduces –data-urlencode, and I’m very interested in feedback or suggestions on how to polish it further and then to commit it.