Which binary images for MX53QSB (DA9052 version)?

cancel
Showing results for 
Search instead for 
Did you mean: 

Which binary images for MX53QSB (DA9052 version)?

1,201 Views
WolfgangW
Contributor I

Hi all,

please don't flame me, I think I must be missing the forest for the trees, but could not find any thread for this yet.

I am trying to get a very easy set-up for the MX53QSB or similar platform to allow others starting to play with it without having to fiddle around with LTIB. So I thought, just using a binary image of Ubuntu or Android would be the way to go - but I can't get any of them to run, let alone run stable.

I tried:

- Ubuntu lucid supplied with MX53QSB (or maybe Rita board?): it runs, but is unstable in terms of video player and display output (HDMI - as soon as I start any application, the screen starts to flicker and/or turns black completely)

- Ubuntu from Freescale web site (MCIM535-START-UBUNTU-1109-Demo-Image): no HDMI output

- Ubuntu precise pangolin (link posted some time ago here on the board, but I don't find it right now): takes ages to boot, sometimes does not boot at all, crashes frequently, could not yet try video playback

- Android from Freescale web site (imx-android-r10.4_bundle_BSP): does not boot correctly, U-Boot can not communicate via I2C - maybe not suitable for QSB at all?

- Android from Adeneo (FSL-iMX53-QSB-DROID_adeneo_android_iMX53_r42): starts, seems stable (reproducible startup), but the launcher crashes ("com.android.launcher terminated unexpectedly" or something)

Did I try the wrong images? Is there any other version of files I should try? I cannot imagine I am the only one having such problems or wanting to use binary images? I tried two different boards, and both of them run fine with the minimal root fs from Freescale or my own images produced with LTIB, so I think I can rule out hardware problems.

Any success stories are welcome! :-)

Best regards, Wolfgang 

Labels (1)
0 Kudos
11 Replies

837 Views
VicCiv
Contributor I

Hi, community!

I like this imx processor. It work with Linux. Nice!

But, I dont like QSB support. Have many documentations, but its for high level professionals.

My level is "sudo dd if=xxx.img of=/dev/mmcblk1". Where is .img files? No!

I work with 11.09 software version, but w/o patches. In videoplayer some files work, some not.

Community, if any have nice working .img files, please, give others.  Thanks!

And will be 12.04 soft version or not will be?

0 Kudos

837 Views
rlorriaux
Contributor I

Hi Wolfgang,

I think we are on to something.

The page allocation failure is due to the value of vmalloc, which is definitely too low here. I would go proceed by increments and multiply it by two. You probably have to expect a value that is in the order of 256MB (definitely no more than 400MB). Since you are getting this error, the framebuffer is not initialized properly and falls back to a very low resolution, which brings us back to the VGA case.

You probably want to increase pmem as well.

Remi Lorriaux - Adeneo Embedded

0 Kudos

837 Views
WolfgangW
Contributor I

Hi Remi,

sorry, did not have time for another check until now! :-(

I just gave it a try with bluntly adding "pmem=32M vmalloc=32M" to the hdmi_1080p environment variable, and the system booted. Funny enough, the resolution in android is now set to 720x400 (at least that's what my Samsung monitor says), and there is an allocation failure during kernel boot:

swapper: page allocation failure. order:11, mode:0x1
[<8003e58c>] (unwind_backtrace+0x0/0xf0) from [<800acad4>] (__alloc_pages_nodemask+0x500/0x568)
[<800acad4>] (__alloc_pages_nodemask+0x500/0x568) from [<8003efb0>] (__dma_alloc+0xec/0x2b8)
[<8003efb0>] (__dma_alloc+0xec/0x2b8) from [<8003f198>] (dma_alloc_writecombine+0x1c/0x24)
[<8003f198>] (dma_alloc_writecombine+0x1c/0x24) from [<802034f4>] (mxcfb_set_par+0xd0/0x44c)
[<802034f4>] (mxcfb_set_par+0xd0/0x44c) from [<801f6380>] (fb_set_var+0x1b0/0x290)
[<801f6380>] (fb_set_var+0x1b0/0x290) from [<802052a8>] (mxcfb_probe+0x848/0x9f8)
[<802052a8>] (mxcfb_probe+0x848/0x9f8) from [<80236e44>] (platform_drv_probe+0x18/0x1c)
[<80236e44>] (platform_drv_probe+0x18/0x1c) from [<80235fb0>] (driver_probe_device+0xc8/0x184)
[<80235fb0>] (driver_probe_device+0xc8/0x184) from [<802360cc>] (__driver_attach+0x60/0x84)
[<802360cc>] (__driver_attach+0x60/0x84) from [<802357c0>] (bus_for_each_dev+0x48/0x84)
[<802357c0>] (bus_for_each_dev+0x48/0x84) from [<802350fc>] (bus_add_driver+0x98/0x214)
[<802350fc>] (bus_add_driver+0x98/0x214) from [<802363b8>] (driver_register+0xa8/0x138)
[<802363b8>] (driver_register+0xa8/0x138) from [<8001ebbc>] (mxcfb_init+0xc/0x2c)
unwind: Unknown symbol address 8001ebbc
unwind: Index not found 8001ebbc
Mem-info:
DMA per-cpu:
CPU 0: hi: 18, btch: 3 usd: 17
Normal per-cpu:
CPU 0: hi: 186, btch: 31 usd: 98
active_anon:0 inactive_anon:0 isolated_anon:0
active_file:0 inactive_file:70 isolated_file:0
unevictable:0 dirty:0 writeback:0 unstable:0
free:132279 slab_reclaimable:13 slab_unreclaimable:205
mapped:0 shmem:0 pagetables:0 bounce:0
DMA free:15872kB min:528kB low:660kB high:792kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon)
:0kB isolated(file):0kB present:97536kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kerne
l_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 436 436 436
Normal free:513244kB min:2420kB low:3024kB high:3628kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:280kB unevictable:0kB isola
ted(anon):0kB isolated(file):0kB present:447232kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:52kB slab_unreclaimabl
e:820kB kernel_stack:168kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0 0
DMA: 4*4kB 4*8kB 5*16kB 4*32kB 2*64kB 3*128kB 1*256kB 1*512kB 2*1024kB 4*2048kB 1*4096kB 0*8192kB 0*16384kB = 15872kB
Normal: 1*4kB 3*8kB 2*16kB 5*32kB 4*64kB 0*128kB 1*256kB 3*512kB 1*1024kB 1*2048kB 2*4096kB 3*8192kB 29*16384kB = 513244kB
76 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap = 0kB
Total swap = 0kB
139264 pages of RAM
132415 free pages
5705 reserved pages
172 slab pages
6 pages shared
0 pages swap cached
mxc_sdc_fb mxc_sdc_fb.1: Unable to allocate framebuffer memory
detected fb_set_par error, error code: -12
mxc_sdc_fb: probe of mxc_sdc_fb.1 failed with error -12

But still, the system finished boot and I can use the android system via HDMI output like this.

As far as I understand, pmem is only for android, and vmalloc limits the memory the kernel can allocate for its own purpose, is this the right direction?

I have attached logcat output of this boot, in case it can help. Sorry, want to leave now, and won't be available until monday due to (company) holidays... Many thanks for your hints, I will definitely do some more experimenting next week!

Best regards,
Wolfgang

0 Kudos

837 Views
rlorriaux
Contributor I

Hi Wolfgang,

When you increase the GPU memory, the display does start slowing down, so 64M happened to be the sweet spot. As far as memory goes, the other parameters that can be modified are 'pmem' and 'vmalloc'. If that does not work, I will probably be out of ideas, which is sad because I still have no repro on my side. If you happen to have another board, try it out.

Android can set the mode itself, independently of Linux. If you look at the "Adeneo" patches in the BSP release, you can find the place where it happens.

Remi Lorriaux - Adeneo Embedded

0 Kudos

837 Views
WolfgangW
Contributor I

Hi Remi,

it seems no guinea pig will be harmed in these tests, so no problem for me. ;-)

I tried setting gpu_memory to 16, 32, 64, 128 and 192 - without any change. Only at 192M setting, the mouse pointer gets jerky to unusability, so there seems to be a real limit. ;-)

However, I just noticed that the system seems not to adhere to the resolution given to the kernel from U-Boot, but instead uses EDID info from the monitor - at least partially. With my slightly stubborn SyncMaster B2240 (1680x1050 native), it seems to switch to some 1440x??? (the monitor identifies it as 1440x1440) when enabling the android splash screen. During boot, while the penguin logo is displayed, the monitor identifies it as 1280x960 (HDMI_720p) or 720x400 (HDMI_1080p). I have another monitor for testing (AOC e2239Fwt), but this one does not like the signal at all and shows "invalid signal".

Anything else I could try?

Best regards,
Wolfgang

0 Kudos

837 Views
rlorriaux
Contributor I

Hi Wolfgang,

That tells me that there is an issue with memory: HDMI uses more RAM and it looks like the Java VM is failing to allocate memory. What is troubling me is that I have never encountered this problem, even when using HDMI. I guess I will use you as a guinea pig if you don't mind.

Can you try doubling the gpu_mem size (in U-Boot)?

Remi Lorriaux - Adeneo Embedded

0 Kudos

837 Views
WolfgangW
Contributor I

Hi Remi,

thank you for the hints! I would never have thought about this, but with VGA (setenv set_display run vga), the system seems to be running fine! At least I get the regular home screen, can open the launcher and start applications - no time for any further tests yet.

HDMI 720p did not work, same error as with 1080p. What is interesting is that the unlock slider is horizontally aligned in HDMI mode and vertically in VGA mode, is this of any significance?

I have attached the logcat output for HDMI 1080p - please let me know what else I could do to help debugging this!

Best regards,
Wolfgang

0 Kudos

837 Views
rlorriaux
Contributor I

Wolfgang,

Your SD log and boot log look good, so no issues there. Could you also post the output of logcat?

A few things to try:

- Boot with VGA

- Boot with 720p

Remi Lorriaux - Adeneo Embedded

0 Kudos

837 Views
Filippo
Contributor III

Hi Wolfgang,
I have used the Adeneo Android, and on the QSB-STARTR and with the lcd module runs fine. The touch screen is a bit hard to run, but it's ok. I have installed google play, and I have Astro on my board. I'm using an R board, and maybe here is the difference.
If I remember well, there is a patch for the R board from Adeneo, and I suspect that patch is not needed for the non-R board as your's seems. And if I remember well, there is an open issue for the lvds lcd about the I2C that freezes, but my memory fails rather often ...
I don't use flash_prebuilt_android.sh at all , I wrote down a small script to flash the card stolen from my latest trials, and I'm using an 8 G b card.
I'm trying to compile Android from source, let me say I have no results for now.
Currently I am doing things off of LTIB, I'm using buildroot ( easier, faster, newer )



0 Kudos

837 Views
WolfgangW
Contributor I

Hi Remi,

thank you very much for taking care!

I tried the Adeneo binaries another time with a different SD card, but with the same result. This time I made some logs for card flashing and bootup - I can not see any obvious fail, but maybe someone else does? The board seems to start correctly, but then the message "The application Launcher (process com.android.launcher) has stopped unexpectedly. Please try again." is displayed and I can not do anything else from the screen but close this message which instantly pops up again. The serial console is working, though, but I am not familiar with Android yet to do anything useful from there...

BTW, I have to enable HDMI output manually by setting the corresponding U-Boot environment in any case, and also did so for the Freescale Ubuntu image, but still it did not work there.

Best regards, Wolfgang

PS: SD cards I tried are both made by Kingston, one SDC10/4GB (microSDHC class 10) and one SDC4/4GB

0 Kudos

837 Views
rlorriaux
Contributor I

Hi Wolfgang,

- For the Android images, you will need to use the Adeneo binaries as the Freescale binaries are not made for the QSB. These images have been tested many times and we never encountered the issue that you describe. As a first step, I would recommend that you try using another SD Card. If that still fails, please post the logs of the flashing script.

- For the Linux images, you will have the change the boot arguments in order to use the HDMI output. I do not remember the specific commands off the top of my head, but you will have to look at the documentation.

Remi Lorriaux - Adeneo Embedded

0 Kudos