Interview: Harald Welte (part 1)
The good news is that Harald Welte has managed to open the a780 and install new software onto it. With the OpenEZX Project, he is working on creating a full replacement for the stock software for Motorola's EZX phone platform. The following interview, the first in a two-part series, discusses the current and future state of OpenEZX.
LWN: What is the status of the OpenEZX project now? Is it at a point where relatively casual users might want to play with it?
We have both a working debian-arm root filesystem and an OpenEmbedded one. You can boot your phone using 100% Free Software (blob boot loader, linux kernel, ...), ssh into it via usbnet, start a KDrive X11 server, use your stylus, etc.
However, one of the most fundamental pieces (interaction with the actual 'phone' part, i.e. making calls) is not yet there. After Motorola has released (after much pressure) the sources for the formerly-proprietary kernel modules implementing this, I'm half way through to port them to 2.6. and integrate them.
However, since I'm virtually the only guy working on the -ezx kernel tree, and I have many other projects and real-world issues to take care of, progress is quite slow.
I expect that within one month, we'll have the phone part working, and can work on the remaining sound + camera drivers.
What obstacles remain before an a780 or similar phone will actually be useful as a phone while running a free 2.6 kernel? How can interested people help?
For getting the phone part working, somebody with kernel device driver development, esp. in the tty layer, usb driver and networking area (in this priority) would be required. For me, the tty layer is new, I'm only familiar with networking and usb driver development.
Once the basics have been taken care of, do you have a shopping list of improvements to make which would take these phones beyond what Motorola ships?
- add cryptographically secure storage for all personal data such as contacts, calender, SMS, etc.
- make sure nobody can just dump the flash contents by plugging in a USB cable (like it is the case with the stock models)
- get the Linux native IPsec code running over GPRS
- add support to use a Bluetooth keyboard with the phone
- add a Jabber IM client to the phone. Who wants SMS if they can send and receive Jabber messages over GPRS?
Is Motorola cooperating with (or hindering) this project in any way?
As for the general GPL compliance (which helps OpenEZX, but which is a legal requirement): Hard to say. To my impression, on the one hand, there are some technical people who really like to help the GPL compliance, and who are pressing for releasing the source of formerly-proprietary modules. They actually also want to get me phone samples in order to help them identify any remaining GPL issues, which is good.
On the other hand, there seem to be some corporate/legal folks who try to play hard, cause delays, and have very rude negotiation skills. I guess they don't really understand what they're doing there.
On the technical front, I've heard some rumors that the A1200 and especially the later models will make use of the TPM (yes, the PXA270 has a TPM!) in order to ensure nobody boots non-Motorola-signed kernels. To me, this would be a clear violation of the intent of even GPLv2, and should those rumours become true, I'll certainly do anything to enforce my position on this. But as said, all rumours, nothing definitive known yet.
Many thanks to Harald for answering these questions. Stay tuned for part
two of this interview (covering Harald's GPL enforcement activities), which
will appear within the next week or two.
Posted Jun 13, 2006 1:08 UTC (Tue)
by ksoonson (guest, #2730)
[Link] (3 responses)
Posted Jun 13, 2006 1:53 UTC (Tue)
by wilreichert (guest, #17680)
[Link]
Posted Jun 13, 2006 3:47 UTC (Tue)
by corbet (editor, #1)
[Link] (1 responses)
We'll probably run it in about a week, I think it will be worth the wait.
Posted Jun 15, 2006 2:45 UTC (Thu)
by cventers (guest, #31465)
[Link]
Posted Jun 13, 2006 16:19 UTC (Tue)
by wilck (guest, #29844)
[Link] (1 responses)
I thought that forbidding this was one of the main innovations og GPLv3, and (part of) the reason why Linus wants to stick with v2 ... did I get that wrong?
Posted Jun 14, 2006 7:47 UTC (Wed)
by coriordan (guest, #7544)
[Link]
When DRM prevents users from being able to adapt GPL'd software to suit their needs, it violates the "spirit", the "licensor's intent", and implicit provisions ("complete source code") in GPLv2.
These things have legal value, but GPLv3 makes these things explicit so as to create a more solid base for free software copyright holders to stand on if they should need to enforce their licence. Making things clear and explicit is important because every court case involves a certain amount of chance, and interpretations and precedents may differ around the world.
Also, making things clear and explicit may deter some infringements. People won't base a business model on something that will obviously fail in court.
What does Linus want / not want? I haven't been able to understand his comments.
Posted Jun 15, 2006 7:07 UTC (Thu)
by meyert (subscriber, #32097)
[Link]
Posted Jun 15, 2006 10:00 UTC (Thu)
by simlo (guest, #10866)
[Link] (2 responses)
Well, I see nothing in GPLv2 which says you have to be able to run the software on a specific device. You can always build your own hardware or a simulator.
Would it also be against GPL to put the kernel on a ROM? Then you have to solder to update the software. That is doable, but what if that ROM is build into the CPU chip?
I think using TPM technologies are not always evil. Legal requirements might make it illegal to sell phones where the user can manipulate the transmitter. TPM is a way to make it legally possible to use Linux on such phones. The only other alternative would be to use another OS and not publish the source code at all. Then I would prefer a phone running Linux, although I can't change the kernel. (Ofcourse, a good compromise would be if the phone can boot your own kernel, but just wouldn't be able to transmit, if it isn't signed.)
Posted Jun 18, 2006 16:48 UTC (Sun)
by tialaramex (subscriber, #21167)
[Link] (1 responses)
We /already know/ that people hack the existing binary-only firmware for 802.11 devices to uprate their power, and the relevant government agencies haven't done anything to punish the manufacturers because they quite reasonably blame the /users/ not the manufacturers for this unlicensed use.
Therefore the argument that software needs TPM to obey legal restrictions is a bogus one.
Posted Jun 19, 2006 13:24 UTC (Mon)
by sepreece (guest, #19270)
[Link]
It also totally ignores the question of network operator requirements. Neither the network operator or you, as a customer, would be happy if it were easy for another user to initiate a denial-of-service attack by modifying her phone to transmit continuously on the paging channel or to repeatedly place emergency calls in a tight, infinite loop. Manufacturers who build phones that allowed such modifications to be easy would find themselves unable to sell to network operators.
One way to balance things might be to have a hard separation between the radio-control software and the user environment. Most Linux-based phones today do have such a divide, including the ones Welte is working with, but it has typically been designed that way for engineering reasons (separating real-time from non-real-time concerns), and without any attention to protecting the radio side from malicious user-side software.
For further thought, here's an excerpt from the FCC regulations on SDR; note that paragraph (b) says that unless that division between domains is hard, the manufacturer MUST take steps to assure that only trusted software is used:
2.944 Software defined radios.
(a) Manufacturers must take steps to ensure that only software that
(b) Any radio in which the software is designed or expected to be
(c) Applications for certification of software defined radios must
Posted Jun 16, 2006 17:25 UTC (Fri)
by pimlott (guest, #1535)
[Link]
I expect that within one month, we'll have the phone part working, and can work on the remaining sound + camera drivers.
Posted Jun 16, 2006 17:39 UTC (Fri)
by mogul (guest, #3163)
[Link]
I'd also like information on the similar project to get a fully-featured environment Linux running on the Palm Treo 650, which has tons of potential. The Treo has a keyboard, bluetooth, mouse (stylus), IR, and there's even an SD WiFi card available. The existence of Palm emulators for Linux means that in addition to Linux binaries, a hacked Treo can run all the myriad existing Palm software, even stuff sitting in the original firmware, when the need arises. (Oh MetrO, where would I be without you? Probably rotting dead in a London sewer somewhere...)
There's a bunch of info here:
...but I'm not seeing a feed or some other way to easily keep up with changes. One thing to note, though, is that this port is already able to dial the phone...!
As it stands, I already use the Treo 650 in place of numerous devices: Phone, USB thumbdrive (via Softick cardexport and bluefiles/obexfs), eBook reader, music player, video player (TCPMP), RSS reader (via Bloglines), etc. Not only does it do these things, but it does them so well that I feel dumb carrying around a PSP, which only does half those things, and rather poorly (the PSP is great at games, which the Treo is not, however).
Things it doesn't do well? The ssh clients out there suck. The only decent XMPP client is proprietary and also fairly suck (Chatopus). The web browser sucks for any but the most basic sites, and half my life is now server-side in Web 2.0 services (del.icio.us, gmail, google calendar, etc). While existing Linux apps for this kind of stuff are not intended for a mobile environment, I'd much rather start hacking there doing things like contributing to Minimo (mobile Firefox) than try to figure out how to write a better-than-stock web browser from scratch for Palm OS.
Joe Bob says check it out...
Posted Jun 17, 2006 13:48 UTC (Sat)
by anonymous21 (guest, #30106)
[Link]
Cant wait to see this running on a e680i as well!
I am more interested in part II :-)Interview: Harald Welte (part 1)
Same here.Interview: Harald Welte (part 1)
We save the best for last...:)
Part 2
I think I find this part just as interesting. I've been interested in Part 2
smartphone hacking and this might be a place to tinker.
> To me, this would be a clear violation of the intent of even GPLv2TPM & GPLv2
TPM & GPLv2
Another gadget running linux: http://opentom.org/Interview: Harald Welte (part 1)
> On the technical front, I've heard some rumors that the A1200 and TPM and GPL(v2)
> especially the later models will make use of the TPM (yes, the PXA270 has a
> TPM!) in order to ensure nobody boots non-Motorola-signed kernels. To me,
> this would be a clear violation of the intent of even GPLv2, and should
> those rumours become true, I'll certainly do anything to enforce my
> position on this. But as said, all rumours, nothing definitive known yet.
Going to the other extreme: Someone gives you a PC with Linux on a CDROM in the CDROM-drive. Oh! That is read-only, you can only change the Linux kernel by changing CDROM, i.e. changing hardware. Is that forbidden too?
I can come up with other exambles, where having a device running a TPM locked Linux is the most preferable solution. I have before mentioned the idea of having intelligent electricity, water, heat meters running a trusted (by the provider, not the home owner) Linux.
The legal requirement for radio transmission is that the user cannot /normally/ tweak the radio parameters outside those licensed. That means the manual shouldn't explain how to do it, and no amount of twiddling with the knobs, changing preference settings or other "user-type activity" can be permitted to exceed the licensed specifications - But it /doesn't/ mean you need to seal the entire product in resin, or that you must keep the source code secret. It should suffice to ensure that anyone modifying the system to exceed licensed specifications must be aware of their actions.TPM and GPL(v2)
I think this substantially understates the legal requirements that radio manufacturers (for radios that transmit) must meet.TPM and GPL(v2)
has been approved with a software defined radio can be loaded into the
radio. The software must not allow the user to operate the transmitter
with operating frequencies, output power, modulation types or other
radio frequency parameters outside those that were
approved. Manufacturers may use means including, but not limited to
the use of a private network that allows only authenticated users to
download software, electronic signatures in software or coding in
hardware that is decoded by software to verify that new software can
be legally loaded into a device to meet these requirements and must
describe the methods in their application for equipment authorization.
modified by a party other than the manufacturer and would affect the
operating parameters of frequency range, modulation type or maximum
output power (either radiated or conducted), or the circumstances
under which the transmitter operates in accordance with Commission
rules, must comply with the requirements in paragraph (a) of this
section and must be certified as a software defined radio.
include a high level operational description or flow diagram of the
software that controls the radio frequency operating parameters
Interview: Harald Welte (part 1)
However, since I'm virtually the only guy working on the -ezx kernel tree, and I have many other projects and real-world issues to take care of, progress is quite slow.
This is sort of like saying, Linux is quite slow, it takes five seconds to run an infinite loop.
Nice to see this happening. Interview: Harald Welte (part 1)
http://www.handhelds.org/moin/moin.cgi/PalmTreo650
Great work!Interview: Harald Welte (part 1)