HPMDownloader

Dear Julian,

I’m trying to update the MMC firmware using the HPMDownloader application.
I compiled both the mmc project and the HPMDownloader code without errors.

The problem comes when I run the HPMDownloader because it fails with a “Send GET_DEVICE_ID failed” error (see below the entire process)

I have the MMC in an AMC card plugged in the ATCA carrier with a CERN IPMC.
I connect to the ShelfManager from a computer and from that computer I am able to program the IPMC with the command:
ipmitool -I lan -H 192.168.0.2 -U “” -P “” -t 0x82 hpm upgrade hpm1all.img force

Where “192.168.0.2” is the IP Adress of the shelf manager and 0x82 (slot 1) is the address of the Carrier with the IPMC.
I would like to know if it is possible to configure the MMC with this configuration and in that case, what should be the “Slot” parameter ?

Thanks and cheers,
Alberto

Dear Alberto,

This is a quite old program that have never been tested within an ATCA environment. It was originally made to work in microTCA and I am afraid that the bridge through an ATCA blade + shelf manager does not work as expected.

Slot was made for microTCA slot

I don’t remember by heart, but at some point, could you find a .hpm file that is generated by the program (or something similar?)

Best,
Julian

Hi Alberto,

Sorry for this second e-mail, I was just thinking about the HPMImgGenerator when I click on send. This tool could allow you to generate the HPM image. Then, you might be able to use the hpm image to flash the MMC via ipmitool.

Best,
Julian

Hi Julian,
thanks for the quick reply.
I managed to create the hpm file using the HPMImgGenerator.
Do you know the format of the command to program the MMC on AMC#2 considering that for the IPMC in the carrier I use this command?

ipmitool -I lan -H 192.168.0.2 -U "" -P "" -t 0x82 hpm upgrade hpm1all.img force

I mean, 0x82 is the carrier but I can I specify the MMC/AMC slot?

Thanks!
Alberto

Hi Alberto,

Not by heart unfortunately. If I remember well, there is something is an uppercase T, like:

ipmitool -I lan -H 192.168.0.2 -U "" -P "" -T 0x82 -b 7 -t (MMC address? 0x74) <command - like fru, to check>

But I am not sure at all, I've to check.

Best,
Julian

Yes, that is the correct format:

ipmitool -I lan -H 192.168.0.2 -U “” -P “” -T 0x82 -b 7 -t 0x74 hpm upgrade img.hpm

Anyway I get an error just after initiating the upgrade:

ipmitool -I lan -H 192.168.0.2 -U “” -P “” -T 0x82 -b 7 -t 0x74 hpm upgrade img.hpm

PICMG HPM.1 Upgrade Agent 1.0.9:

Validating firmware image integrity…OK
Performing preparation stage…
Services may be affected during upgrade. Do you wish to continue? (y/n): y
OK

Performing upgrade stage:

Hi Alberto,

Thanks, that is what I was afraid of … I remember that I had an error on the component id in the MMC code and I got something weird with the standard. It made it not compliant with some version of ipmitool (I had to fix it and this is why I made the HPMDownloader).

I need to check it… sorry

Best,
Julian

Hi Julian,
thanks for letting me know.
Please, keep me updated if you make any progress on this.

I guess I will use the JTAG cable for the moment

Cheers,
Alberto

Hi Alberto,

Hi Julian,
I have updated and recompiled both the MMC and the HPMImgGenerator, regenerated the hpm file but I still get an error:

Hi Alberto,

I used “ipmitool version 1.8.18”. Did you flashed as well the new firmware via jtag first? The problem is with the one that is already in the MMC that block the upgrade. You need to flash once again with the JTAG and that should make the hpm upgrade working.

Best,
Julian

Hi Julian,

I programmed the last version on the MMC first with the JTAG cable and then I tried again through HPM command.
It fails but the error is a bit different. See below the output that I get for normal command and for verbose mode. I have included the -z 10000 because the file is larger than 16K. Anyway the result is the same with and without this buffer size.
Do you have any idea what could be the problem now?
It is a bit suspicious that your file after the conversion is 13K but mine is 17k because I did not make any modification to the gitlab version…

Thanks and cheers,
Alberto

ipmitool -I lan -H 192.168.0.2 -U “” -P “” -T 0x82 -b 7 -t 0x78 hpm upgrade /work/Upgrade/MMC/mmc-dev/Tools/HPMImgGenerator/img.hpm -z 10000
Setting large buffer to 10000

PICMG HPM.1 Upgrade Agent 1.0.9:

Validating firmware image integrity…OK
Performing preparation stage…
Services may be affected during upgrade. Do you wish to continue? (y/n): y
OK

Performing upgrade stage:

Hi Alberto,

It seems to be more a problem related to the bootloader part of your MMC. Did you well flashed the HPM binary first, with the fuses well set? When you flashed the MMC firmware, did you unchecked the “erase memory” box?

My program might be lightest because I simplified it and I removed part I don’t use.

Best regards,

Julian

Hi Julian,
I repeated the entire process and now the error is different.
I have to check but I think that the programming is completed despite this error……

Thanks!
Alberto

ipmitool -I lan -H 192.168.0.2 -U “” -P “” -T 0x82 -b 7 -t 0xea hpm upgrade /work/Upgrade/MMC/mmc-dev/Tools/HPMImgGenerator/imgRTM.hpm

PICMG HPM.1 Upgrade Agent 1.0.9:

Validating firmware image integrity…OK
Performing preparation stage…
Services may be affected during upgrade. Do you wish to continue? (y/n): y
OK

Performing upgrade stage:

Sorry, I said that despite the error the programming was working but it is not true. Actually I think I loose the previous code and the new one is not programmed so the MMC stops working…..

Dear Alberto,

This sounds really weird. Please, could you describe the process you followed when you flash via jtag?

Best regards,
Julian

Hi Julian,
First I configured the fuses and programmed the HPM as in Figure 8 and Figure 9 in the MMC user guide.

Then I program the mmc code with the JTAG cable as I make for the HPM but disabling the Erase device option.

Finally I insert the MMC in the shelf , it is recognized and it boots correctly. Then I send the Ipmitool hpm command and after the error the MMC stops working.

Thanks for all your help.
Cheers,
Alberto

Hi Alberto,

Could you please send me your binary file that I could use to give a try?

Thanks,

Julian

Hi Julian,
Find the mmc code attached

Thanks and cheers,
Alberto

(Attachment atmega128_mmc.elf is missing)

(Attachment atmega128_mmc.hex is missing)

Hi Alberto,

I am sorry but I tried several combination, I started from scratch, I recompiled everything, tried with your .hex file and everything but it still work as you can see on the attached screenshot.

I don’t know if I miss something, but I don’t know how could I help you with that… By chance, do you have a direct Ethernet connection to the IPMC?

I tested both through shelf manager and ipmc and both worked but, it might depend on the shelf manager configuration at some points.

Best regards,

Julian