3 Replies Latest reply on Dec 10, 2015 6:08 PM by JimR

    MCU is not working on many Edisons


      I have seen the MCU stop responding on many different Edisons.


      As a test, I try to run:

      cat /sys/devices/platform/intel_mcu/fw_version

      When the MCU on the Edison works I get the response:


      But on many Edisons I get a read error:

      cat: read error: Operation not permitted


      The kernel log (dmesg) shows the following error:

      intel_psh_ipc 0000:00:16.0: ia2psh channel 2 is always busy!


      The problem persists even after a reboot.  I am seeing this problem on 80 out of 130 Edisons.


      This problem is a major issue because I need put the Edison to sleep to save power and have the MCU wake up the Edison later.  If the MCU does not work then the Edison will never be woken up.

        • 1. Re: MCU is not working on many Edisons

          Hello JimR,


          Have you checked the image version of the Edisons? Run the following command in both Edisons to check the version: configure_edison --version


          From your description, the image version might be the cause of the issue. If so, re-flashing the modules might fix it.




          • 2. Re: MCU is not working on many Edisons

            I am using a custom image built from SDK release 2.1.  I have removed the oobe package, so configure_edison is not available.


            What modules are you talking about reflashing?


            I am using the mcu_fw_loader systemd service to load my MCU image from /lib/firmware/intel_mcu.bin

            • 3. Re: MCU is not working on many Edisons

              Thanks, I realized that my upgrade process has been updating the boot and rootfs partitions, but was not upgrading the mmcblk0boot0 and mmcblk0boot1 partitions, so the low level firmware used for the system and MCU was not getting updated.  After upgrading those partitions, the MCU now works on several of the Edisons that I tested.