Friday, June 15, 2012

4AI on Panda ES Video

Here a little sample of the power of ICS on Panda ES after the porting and following the steps from the wikipedia page.

Still missing wifi, bluetooth and verify audio in the connectors.



  1. Hi Israel Cepeda,

    I am using the patches you provided, trying to boot out of SD card. could you please tell me if you used any bootargs?


  2. Hi Krt,

    You don't need bootargs, everything is in the boot.img is created at the end.


  3. Hi there,

    I follow all your steps until I need to build *.img file then I hit problem.

    Here is the problem:

    development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:22:20: error: GL/glx.h: No such file or directory
    development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp: In function ‘void (* getGLFuncAddress(const char*))()’:
    development/tools/emulator/opengl/host/libs/Translator/GLcommon/GLDispatch.cpp:35: error: ‘glXGetProcAddress’ was not declared in this scope
    make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon_intermediates/GLDispatch.o] Error 1

    any idea why this happen?

  4. Hi Woo,

    Why are you building the emulator?, you should build full_panda-eng.

    Double check that you export the variables in and make lunch ot the correct device.


    1. Hi,

      Thank you for coming back! Yes, it is my fault. I think it is better to add a repeating steps to ensure other developer hitting the same problem.

      Another thing, how can I add video/Music like what you did in the video. Can you please tell me which partition and which directory I should be copy to?

    2. Thanks for the observation, I will consider that.

      In the AFS there is a place for all media in /data/media, so you can place your music under /data/media/Music and videos in /data/media/Movies or you can create your own folder, then just use adb push to send the files.


  5. Hi,

    I use 16GB Class 10 SD card and I manage to boot Android up on this SD card but I realise that only total 543MB is shown in the Storage Settings. When I look at my sdcard in Ubuntu, there are about 14GB allocated in another partition. And I loaded all my video and music into this partition and none of them are detected.

    Mind to share your solution on this? Thanks

    1. There is an instruction fastboot eom format that creates several partitions to store the images you flash (you can see this table when xloader starts), this partitions are used to store xloader, uboot, kernel, system, userdata, etc, etc. The size of this partitions are default somewhere in uboot (I haven't look into that because not all of us are using such big SD cards, so I keep default values), but the rest of the size after creates the partitions is not used. When android start it mounts this partitions so it is not using the rest of the memory size. What you have to do is to increase the size of the userdata partition.

      Good luck!

  6. Hey,

    I followed the instructions and can boot my pandaboard with ICS. However, the system I built is having problem to do video playback with TI hardware codec. Some investigations shows that it's missing the rpmsg_omx1 and rpmsg_omx2 devices. Any hint? Thanks.

    1. It's because by default it doesn't have the correct ducati binaries, look at the note in the wiki:

      For hardware accelerated video playback and camera usage you have to use proper Ducati binary.

    2. thanks. can you tell me where i can get the proper ducati binary for pandaboard?

    3. Yes, where can we get the ducati binary for the pandaboard? It is very important!

    4. You can use the same as blaze or blaze tablet shared at:

    5. Great! I got the binary.... but I am not sure where can I apply this binary to...

      Is there any instruction that I can get from?

  7. Hi,

    I am actually interested in continue your work in porting the latest ICS on Blaze to Panda or PandaES.

    My friend has experience making the Wifi & Bluetooth work. So I am having very strong confident to make this working on the latest Blaze code.

    If you are already working... please share your work with us if you don't mind. I am actually quite interested in doing this kind of work and gain more experiences from there also.

    Lastly, can I use your path as a starting point for say only X-Loader, U-Boot and Kernel. Is there anything I need to watch out for? If you can help me from this then it will be great and appreciated!

    1. I haven't move to 4AI.1.6 yet, I was working in trying to make work bluetooth and wifi. I got bluetooth working but wifi was returning an error about firmware loading before go to vacations, I hope update the patches soon.. if you could share the changes from your friend it would be great to compare what I am missing.

      Sure, you can use the patches, just try to keep the signoff please, and then you can base your patches on those. If you move to the latest release I think you can apply the same patches since panda is not being supported, but lets see, probably some rebase would be needed.

    2. She is working on a hardware that is quite similar to PandaBoard. I can ask her some tips then... I will come back to you once I got it.... but if you can also tell me what error you are facing then may be she can point you straight to right place.

    3. I change the firmware and now it is booting, but now I am getting this error, I am kind of stuck here:

      [ 271.293365] ADDRCONF(NETDEV_UP): wlan0: link is not ready

    4. Can you please explain more about applying your patch to the latest code base? What do you mean on 'keep the signoff'?

    5. Sure, I mean that maybe you can use the same patches for 4AI1.6, so after apply the patches you can create your own ones to enable more features.
      By keeping the signoff I mean that if you need to rebase a patch you can create a new one for that release but keeping the information from the original, is like keep the credits to who made the original patch.

  8. Hi, I was referring to this porting guide:

    Make sure the "wl1271: loaded" message showed up when inserting the wl12xx_sdio.ko module. You should see wlan0 listed when you run netcfg if the module is successfully loaded. You shall refer these from the 'Verify WLAN from Console' section.

    Also, I have to calibrate the WiFi to generate new wl1271-nvs.bin file to make it work. Have you calibrated the WiFi?

    By the way, I'm seeing problem when trying to enable the Bluetooth (wl1271) on a platform which is quite similar to Blaze. Logcat is showing:

    D/BluetoothAdapterStateMachine( 163): PowerOff process message: 1
    D/BluetoothAdapterStateMachine( 163): Bluetooth state 10 -> 11
    E/BluetoothAdapterStateMachine( 163): failed to prepare bluetooth, abort turning on
    D/BluetoothAdapterStateMachine( 163): Bluetooth state 11 -> 10
    V/BluetoothEventManager( 574): Received android.bluetooth.adapter.action.STATE_CHANGED
    D/DockEventReceiver( 574): finishStartingService: stopping service

    I found out that the bluetooth is not being enabled from JNI. Any ideas or comments on this error? I cannot turn on the Bluetooth from the Settings menu of ICS.

    Hope the link above can help to solve your WiFi issue. Appreciate that if you could share or comment on the bluetooth issue that I'm seeing. Thank you!

    1. I see the wlan0 listed with netcfg, but when I try to enable it fails because the nvs file size, after I put another one that is the correct size it fails with:

      ADDRCONF(NETDEV_UP): wlan0: link is not ready

      I just try generating the nvs file, but it is also failing, it doesn't provide so much details.

      Seems to me that the nvs file is ok, but something is taking so much time that it is causing a timeout.

      For bluetooth did you change in the bluetooth from false to true?:

      -BOARD_HAVE_BLUETOOTH := false

    2. Here's my kernel messages when WiFi is turned ON:

      After the "ADDRCONF(NETDEV_UP): wlan0: link is not ready" line, it will run the RF_FILTER. My guess would be your nvs file does not provide sufficient information for WiFi initialization.

      What is the message shown when the nvs file build failed? From the porting guide link that I have sent earlier, run:

      calibrator plt autocalibrate wlan0 /system/lib/modules/wl12xx_sdio.ko /system/etc/wifi/ini_files/127x/TQS_S_2.6.ini /system/etc/firmware/ti-connectivity/wl1271-nvs.bin 00:12:34:56:78:90

      00:12:34:56:78:90 is the MAC address that I assigned. You can use your own MAC address. The Mac address is needed to generate the nvs file. Make sure the WLAN is disabled and wl12xx_sdio.ko is not loaded before the calibration. Old nvs file has to be removed prior to the new nvs file generation.

      On regards the Bluetooth setting: Yes, I have set BOARD_HAVE_BLUETOOTH to true in the file. I find it weird that it couldn't work. Do you mind to send me your kernel messages when bluetooth is turned on? You can send me the pastebin link or paste it here. I would like to see what is missing during the bluetooth initialization. Appreciate your help. Thanks!

    3. Thanks, now I see that the problem is that driver is missing something to complete the RX_FILTER, let me try calibrating again.

      About bluetooth, this is the log when enabling/disabling it:

      BTW, I am just splitting the wifi and BT changes to update the wiki. I will let you know when done.

    4. I am still facing problems when trying to calibrate :/

      Using nvs version 2.1
      Calibrate /system/etc/firmware/ti-connectivity/wl1271-nvs.bin
      Failed to calibrate
      Calibration not complete. Removing half-baked nvs

      it doesn't provide so much information, so I am stuck here.

      What firmware are you using?, can you list what you have in /system/etc/firmware?

      because the version I see is different from the one in the wiki you shared. Although the versions seems to be the same in your log, but mine shows some PLT mode:

      wl12xx: firmware booted in PLT mode (PLT

    5. So you were able to generate the new nvs file by running this command:

      "calibrator plt autocalibrate wlan0 /system/lib/modules/wl12xx_sdio.ko /system/etc/wifi/ini_files/127x/TQS_S_2.6.ini /system/etc/firmware/ti-connectivity/wl1271-nvs.bin 00:12:34:56:78:90" ?

      You can refer to this link: "" for detailed information on the calibration commands.

      Make sure you have the ini file: /system/etc/wifi/TQS_S_2.6.ini. If not present, copy it from hardware/ti/wlan/mac80211/ti-utils/ini_files/127x/ folder of the ICS repo.

      Here is what I have in /system/etc/firmware:

      Also, in /system/etc/firmware/ti-connectivity:

      Hope the info helps.

      I saw your kernel patch for bluetooth. I will try to compare the changes that I have done here. Thanks!

    6. I wasn't able to calibrate, but I will try again tomorrow because I had a lot of changes. I think is better if I try again removing all changes I had.

      Thanks for the info, I will update if I find something.

    7. This is another link that I found it useful:

    8. I am able to make the calibration, seems like the process has not permissions to write the file, but still not working. Now I am able to turn on the device, but it is not getting any signal, this is the log:

      [ 27.288940] wl12xx: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000000: 00 00 00 00 26 00 00 00 00 00 00 00 00 0
      [ 27.300018] wl12xx: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 0
      [ 27.311096] wl12xx: TEST_CMD_INI_FILE_EXT_RADIO_PARAM: 00000020: 00 00 00 00
      [ 27.370147] wl12xx: ICE:wl12xx_init_fw init: false
      [ 27.375488] wl12xx: ICE:wl12xx_init_fw booted: true
      [ 27.380828] wl12xx: firmware booted (Rev
      [ 27.386566] wl12xx: ICE:wl1271_op_add_interface booted: true
      [ 27.402557] ADDRCONF(NETDEV_UP): wlan0: link is not ready
      [ 27.408477] ICE:wl1271_dev_notify notification 1
      [ 27.413940] ICE:wl1271_dev_notify notification 4
      [ 27.627288] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 01 00 01 01 00 00 06 02
      [ 27.636505] wl12xx: RX_FILTER: 00000010: 1c e2 cc 31 8a 25 00 00
      [ 27.643280] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 01 01 01 01 00 00 02 02
      [ 27.652252] wl12xx: RX_FILTER: 00000010: 33 33 00 00
      [ 27.659271] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 00 00 00 00
      [ 27.667083] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 00 01 00 00
      [ 27.675384] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 01 00 01 01 00 00 06 02
      [ 27.684173] wl12xx: RX_FILTER: 00000010: 1c e2 cc 31 8a 25 00 00
      [ 27.690856] wl12xx: RX_FILTER: 00000000: 00 00 00 00 00 00 00 00 01 01 01 01 00 00 02 02
      [ 27.699707] wl12xx: RX_FILTER: 00000010: 33 33 00 00

      but that's it and I don't see any network.
      I am still debugging. Thanks for your help.

    9. I just got wifi working, I think patches will be ready tomorrow. Thanks

    10. Great to hear that. What did you changes to make the Wifi work?

      I compared your bluetooth changes with mine and they are not much different. Do you think the mydroid layer will affect the bluetooth functionality? My board is currently running on 4AI.1.4-P1 Android ICS release.
      Thank you.

    11. ICe, were you able to run "hciconfig -a" to list the hci0 on your system? When I try to run "hciconfig -a", it will complain - hciconfig not found.

      Do you have any clues on this? Thanks.

    12. ICe, sorry for another question on regards bluetooth. Can you check if your system (/system/lib) has the library? When debugging on the bt_enable() return values, I found out that my system doesn't have the library! I'm not sure if this is the root cause. Comments?

      Thanks for your help.

    13. After split the changes in bluetooth and apply only the wifi ones I got the RX_FILTER logs. Then I just add some drivers that were missing and start working.

      I don't think it will affect if you use P1, as far as I know the only differences are the patches in kernel with respect to 4AI.1.4.

      Yes, I am able to run that command and see hci0 listed, although in the boot message I see: init: no such service 'hciattach'
      I am not sure if there is a relation between those two.
      For some reason is not adding the bin to your filesystem.

      Yes, I see that in system/lib/, I think that is the blueZ that is needed to communicate with the driver, you definitely need it.

    14. Hi ICe,
      Thanks for your inputs. It was the missing libraries that make the Bluetooth couldn't work. After a make clean, I have all the libraries needed and it solved the problem.

      Nice day, MM

  9. Hi ICe,

    Have you try to load this on PandaBoard (NOT ES version). I am having one problem.

    When I try to boot this thing up, it sometimes freeze itself after this message, acc_release then restart itself. It keep restarting until it reach Android Lock Screen.

    Do you have any clue? I haven apply your latest patch yet (No Wifi & Bluetooth).

    1. Yes, I tried time ago with one friends 4430 Panda, and it has some issues, it was rebooting sometimes and takes some time to boot but it was, at least in DVI, for HDMI was having more problems.

      Unfortunately that board is not available anymore, my friend has moved out so I can't look into those issues.

    2. Oh I see. and will you see issue on 4460 PandaES?

      When you mention the DVI stuff, I am actually having a problem on the DVI output resolution. It seems like it does not detect and choose the best resolution on both display outputs. I am currently using DVI port and it is using different ration to my monitor therefore I saw the wallpaper a bit stretched.

      I also try to use HDMI port, it even worst. It flicked whenever my mouse is moving. Do you have this issue?

      I have tested both pandaboard (and ES) they are having the same issues as I describe above.

    3. No, I don't have those issues. What I just saw in DVI is that using some wallpapers there is some little pixelation when moving the mouse, but using other wallpapers with better resolution it is ok.
      For HDMI everything works just fine as you see in the video.