LWN.net Logo

Toward a freer Android

Toward a freer Android

Posted Oct 9, 2009 21:57 UTC (Fri) by GNUtoo (guest, #61279)
In reply to: Toward a freer Android by job
Parent article: Toward a freer Android

>Couldn't you just rip out the proprietary parts
That's what I started to do(in collaboration with other people) with the replicant( http://trac.osuosl.org/trac/replicant/wiki ) project.
Basically we've achieved :
*calls(make/receive),sms(send/receive)
*sound(including routing)
What was already working:
*wifi(uses a proprietary firmware)
*bluetooth
*touchscreen(touch+screen)
*keyboard
*vibrations
What is not working:
*GPS
*camera
*3D
*compass
What is buggy:
*I didn't have time yet to look at why the US phones don't work...(CME error 100 => unknown error,may need to do everything manually with AT commands to see where the error is)
*routing don't work for calls(you can make or receive a call only with the handset mode(that is to say no earphones))

we can have 100% FLOSS builds that don't run any proprietary code on the main CPU.
The proprietary code that I didn't use is in a file called extract-files.sh:
#!/bin/sh

mkdir -p proprietary

adb pull /system/bin/akmd proprietary/akmd

adb pull /system/etc/AudioFilter.csv proprietary/AudioFilter.csv
adb pull /system/etc/AudioPara4.csv proprietary/AudioPara4.csv
adb pull /system/etc/AudioPreProcess.csv proprietary/AudioPreProcess.csv
adb pull /system/etc/firmware/brf6300.bin proprietary/brf6300.bin
adb pull /system/etc/gps.conf proprietary/gps.conf
adb pull /system/etc/wifi/Fw1251r1c.bin proprietary/Fw1251r1c.bin
adb pull /system/etc/wifi/tiwlan.ini proprietary/tiwlan.ini

adb pull /system/lib/libaudioeq.so proprietary/libaudioeq.so
adb pull /system/lib/libgps.so proprietary/libgps.so
adb pull /system/lib/libhgl.so proprietary/libhgl.so
adb pull /system/lib/libhtc_acoustic.so proprietary/libhtc_acoustic.so
adb pull /system/lib/libhtc_ril.so proprietary/libhtc_ril.so
adb pull /system/lib/libjni_pinyinime.so proprietary/libjni_pinyinime.so
adb pull /system/lib/libmm-adspsvc.so proprietary/libmm-adspsvc.so
adb pull /system/lib/libOmxCore.so proprietary/libOmxCore.so
adb pull /system/lib/libOmxH264Dec.so proprietary/libOmxH264Dec.so
adb pull /system/lib/libOmxMpeg4Dec.so proprietary/libOmxMpeg4Dec.so
adb pull /system/lib/libOmxVidEnc.so proprietary/libOmxVidEnc.so
adb pull /system/lib/libopencorehw.so proprietary/libopencorehw.so
adb pull /system/lib/libpvasf.so proprietary/libpvasf.so
adb pull /system/lib/libpvasfreg.so proprietary/libpvasfreg.so
adb pull /system/lib/libqcamera.so proprietary/libqcamera.so
adb pull /system/lib/libspeech.so proprietary/libspeech.so

adb pull /system/lib/hw/lights.goldfish.so proprietary/lights.goldfish.so
adb pull /system/lib/hw/lights.msm7k.so proprietary/lights.msm7k.so
adb pull /system/lib/hw/sensors.trout.so proprietary/sensors.trout.so

chmod 755 proprietary/akmd

there are some stuff including the RIL(see here: http://www.kandroid.org/android_pdk/telephony.html for more details),the libgps,an audio library etc...

I would have liked some help on the android side because I'm now trying to have a standard GNU/Linux system on my htcdream so I've no more time with android.
The 2 priorities were call routing and US phones like the ADP(basically it was tested on some European stock phones and the reference ril worked...but it didn't work on 2 ADP us phones),I bet that is the reason why the others members of the project are making a transition build that include proprietary components(they didn't have time or knowledge to debug the ril)

About the applications: we have no market yet but we can install FLOSS applications with adb(like the k9 mail client for instance)

BTW: we have code at gitorious(was faster to setup) (http://gitorious.org/replicant)


(Log in to post comments)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds