Replicant 4.0 0001 images release

After months of working hard to bring Replicant to the next upstream release, we are proud to announce the release of the Replicant 4.0 0001 images. This new release comes with support for both new devices, such as the Galaxy Nexus or the Galaxy S2 and devices that were already there in Replicant 2.3, like the Nexus S and the Galaxy S.

Aside from the new Ice Cream Sandwich user experience, that we tried to make as good as possible without any non-free blob, most devices have better hardware support than before, such as Galaxy S which now has working camera, or the global improvements that were made to make telephony more stable and reliable. Even though it’s not perfect yet, we are proud of the result, that many of us use daily. If you encounter a particular problem with our software, do not hesitate to report the issue via our tracker, or give feedback when a problem was resolved.

We are indeed writing hundreds of lines of code to have more hardware supported and with a better state, replacing non-free components, step by step. Keep in mind that Replicant has a very small core team, we’re just two people doing this on our free time: that means we can’t work on every side of the project at the same time and have to make choices. This is why we will always welcome serious new contributors who’d like to get involved in the project.

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 2.3 0005 images, fixing the USSD vulnerability

Earlier this week, we were noticed that an USSD vulnerability was discovered in Android. After doing a bit of research, we came to understand the nature of the vulnerability: intents can basically dial a number and start a call without asking confirmation to the user. That could seem harmless at first sight, but it turns out it also works with USSD codes, and some of them are very powerful. This is mostly the case of vendor-specific USSD codes (that are not included in Replicant), which could erase the phone’s user data.

What’s also problematic about this is that web pages can trigger such intents (through an iframe with the tel: prefix for instance).
Since this vulnerability was present in our Replicant images (although the damage was reduced as we don’t include vendor-specific USSD codes), we decided to include the fix in our code base and release new images. That’s nearly the only new feature of these images (Galaxy S also got a nasty graphic bug fixed).

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 2.3 0004 images release

Even though we didn’t update the homepage for a long time, we are still actively working!
Lately, a big part of the work was focused on adding support for the upcoming Goldelico GTA04. We strongly encourage the use of the GTA04 since it features nearly-zero known freedom issues (the only exception being that the WiFi chip needs a loaded firmware). Porting Replicant to the GTA04 helps making the device more usable for everyone, thanks to the Android user experience.

Not so much changes were added for other devices, though Samsung devices now have stable data (3G/GPRS, etc). We are also working to reach a state of completeness on these devices. On the other hand, we are also starting the port to Replicant 4.0, based on CyanogenMod 9, introducing newly-supported devices such as the Galaxy S2 and the Galaxy Nexus.

Regarding the new Replicant 2.3 0004 images, you can download them from the ReplicantImages page, find installation instructions as well as build guides on the Replicant wiki.

New set of Replicant 2.3 images, including Galaxy S support

As it was announced a few weeks ago, we are now releasing a new set of Replicant 2.3 images including Galaxy S support. Nexus S support was also improved, mainly on the modem part (there is now basic data support). Data should also be fixed on Nexus One with this release. More details are available in the detailed changelog.

You can download the new set of images:

Our Wiki was also updated with new pages regarding Galaxy S:

Galaxy S support is upcoming

Back when we were just getting started with Nexus S, a lot of people asked us to add support for Galaxy S, which is a very popular Samsung device running Android. It was quite hard to handle porting multiple devices at the same time. Though, now, a lot of work for Nexus S is over: we fixed graphics to make it usable, we wrote software to support the accelerometer chip, fixed camera (there is still work to do there) and, improved the very first fully free and usable implementation of the Samsung IPC modem protocol in order to successfully place calls, send text messages and connect to data via 3G (among other things we implemented). That was a lot of work and by now, many of us are using Nexus S as a stable daily-phone.

So, what’s the good news for Galaxy S owners? Well, most of the work we’ve done for Nexus S works as well on Galaxy S! Of course, there are still low-level adjustments to make to have it working as well, but it’s doable. A few weeks ago, I bought a Galaxy S device and slowly started the work. I was able to get the following features to work: graphics (as good as Nexus S), sound, calls, SMS, FM radio and accelerometers. The main problem I faced is installation: flashing the images via heimdall doesn’t work but it goes fine with CWM recovery, with all the correct image formats.

I think we will be able to release a new set of images for Nexus S, Galaxy S and Nexus One (hopefully with fixed data) and then, it’ll be time to start the work on GTA04 the amazing new replacement for the GTA02/Neo Freerunner board. Having Replicant running on GTA04 is the goal we’ll try to reach as hard as possible. We encourage you to help the GTA04 project with donations to fund the effort or by subscribing to the group tour to get your device at a lower price.

Wiki and tracker are now powered by Redmine

Replicant web services are kindly hosted by the Oregon State University Open Source Lab.
Recently, they asked us to consider switching from trac, which was powering our wiki and tracker, to redmine, another engine providing the same services. The reason is that redmine is easier to manage for them than trac. As a result, a few weeks ago, Replicant devs agreed and we started the migration process.

Bug reports, wiki pages and user accounts were migrated successfully, but it wasn’t be the case of the users passwords, which are in a different format from trac to redmine. As a result, if you had an account on trac and want to be able to use it on redmine, you’ll have to leave a mail at: in order to let us know and reset your password so that you can set the password you want.

From now on, use the following addresses:

Nexus S status update, with new images

The work on the Nexus S was started in July 2011. At the time, we just discovered that the modem uses a Samsung-specific protocol.

On the Android architecture, communication with the modem is done via the RIL (Radio Interface Layer). While the modem runs its own non-free software on a separate CPU, the RIL runs on the main CPU in Android userspace.

The only free RILs we know of are for the well-documented and widely-used AT command set. Back in July 2011, we were desperate to see that there was no free implementation for the Nexus S modem protocol. Fortunately, we weren’t alone on this one. After asking around on IRC, we met a talented developer who owns a Samsung H1 device, which originally runs LiMo, a mobile operating system with parts of free software, at least with the Linux kernel. The developer (who’s known on IRC as ius) was part of the effort to port Android to the Samsung H1, but he didn’t stop there. He also investigated the modem protocol used in the device. And the most incredible is that he did find out most of the protocol messages and data structures. We together investigated on Nexus S as well, and, thanks to this incredible luck we had, the protocol is the same for nexus s. We managed to boot the modem and obtained the first messages quickly. Then, we decided to push Nexus S support to ius’ lib, renaming it libsamsung-ipc for the occasion.

But the adventure didn’t stop there. Another talented developer known as morphis, who works on the SHR project, free GNU/Linux system for smartphones and who accomplished a huge amount of work to add support for the Palm Pre devices modem protocol in FSO (the middleware used in SHR that is in charge of communication with hardware interfaces, including the modem) decided to get a Nexus S and joined the effort to achieve a working implementation of the Samsung IPC modem protocol.

Several months of work later, here we are, the free RIL we wrote for Android/Replicant has grown enough to deserve the release of a new set of images.

On this release, here is a quick summary of which major components are working and which are not:

  • Telephony is stable enough, there is working in-call volume change and audio routing, though we miss some features like conferencing
  • SMS are working nicely, including multi-part messages, both on sending and receiving
  • Data has a minimal implementation that is far from being ready (but can be set up manually), so this will be for next time
  • Some other minimal features are there (SIM I/O, DTMF, SIM unlock, etc)
  • Some are missing (USSD, working airplane mode for instance)

There has been no major improvement for other components nor devices, even though we release images for Nexus One as well.

The images are located, at usual, at our OSUOSL-hosted ftp.

Download Replicant-2.3 0002 preview images for Nexus S and Nexus One

Replicant on Nexus S preview

As we already mentioned it, we have started the work to support the Nexus S on Replicant. We are now releasing preview images, the first set for the Nexus S! You can now download the preview images: replicant-2.3 for crespo.

This images includes the ipc-modemctrl tool (from libsamsung-ipc) that implements minimal telephony support. Please test this tool and give us feedback:

Here is a list of what’s not ready yet in this preview image (but may be done in the future):

  • RIL: this is the crucial library used to handle telephony and data connectivity (3G). This is being worked on very hard and will be there in some time
  • GPS: we haven’t worked at all on the GPS side: it might be possible to have it working (needs work)
  • Compass: it’s the same as in Nexus One (which works) but the kernel driver is different (needs work)
  • Full Camera: Camera works but in Black & White preview mode and isn’t very stable

Here’s a list of what doesn’t work in Replicant and is probably not going to be achieved:

  • 3D acceleration
  • Whatever needs the non-free firmwares we don’t include (NFC, MFC, WiFi, Bluetooth…)

We are indeed not including any non-free firmware (100% free is our goal) and are not going to provide any free replacement for these as we are not skilled to write such replacement. Though, the kernel we use won’t prevent loading these firmwares if in place.

We also thought of porting u-boot to the Nexus S in order to have a free bootloader replacement but it’s apparently not possible as primary bootloader (perhaps possible chainloaded).

Anyway, we made a video of Replicant 2.3 running on the Nexus S:

And also made a gallery of Screenshots showing Replicant on the Nexus S:

Replicant 2.3 preview images for Nexus One released!

We are pleased to announce that Replicant 2.3 images are now available for the Nexus One!

This new Replicant version is based on the latest CyanogenMod stable release, 7.1.0, that is based on Android 2.3.7 and contains, as usual, only free software.

You can download these new images at

Nexus One status under Replicant 2.3 should be the same as Replicant 2.2: what was working with FroYo should still work in Gingerbread.

Even though Nexus One is supported in Replicant, it doesn’t mean it’s a device we can totally recommend for freedom:

  • It has a non-free bootloader
  • The devices requires non-free firmware for making phone call and working audio
  • The modem (that runs non-free software) controls the sound (including mic), the GPS and can read/write the main CPU memory (it also handle data connectivity and can send/receive data on its own)