MobiFlight Community Support

Welcome to the forum for MobiFlight! Feel free to reach out to the community in case you have questions, issues or just want to share great ideas or details about your latest home cockpit project.

You like MobiFlight? Donate via PayPal and support the MobiFlight development. Thanks! 

icon
Avatar
jaimeleon
Posts: 13
Hello guys,
I had installed BETA version 8.0.2.6 two days ago, but I experienced some instabilities in operating my control panel, which has one mega board with almost all pins occupied (including two lcd screens). For example, the second lcd screen would freeze and not update the information. When I first ran the newer MF version, it updated the firmware of my board to version 1.9.9. Suspecting that the new version was causing the instability problems, I decided to downgrade back to the official version.

I deleted the contents of the Mobiflight app folder and reinstalled the official version 8.0.2.0. When I connected the same mega board, and started MFConnector, it had an error as detailed below:

iconCode:
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Version string portion was too short or too long.
   at System.Version.VersionResult.SetFailure(ParseFailureKind failure, String argument)
   at System.Version.TryParseVersion(String version, VersionResult& result)
   at System.Version.Parse(String input)
   at System.Version..ctor(String version)
   at MobiFlight.UI.MainForm.CheckForFirmwareUpdates()
   at MobiFlight.UI.MainForm.ExecManager_OnModuleLookupFinished(Object sender, EventArgs e)
   at MobiFlight.ExecutionManager.mobiFlightCache_LookupFinished(Object sender, EventArgs e)
   at MobiFlight.MobiFlightCache.<connectAsync>d__34.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at MobiFlight.ExecutionManager.<AutoConnectTimer_TickAsync>d__105.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MFConnector
    Assembly Version: 8.0.2.0
    Win32 Version: 8.0.2
    CodeBase: file:///F:/Mobiflight/MFConnector.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4300.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4341.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4270.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
AutoUpdater.NET
    Assembly Version: 1.6.2.0
    Win32 Version: 1.6.2.0
    CodeBase: file:///F:/Mobiflight/AutoUpdater.NET.DLL
----------------------------------------
FSUIPCClient
    Assembly Version: 3.1.25.341
    Win32 Version: 3.1.25.341
    CodeBase: file:///F:/Mobiflight/FSUIPCClient.DLL
----------------------------------------
ArcazeHid
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///F:/Mobiflight/ArcazeHid.DLL
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
CommandMessenger
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///F:/Mobiflight/CommandMessenger.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.



Ok, so I tried erasing the firmware from the board by loading an empty sketch using the arduino IDE. That went without problem. I ran also an i2c scanner sketch and it correctly detected the two lcd screens connected as i2c devices.

Now running again MFConnector, it detected the mega board as a new board and offered to load the firmware. That task completed successfully. However on the next screen, showing the board properties I noticed that the serial number now appeared as the board name (where it would normally say "Mobiflight Mega"; the firmware field was empty; and now the serial number field shows 1.9.8 (the firmware version). Type field shows "Mobiflight Mega". Trying to change the name resulted in the same error reported above. Now the error again appears everytime MF starts with this board connected.

I tried to delete and reinstall the software again twice, with the same results.

Now I tried with another mega board that had not gone through the firmware update to 1.9.9 and now NO error appears. So it appears that the updated board retains some information which is incompatible with MF 8.0.2.0, that survives after erasing and reinstalling the firmware.

Please help. How do I reset the board so that whatever residual data from the newer firmware can be deleted????

UPDATE April 7th, 2021

I managed to fix the problem by clearing the EEPROM of my Mega board.


This is done using the Arduino IDE. I loaded a new sketch to read the EEPROM memory and if the value in the address read is not 255, write 255 to it. There are many sample sketches you can easily find. The EEPROM acts like a very small hard disk (4KB in a Mega), which stores the board configuration and it is kept even if you delete the firmware.

After doing this, MF recognized the board as new and loaded the firmware again. This time, the board properties are shown in the correct positions. Because the board is treated as new, the device configuration needs to be loaded again from the corresponding mfmc file. I haven't done extensive testing on the newly downgraded board, but everything appears to be functioning normally.

Regards
Jaime
[Last edited by jaimeleon, 2021-04-07 19:11]
2021-04-07 06:36
Avatar
pizman82
Moderator
From: ETSI, Germany
Posts: 4647
Supporter
Hi

Thats a know problem.

Mobiflight use for each Version the correct firmware..... If your version need a firmware, thats "newer" as the installed it offert a Upload Message..
BUT For "Downgrade" this maybe not work perfect.

Normaly this not happen in case a casual user not downgrade or use BETA.
Means... If you do so you need to flash the firmware new in most cases.

Also the EEPROM Clear Sketch ( Arduino IDE) is the correct. workarround.

Within the next VErsion ( or still in the Beta) we will include a new feature to make a EEPROM Clear within Mobiflight by a simple Button Press.
Good Luck !
2021-04-07 21:02
icon