Low level access to cell phone chip on Dev Phone 2

by BenYL » Thu, 21 Jan 2010 02:31:03 GMT

Sponsored Links
 For a indoor localization application, we would like to send out a
specific bit pattern across one of the cell phone bands on the Dev
Phone 2. Is this sort of low-level access possible?


Other Threads

1. the problem with android kernel


Android and the Linux kernel community
As the Android kernel code is now gone from the Linux kernel, as of the
2.6.33 kernel release, I'm starting to get a lot of questions about what
happened, and what to do next with regards to Android. So here's my opinion
on the whole matter...

First off, let me say that I love the Android phone platform. [Until last
week][^1], I used my developer G1, that I bought, every day. It worked
wonderfully for me, and as a user, I was more than happy.

I'm also very happy about Android from a technical perspective. It's amazing
that Google has taken the Linux kernel, and nothing else from a
"traditional" Linux system, and created a portable and robust phone
platform. It's so different that you can drop in a "real" Linux system image
on top of the Android system, and they both work just fine with no changes

Android also solves the problem that the phone manufacturers had been having
for many years: a free version of Java, and a unified application layer that
programmers can write to that will work on all phone platforms that
integrate it. Because of this, all of the existing "Linux Phone Consortium"
groups are doomed and will probably close up silently very soon now, if they
haven't already.

What's wrong?

So, what happened with the Android kernel code that caused it to be deleted?
In short, no one cared about the code, so it was removed. As I've stated
before, code in the staging tree needs to be worked on to be merged to the
main kernel tree, or it will be deleted.

But there's a much bigger problem here.

The Android kernel code is more than just the few weird drivers that were in
the drivers/staging/android subdirectory in the kernel. In order to get a
working Android system, you need the new lock type they have created, as
well as hooks in the core system for their security model.

In order to write a driver for hardware to work on Android, you need to
properly integrate into this new lock, as well as sometimes the bizarre
security model. Oh, and then there's the totally-different framebuffer
driver infrastructure as well.

This means that any drivers written for Android hardware platforms, can not
get merged into the main kernel tree because they have dependencies on code
that only lives in Google's kernel tree, causing it to fail to build in the
kernel.org tree.

Because of this, Google has now prevented a large chunk of hardware drivers
and platform code from ever getting merged into the main kernel tree.
Effectively creating a kernel branch that a number of different vendors are
now relying on.

Now branches in the Linux kernel source tree are fine and they happen with
every distro release. But this is much worse. Because Google doesn't have
their code merged into the mainline, these companies creating drivers and
platform code are locked out from ever contributing it back to the kernel
community. The kernel community has for years been telling these companies
to get their code merged, so that they can take advantage of the security
fixes, and handle the rapid API churn automatically. And these companies
have listened, as is shown by the larger number of companies contributing to
the kernel every release.

But now they are stuck. Companies with Android-specific platform and drivers
can not contribute upstream, which causes these companies a much larger
maintenance and development cycle.

What would be needed to get the Android core code merged?

When the Android code was merged into the staging tree, a number of kernel
developers reviewed the code and pointed out places that needed to be
cleaned up, and changed, in order for it to be accepted. A number of these
changes will affect the kernel/userspace boundry, so some changes to the
Android userspace logic would also need to be changed if these kernel
changes are made, preventing anyone except a Google employee from making the
changes necessary.

So, what to do?

I really don't know. Google shows no sign of working to get their code
upstream anymore. Some companies are trying to strip the Android-specific
interfaces from their codebase and push that upstream, but that causes a
much larger engineering effort, and is a pain that just should not be


I do hold out hope that Google does come around and works to fix their
codebase to get it merged upstream to stop the huge blockage that they have
now caused in a large number of embedded Linux hardware companies.

I've privately offered in the past to help this work get done, and am doing
again here publicly. But I need the help of the Google developers to make it
happen, without them, nothing can change.

The good news is that it looks like all of the kernel/userspace api changes
will have no affect at all on any Android code higher up the stack (like
applications), so all of this work can be done with no problem in the
overall system.

As for me, I think I'll look into getting a Nokia N900. It looks much more
open, with the code mostly all upstream, and a much more active developer

[^1]: footnote text goes here

posted Thu, 09 Dec 2010 in [/linux]

http://ryosaeba.wordpress.com ~ things left unsaid


2. resultCode in onActivityResult returns 0

Hi I have one activity which invoked another activity

roomIntent.putExtra("roomName",roomNM );

protected void start(Intent intent)

        protected void onActivityResult(int requestCode, int resultCode,
Intent data)
                System.out.println (requestCode);

                        case Room_SELECT:

                                System.out.println (resultCode);  //here it 
returns 0
                                 if (resultCode == RESULT_OK)
//Because result code returns 0 therefore this if conditio does not


And here is my other activity which returns result.

public class RoomList extends ListActivity
        Bundle extras = getIntent().getExtras();
        if(extras !=null)
                value = extras.getString("roomName");
                sw = getSwitchNameArray(value);
        setListAdapter(new ArrayAdapter<String>(this,
        final ListView listView = getListView();

listView.setOnItemClickListener(new ListView.OnItemClickListener() {

                        public void onItemClick(AdapterView<?> arg0, View arg1, 
int arg2,
                                        long arg3)
                                // TODO Auto-generated method stub
                                System.out.println ("User checked boxes");

                                if (listView.isItemChecked(arg2))
                                        room = (String) 
                                        System.out.println ("Size 


                                        String str = (String) 
                                        System.out.println ("Size 


        protected void onPause()

        System.out.println ("User click on back button");

        mySwitches = new String[selectedRooms.size()];
        int str = mySwitches.length;
        System.out.println ("!...@#!@#...@#"+str);
        Intent returnIntent = new Intent();
        returnIntent.putExtra("SelectedSwitches", str);
        System.out.println ("Before calling finish");
        System.out.println ("After calling finish");

  public String[] getSwitchNameArray(String rn)
......returns string array

I think in resultCode I get 0 because I write
setResult(RESULT_OK,returnIntent);  inside onPause () method. Or there
is another problem? I had write that inside onPause bacause in this
activity I am calculating name of selected items. And I never knows
when user had finished selecting items. After writing code inside
onPause I know what item user had selected from list and I can pass
them to the calling activity.

I think better approach is to add one button means suppose user click
on save button then selected item will be sent to the calling
activity. Want your opinion? where should write code. If it doesn't
affect write inside onPause() then why I got 0 from resultCode.


3. Kecewa dgn SS atas penjualan journey

4. Android bluetooth api connect to multiple devices at the same time

5. CM 6.1.1 New Market

6. teathering di jurney kok gak jalan

7. Firmware Galaxy 5 (GT-I5503)