LWN.net Logo

Hidden power management, binary blobs?

Hidden power management, binary blobs?

Posted Dec 30, 2008 14:09 UTC (Tue) by tajyrink (subscriber, #2750)
Parent article: The Android Dev Phone 1

I'm indeed interested if this is really competitor to Neo FreeRunner or not. At least I've heard power management is somehow very specially hidden, so is it actually usable after you start taking your freedoms into use by installing eg. Debian (+ maybe FSO etc.)?

Similarly, is WLAN usable by a GPL'd driver or does it require something else besides a firmware to be uploaded, and are there any other binary blobs (GSM?) required for using some features? In FreeRunner, GSM and GPS are just serial modems under /dev, and it's 100% free code running on the CPU.

My guestimate would be that this is not really a competitor to Openmoko freedom-wise, but of course better than simple proprietary and/or vendor-locked phones.


(Log in to post comments)

Hidden power management, binary blobs?

Posted Dec 30, 2008 21:55 UTC (Tue) by mjg59 (subscriber, #23239) [Link]

The power management is very visible, but much of it is Android specific.

Hidden power management, binary blobs?

Posted Dec 31, 2008 2:23 UTC (Wed) by ajross (subscriber, #4563) [Link]

The wifi driver is free, although not in the kernel tree. Source
is available at:

http://android.git.kernel.org/?p=platform/system/wlan/ti.git;...

Non-free parts of the system that I can remember off-hand are:

+ Everything running on the ARM9 "baseband" CPU (i.e. the radio
side of the world) is a black box. Only the ARM11 core is
exposed.

+ The ATI Imageon OpenGL-ES implementation is proprietary.

+ Access to the DSP cores on the MSM7k chipset is undocumented.
The kernel drivers are free but do nothing but validate command
streams generated by closed userspace libraries (e.g. video
codecs).

+ Many of the Google applications (the ones not distributed with
the SDK) are closed, including the market and maps clients.

Hidden power management, binary blobs?

Posted Dec 31, 2008 8:44 UTC (Wed) by tajyrink (subscriber, #2750) [Link]

Ok interesting, they have a separate ARM CPU for GSM etc. purposes. I wonder if it functions as an external device transparently or if it requires something on the ARM11 side.

Regarding power management, I referred to this Matthew Garrett's quote of the week about Android's power management being done using tokenized dead mice passed through a wormhole, which sounds a bit non-optimal: http://lwn.net/Articles/306531/

Hidden power management, binary blobs?

Posted Dec 31, 2008 14:05 UTC (Wed) by mjg59 (subscriber, #23239) [Link]

Having the gsm hardware running on an entirely separate core is pretty standard - it avoids the need to have a realtime OS on the application side. Normally it ends up being presented as some sort of serial UART that's then controlled using extended AT commands, so there's no real magic needed on the host.

From the power management point of view, the drivers are open, the power management core is open and the application layer that interacts with their power management interface is open. I think it's a pretty dreadful and unscalable solution (suspend sequencing is implemented by devices registering callbacks with priorities, so dependencies need to be explicitly stated rather than being implied by the device tree) and I still don't have any idea what problem it's trying to solve, but they're certainly not hiding anything secret there.

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