Camera not working in android-4.0.1_r1.2 on Galaxy Nexus

1,693 views
Skip to first unread message

Dirk Jäckel

unread,
Dec 9, 2011, 10:00:42 AM12/9/11
to android-...@googlegroups.com
Hi!

I built android-4.0.1_r1.2 for Maguro (userdebug) succesfully but the
Camera throws the following exception when I try to start it:

------ SNIP -----
I/ActivityManager( 404): START {act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER] flg=0x10200000
cmp=com.android.camera/.Camera bnds=[40,785][200,985]} from pid 723
I/WindowManager( 404): createSurface Window{41af3fa8 Starting
com.android.camera paused=false}: DRAW NOW PENDING
I/ActivityManager( 404): Start proc com.android.camera for activity
com.android.camera/.Camera: pid=3709 uid=10007 gids={1006, 1015}
I/InputReader( 404): Reconfiguring input devices. changes=0x00000004
I/InputReader( 404): Device reconfigured: id=6, name='Melfas MMSxxx
Touchscreen', surface size is now 720x1280, mode is 1
I/ActivityManager( 404): Config changed: {1.0 262mcc7mnc de_DE
layoutdir=0 sw360dp w598dp h360dp nrml land finger -keyb/v/h -nav/h
s.29}
D/OpenGLRenderer( 723): Flushing caches (mode 0)
D/OpenGLRenderer( 472): Flushing caches (mode 0)
E/CameraHAL( 388): Couldn't get camera properties
W/dalvikvm( 3709): threadid=12: thread exiting with uncaught exception
(group=0x40a701f8)
E/AndroidRuntime( 3709): FATAL EXCEPTION: Thread-112
E/AndroidRuntime( 3709): java.lang.RuntimeException: Fail to get camera info
E/AndroidRuntime( 3709): at
android.hardware.Camera.getCameraInfo(Native Method)
E/AndroidRuntime( 3709): at
com.android.camera.CameraHolder.<init>(CameraHolder.java:102)
E/AndroidRuntime( 3709): at
com.android.camera.CameraHolder.instance(CameraHolder.java:66)
E/AndroidRuntime( 3709): at com.android.camera.Util.openCamera(Util.java:267)
E/AndroidRuntime( 3709): at com.android.camera.Camera$4.run(Camera.java:1009)
E/AndroidRuntime( 3709): at java.lang.Thread.run(Thread.java:856)
D/OpenGLRenderer( 472): Flushing caches (mode 0)
D/OpenGLRenderer( 472): Flushing caches (mode 0)
W/ActivityManager( 404): Force finishing activity com.android.camera/.Camera

------ SNIP -----

What am I doing wrong?


Regards,
Dirk

Jean-Baptiste Queru

unread,
Dec 9, 2011, 10:09:49 AM12/9/11
to android-...@googlegroups.com
You're not doing anything wrong. The DSP firmware isn't available in
AOSP, and the camera doesn't work without it.

JBQ

> --
> You received this message because you are subscribed to the "Android Building" mailing list.
> To post to this group, send email to android-...@googlegroups.com
> To unsubscribe from this group, send email to
> android-buildi...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-building?hl=en
>

--
Jean-Baptiste M. "JBQ" Queru
Software Engineer, Android Open-Source Project, Google.

Questions sent directly to me that have no reason for being private
will likely get ignored or forwarded to a public forum with no further
warning.

Dirk Jäckel

unread,
Dec 9, 2011, 10:18:26 AM12/9/11
to android-...@googlegroups.com
On Fri, Dec 9, 2011 at 16:09, Jean-Baptiste Queru <j...@android.com> wrote:
> You're not doing anything wrong. The DSP firmware isn't available in
> AOSP, and the camera doesn't work without it.
>
> JBQ
>

Thanks for the fast reply!

Is there a way to extract the DSP firmware from an installed version
of the factory images?


Regards,
Dirk

bk201

unread,
Dec 10, 2011, 7:18:37 AM12/10/11
to Android Building
If i may,
I was able to get camera working. just connect phone with adb, and
run:
'. device/samsung/maguro/extract-files.sh'
'make clobber'
rebuild.

Jean-Baptiste Queru

unread,
Dec 10, 2011, 3:57:48 PM12/10/11
to android-...@googlegroups.com
That's my private development tool, and it's not meant to be used by anyone else.

JBQ

Samuel B. Quiring

unread,
Dec 10, 2011, 12:41:05 PM12/10/11
to android-...@googlegroups.com
Hi,

I have been maintaining seperate ICS source trees for each device I'm
targetting. Is this really necessary? Suppose I want to build for
the emulator and the Samsung Galaxy Nexus out of the same source tree,
can I do this:

$ lunch full-eng
$ make
$ lunch full_maguro-userdebug
$ make

Or must I do a "make clobber" before the second make? On my wimpy
build machine, "make clobber" causes the resulting make to take so
long I avoid it as much as possible. The processor may be slow, but
the disk is big, so separate source trees is not a space problem.
But it is a logistics problem, having to copy changes back and forth
is error prone and I'm getting tired of it.

-Sam

Jean-Baptiste Queru

unread,
Dec 10, 2011, 4:02:01 PM12/10/11
to android-...@googlegroups.com
That's definitely not necessary. You can share multiple targets in the same tree, and that works fine. It'll save you disk space (every new target in a tree that's already been built costs about 7GB) and build time (this shares some of the build results between targets).

Note that at any given time you can only have one build config "live" per hardware device, so if you use multiple configs per hardware device you'll need to run"make" when switching. This is fast.

JBQ

Bruno Saraiva

unread,
Dec 10, 2011, 10:40:47 PM12/10/11
to Android Building
Hi Jean,
I am not really sure how to reply to this, but first of all, I
understand you are a software engineer working with AOSP. I mean no
disrespect, but please try to put yourself in the shoes of another.
I am perfectly aware that the software that is publicly available on
aosp repo, is not owned by me. To who extract-files.sh belongs, I
don't know, because it's not properly identified. I thought it
belonged to Google. Thank you for clarifying that, it might even be
your private development tool, and although I do understand your
concern and request, I actually bought galaxy nexus because of this.
Finding stuff. I'm not going to do anything with them. I understand
the files are proprietary. I don't even want to know why I'm having
such issues with proprietary files on a Nexus Phone, which is why
we're having this conversation, and why it sounds bad when a software
engineer for aosp say that such a tool is not meant to be used by
anyone else. If it's private, why is it on a public repo in the first
place?
I just want to build, test and make stuff, run my own flavour, submit
something if I think it's good enough, share with the community. I
don't use my camera very much, but I do enjoy the ocasional panoramic
shot from time to time.
When will we have the sources to make our own flavours without
proprietary files, can you tell us that?

Regards,
bsaraiva

Jean-Baptiste Queru

unread,
Dec 11, 2011, 9:46:50 AM12/11/11
to android-...@googlegroups.com
In detail: the script itself is Open-Source. However it deals with files that are not Open-Source. I could put a disclaimer about that in the scripts themselves.

I make those scripts available to the public in a spirit of openness: those allow the general public to see how I do some of my work, and those can also help OEMs who'd want to provide downloadable proprietary binaries the way I do on code.google.com. That also means that people get to peek deeper in the proverbial sausage factory and see more of the guts of the system.

I don't expect that we'll ever get rid of proprietary binaries entirely, because we're simply never going to have Open-Source graphics libraries for OpenGL, and Android doesn't run without hardware-accelerated OpenGL. There's good progress in other domains, but it's chipset-dependent so it's not always steady: e.g. we can use the GPS in Nexus One without any proprietary binaries, or the camera in Nexus S, or wifi and the compass in Galaxy Nexus.

I very much understand why those proprietary files are so vitally important for AOSP, and that's why I've been spending so much time trying to get those binaries distributed during the last 3 years. There's been some good progress, and from ADP1 to Nexus 1 to Nexus S to Galaxy Nexus I've been able to improve the situation every single time, but there's also still some progress to make, and I'm already working on several improvements for future devices.

JBQ

Dirk Jäckel

unread,
Dec 13, 2011, 4:10:43 PM12/13/11
to android-...@googlegroups.com
Hi!

The camera and GPS is working now thanks to extract-files.sh.

But NFC is not available in the settings anymore and it doesn't seem to work.

Is this is binary driver problem too?

If I find the driver in the factory images, and install it to the AOSP
image will it work?

Regards,
Dirk

Jean-Baptiste Queru

unread,
Dec 13, 2011, 4:35:28 PM12/13/11
to android-...@googlegroups.com
As far as I know NFC doesn't have any hard requirements on any
libraries, the chip comes with a factory firmware that's enough to
read tags for sure (I've tested that), and everything else it
Open-Source.

The Open-Source code looks for an optional enhanced firmware at
/system/vendor/firmware/libpn544_fw.so

JBQ

Reply all
Reply to author
Forward
0 new messages