yafu - Yet Another FlexUpdate
Table of Contents
1 use cases
1.1 write image to slot and optional activate this slot
The user has to
- Select the hardware
- Select the image from the firmware file
- Select the target index in flexcard
- Choose if the written image should be activated
$ sudo yafu -file=./firmware/FlexCard_PMCII_S6V5.fwf Selected hardware is <> Selected file is </home/ebel/firmware/FlexCard_PMCII_S6V5.fwf> Select hardware to update 1 - FlexCard PMCII 30000001610004 Enter index of a hardware. 0 for abort: 1 Hardware is FlexCard PMCII 30000001610004 Valid images in the firmware file: 1 - FlexCard PMCII - 6.5.0.0 - Can:0 FlexRay:4 2 - FlexCard PMCII - 6.5.0.0 - Can:2 FlexRay:3 3 - FlexCard PMCII - 6.5.0.0 - Can:4 FlexRay:2 4 - FlexCard PMCII - 6.5.0.0 - Can:6 FlexRay:1 5 - FlexCard PMCII - 6.5.0.0 - Can:8 FlexRay:0 Enter index of an image to use. 0 for abort: 4 Selected image: FlexCard PMCII - 6.5.0.0 - Can:6 FlexRay:1 index:1 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.04.00.00 index:2 active:0 Flexray:2 CAN:4 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00 index:3 active:0 Flexray:3 CAN:2 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00 index:4 active:0 Flexray:4 CAN:0 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00 index:5 active:0 Flexray:0 CAN:8 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00 index:6 active:0 Flexray:0 CAN:8 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:05.03.00.00 index:7 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00 -> index:8 active:1 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00 <- Enter index of an application image to update (1..8). 0 for abort: 7 Selected application image: 7 write. Step 1 of 3: Reset firmware - This operation could take a few minutes. Step 2 of 3: Write firmware - This operation could take a few minutes. ---------------------------------------------------------------------------------------------------- Step 3 of 3: Check firmware - This operation could take a few minutes. ----------------------------------------------------------------------------------------------------- Firmware update of slot 7 successfully completed. Writing/deleting/activating further target slots on the FlexCard PMC II is possible without a computer shut down, but the changes will only take effect after a complete computer shutdown. (A restart is not sufficient.) If you want to use this image, you need to activate it in the tab 'Firmware Image List'. Activate Image? [y/n]: y (process:13878): libflexcard-WARNING **: fcbFWSelectImage has been called. PLEASE POWEROFF AND RESTART Successful activated image.
1.2 write license
Hint: The hardware does not need to be chosen because the serial number is part of the license file
$ sudo yafu -file=/home/ebel/license/before_test.lic Selected hardware is <> Selected file is </home/ebel/license/before_test.lic> Start to update license... Successfully updated license.
1.3 read license and save to file
$ sudo yafu -file=/tmp/test.lic Selected hardware is <> Selected file is </tmp/test.lic> Read license from flexcard and save to file. Select hardware to update 1 - FlexCard PMCII 30000001610004 Enter index of a hardware. 0 for abort: 1 Hardware is FlexCard PMCII 30000001610004 Successfully wrote license to file.
1.4 activate image in slot
$ sudo yafu -selectOnly
Selected hardware is <>
Selected file is <>
Select hardware to update
1 - FlexCard PMCII 30000001610004
Enter index of a hardware. 0 for abort: 1
Hardware is FlexCard PMCII 30000001610004
index:1 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.04.00.00
index:2 active:0 Flexray:2 CAN:4 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:3 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00
index:4 active:0 Flexray:4 CAN:0 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:5 active:0 Flexray:0 CAN:8 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:6 active:0 Flexray:15 CAN:15 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:255.255.255.00
index:7 active:0 Flexray:15 CAN:15 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:255.255.255.00
-> index:8 active:1 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00 <-
Enter index of an application image (1..8). 0 for abort: 5
Selected application image: 5
(process:22412): libflexcard-WARNING **: fcbFWSelectImage has been called. PLEASE POWEROFF AND RESTART
1.5 delete image in slot
$ sudo yafu -deleteOnly
Selected hardware is <>
Selected file is <>
Select hardware to update
1 - FlexCard PMCII 30000001610004
Enter index of a hardware. 0 for abort: 1
Hardware is FlexCard PMCII 30000001610004
index:1 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.04.00.00
index:2 active:0 Flexray:2 CAN:4 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:3 active:0 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00
index:4 active:0 Flexray:4 CAN:0 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:5 active:0 Flexray:0 CAN:8 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:06.04.00.00
index:6 active:0 Flexray:0 CAN:8 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:05.03.00.00
index:7 active:0 Flexray:15 CAN:15 LIN:0 MOST:0 FlexRaySelfSync:0 FirmwareVersion:255.255.255.00
-> index:8 active:1 Flexray:1 CAN:6 LIN:0 MOST:0 FlexRaySelfSync:1 FirmwareVersion:06.05.00.00 <-
Enter index of an application image (1..8). 0 for abort: 6
Selected application image: 6
write.
Deleting firmware slot 6 - This operation could take a few minutes.
-
Firmware deletion of slot 6 completed.
Writing/deleting/activating further target slots on the FlexCard PMC II is possible without a computer shut down, but the changes will only take effect after a complete computer shutdown. (A restart is not sufficient.)
2 license
yafu uses the Qt5 library. Qt is available under the GNU Lesser General Public License version 3. The license text can be accessed here:
https://doc.qt.io/qt-5/lgpl.html
yafu links Qt5 dynamically. yafu links libQt5Core.so.5 and libQt5Xml.so.5. Qt5 is installed via dpkg when installing the yafu deb package. In case you want to replace Qt5, install the yafu deb package. Uninstall Qt5. Install your version of Qt5 and make sure that the so files can be loaded by yafu.
The Qt5 source code is available from the official git repository or as zip file from following site: