We found out that on the Nexus S and the Galaxy S the modem could possibly spy the main CPU(where Replicant runs).
We are currently trying to see if that can be fixed(by loosing about 80M of ram) or not.
More details are available on our wiki
We found out that on the Nexus S and the Galaxy S the modem could possibly spy the main CPU(where Replicant runs).
We are currently trying to see if that can be fixed(by loosing about 80M of ram) or not.
More details are available on our wiki
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:
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.
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: contact@replicant.us 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:
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:
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
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: http://trac.osuosl.org/trac/replicant/wiki/libsamsung-ipc.
Here is a list of what’s not ready yet in this preview image (but may be done in the future):
Here’s a list of what doesn’t work in Replicant and is probably not going to be achieved:
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:
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 http://ftp.osuosl.org/pub/replicant/images/replicant-2.3/preview/0001/
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:
New Replicant 2.2 images are now ready and available to download. This new set of images (0009) is available for the following devices:
This new release features the following:
Note that Replicant 2.3 images for Nexus One and Nexus S are on their way (you can already build Replicant 2.3 images if you want)!
We are still looking forward Hackers to help us bring some more freedom to the mobile word: there are many ways to contribute to the project!
A video showing Replicant running has been asked several times since now. We thought it would be a really a nice idea to make such a video available. The video is ready now and it shows the HTC Dream running a Replicant 2.2 pre-0009 preview image, featuring various aspects of the system (booting, Android User Interface, incoming and outgoing calls with the free RIL, Android apps, USB Networking, FDroid and GPS among other things).
This video itself is available under the Creative Commons BY-SA license, but other licenses may apply to the audio tracks (see on the video).
The audio doesn’t include any voice comment but the video comes along with subtitles that could easily be translated. The video is available in the free WebM video format on a 360p resolution, both with subtitles hardcoded (for English only) or with subtitles on a separate file.
See the video online (embedded player with subtitles):
Download the video:
Download subtitles:
The video is now subtitles in many languages, thanks to the translators!
Happy Software Freedom Day and happy mobile hacking!
A few month ago, we (Replicant developers) decided to start the work on the new Google Nexus S.
This device seemed an interesting target at first since it doesn’t have any technical restriction to flash a non-official operating system and kernel but also as it comes with the latest (free) version of Android, Gingerbread. Of course, even if Android Gingerbread is free, the device requires non-free bits (libraries, binaries, firmwares, etc) to actually use the full potential of the hardware.
The work was started at the end of July and the 100% free images of Replicant 2.3 that run on the device already contain a set of supported features. You can get a detailed state of the Nexus S support in Replicant at http://trac.osuosl.org/trac/replicant/wiki/ReplicantStatus#nexuss. All the source code is, as usual, available in Replicant’s gitorious repos. Though, we still miss a big part: the RIL, that is necessary for telephony.
We soon discovered that the hardware of the Nexus S was made in a way that gives better freedom guarantees than other Replicant-supported phones. You can read a rational concerning this aspect of the phone, along with a technical overview of the device at http://trac.osuosl.org/trac/replicant/wiki/NexusSTechnicalOverview.
Also, whereas the bootloaders for the other Replicant-supported devices are all non-free, it may be possible to port a free bootloader (u-boot for instance) to the Nexus S. A wiki page that comes with all the infos we have about this is at: http://trac.osuosl.org/trac/replicant/wiki/NexusSBootloader.
The next important steps in the Nexus S support are the following (in no particular order):
and, when that is achieved:
As usual, we are looking for new hackers to join the effort to bring some more bits of freedom to the mobile phone world.