Moto G

Added by Daniel Kulesz over 3 years ago

The Moto G is an affordable device which has an unlockable bootloader and runs on the Qualcomm's Snapdragon S400 platform. The source code for (most) software in this device was published just a few hours ago on Sourceforge:

http://sourceforge.net/projects/motog.motorola/files/14.10.0Q3.X-76-LCG-8/

I would appreciate a first assessment on "how much open" the device is and if it could be an interesting target for ReplicantOS. Yes, I know it does not fulfill the "has CM support" minimal requirement but I am very confident that this will change in the next few days/hours since the code is released now.

Thanks in advance!


Replies (18)

RE: Moto G - Added by Paul Kocialkowski over 3 years ago

That source code doesn't include any device-specific bits, so it's not really useful. Qualcomm platforms still require a lot of proprietary software so it is not a really good target for Replicant. I am not going to port to it anytime soon. Also our system is called Replicant, not Replicant OS!

RE: Moto G - Added by Daniel Kulesz over 3 years ago

Thanks for your comments and sorry about the project name. I've seen that they put the wifi driver on Sourceforge, so I thought it might be open but I don't know if it doesn't rely on additional non-free firmware.

RE: Moto G - Added by Paul Kocialkowski over 3 years ago

All devices have a free wifi driver actually. We'll see when it gets ported to CyanogenMod, but all Qualcomm devices need a lot of blobs…

RE: Moto G - Added by Linus Drumbler over 3 years ago

"All devices have a free Wi-Fi driver"?

I wish you'd told me that ages ago! So there's hope for having Wi-Fi under Replicant!

Everyone I tell about Replicant becomes totally turned off when I tell them there's no Wi-Fi. This could turn it right around!

RE: Moto G - Added by Paul Kocialkowski over 3 years ago

Well this is nothing new. If you look at it, all the WiFi drivers are free software in the kernel and the userspace has no magic in it and is free. What is proprietary and causes Replicant to not support WiFi out of the box is the proprietary WiFi firmwares.

I don't understand why that makes you think we're going yo have (fully) free WiFi anytime soon!

RE: Moto G - Added by Linus Drumbler over 3 years ago

Because I still haven't mastered your distinction between drivers, firmwares, and blobs.

RE: Moto G - Added by Paul Kocialkowski over 3 years ago

Yeah, I know these terms don't really have a precise technical meaning and many people use them in many different ways. For instance, CyanogenMod is sometimes called a firmware (that figures). But in order to be clear, we (GNUtoo and I) settled on precise meanings:
  • a driver is software that is part of the kernel, builtin or loaded as a module, and deals with the hardware
  • a blob is an proprietary user-space program that can be a standalone program or a library that deals with the hardware and acts like a driver, but in userspace
  • a HAL (hardware abstraction layer) is an userspace driver. We call blobs the proprietary HALs. I don't like using HAL and will refer to that as the "camera module" or "audio module", etc.
  • a firmware is software that does not run on the main processor (the CPU) but rather on a separate chip (e.g. the wifi firmware runs on the wifi chip)

RE: Moto G - Added by Daniel Kulesz over 3 years ago

It's very good that you have these terms defined. I would suggest to document them in the wiki, so there would be one defined please where to refer to them and what meaning certain, commonly used terms have.

RE: Moto G - Added by Paul Kocialkowski over 3 years ago

Yup, I added a part about terminology in the DeveloperGuide.

RE: Moto G - Added by Bantam Weight over 3 years ago

I have this phone and I have some doubts related to what you are discussing. Can you answer them please?

Has the ril of this phone access over ram/disk? I am more worried about privacy than freedom, so in general don't mind proprietary firmware and/or apps (they can be blocked by a firewall anyways), but a closed source ril with a vulnerability or a backdoor and with access to the system could be a scary thing.

Also, I know it is offtopic, but I keep seeing these concepts and they are not very clear to me. Are the ril, modem and baseband the same thing?

RE: Moto G - Added by Linus Drumbler over 3 years ago

The modem is the portion of the device that controls network communications. We have no access to the source code for any modem, so it could easily be spying on you. That's why we choose devices where the modem is "isolated", and can't control many hardware features. The RIL (Radio Interface Layer) communicates between the modem and the rest of the system. Our RILs are free software; you can see their source code at https://gitorious.org/replicant/hardware_ril_samsung-ril/source/8d0081ae32ea13821166bb11c6034e966c23a5cc: and https://gitorious.org/replicant/hardware_ril_hayes-ril/source/568ea7160a57bffa325e851854839db184480867: .

Paul would be the one to ask about modem isolation for this specific device, but I hope this answers your other questions.

In any case, Replicant can never port to this phone, even if it does get CyanogenMod support at some point. First off, it has a Qualcomm processor. Qualcomm phones generally have bad modem isolation and require lots of blobs. Second, its bootloader may be unlockable, but it's done through the Motorola Bootloader Unlock program, and that has these outrageous terms and conditions:

  • "User agrees not to transfer (i.e. sell, lease, or otherwise receive compensation from any third party for the right to use, possess, or operate such Device) such Device to any third party" (4)
  • "User authorizes Motorola to disable the Device and/or its connection to a wireless network, or to authorize a Wireless Carrier to disable the Device and/or its connection to a wireless network, in the event such Device is, in Motorola's sole determination, causing, or is likely to cause, harm to Motorola or the Wireless Carrier, the wireless network, or other subscribers on the wireless network" (12)

We don't want to force our users to give up their freedom like that.

RE: Moto G - Added by Linus Drumbler over 3 years ago

Pardon me; it seems that Qualcomm Motorola devices have an exploit: http://blog.azimuthsecurity.com/2013/04/unlocking-motorola-bootloader.html But their Qualcomm nature still makes a port highly unlikely.

RE: Moto G - Added by Bantam Weight over 3 years ago

These are some draconian terms, but I don't they will be legally allowed in many countries to enforce them. What worries me more is that people may be unlocking their motorola phones using their website and so they may be voiding their warranty forever, because they are basically telling Motorola: I am going to unlock this phone. So it is not clear to me wether the warranty will be back upon locking the bootloader again.

By the way, thanks for your explanation.

RE: Moto G - Added by Daniel Kulesz over 3 years ago

Well, this depends on how much you value the warranty (for a 200€ device? Well...) and how the vendor really will act in case you sent in a device with an unlocked bootloader. Some refuse any service, some refuse only certain repairs which might be caused by broken software. So in general it's not that bad.

It doesn't really matter whether you unlock the device via the website (most vendors have such an unlock procedure!) or via some other method where some QFuse is blown that indicates that the device was unlocked. Your only chance to "silently" and reversibly unlock the device is through issuing some exploit.

And regarding these draconian terms: Probably nobody will take them seriously, neither Motorola nor the users. And I agree with Bantam, in most countries they can't take away the right to sell the device from you.

RE: Moto G - Added by Bantam Weight over 3 years ago

What I ment by the website thing is: maybe if you send a broken smartphone they could refuse to fix it even if the bootloader is locked, because you got that code on their website, so they know the device was unlocked at some point. Of course I am not saying it is really like that.

RE: Moto G - Added by Daniel Kulesz over 3 years ago

Yes but as far as I understand this, it's the same as if the QFuse is blown, even if you don't unlock the device by obtaining a code through some website. For instance, on Nexus devices you also agree to void your warranty by opening the bootloader, so if you send in the device for repairs and re-lock the device they probably still will be able to determine whether the bootloader was ever opened or not.

RE: Moto G - Added by Linus Drumbler almost 3 years ago

CyanogenMod now supports this device. http://wiki.cyanogenmod.org/w/Falcon_Info and it does not, in fact, have a Qualcomm processor. As for the bootloader unlock terms, I now realize that they're pretty much unenforceable. I don't know about the blobs, though; the repository doesn't have a complete list.

Paul, is this worth a second look?

RE: Moto G - Added by Paul Kocialkowski almost 3 years ago

it does not, in fact, have a Qualcomm processor

Sorry, but it does, there are many such indications: the kernel is msm8226 (qualcomm), cm.dependencies has lots of qualcomm dependencies and Wikipedia shows it has a "Qualcomm Snapdragon 400" SoC.

Paul, is this worth a second look?

Same answer as before, still too many blobs due to it being Qualcomm. I could try and list them all from the dependencies repos but I can tell it'll be too long. Modem isolation is also probably very bad and the bootloader proprietary as well (if the main CPU is not booted by the modem at all).

(1-18/18)