Error following OS Flash instructions on Ubuntu 22.04

I followed the instructions with a clean install updated 22.04. I see the device with lsusb, I have the .Net SDK 6 & 7 installed. When I boot the Meadow in Bootloader mode and run meadow flash os I get the following exception:

*also note, in contrast to the dfu-util update warning apt tells me it’s up to date as is.

 11:46PM shawn@procreator in [ /media/nixy ] procreator  $ meadow flash os
Flashing OS with /home/shawn/.local/share/WildernessLabs/Firmware/1.3.4.0/Meadow.OS.bin
dfu-util update required. To update , run: apt upgrade dfu-util or the equivalent for your Linux distribution
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util / Tickets

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device…
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #0
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 2097152

Download done. [=========================] 100% 2097152 bytes
File downloaded successfully
Transitioning to dfuMANIFEST state
[null]
[null]
[null]

Connecting to Meadow on /dev/ttyACM0

An error occurred while attempting to create Meadow
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55 Failed to connect to Meadow on /dev/ttyACM0 System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows. at System.IO.Ports.SerialPort..ctor() at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122 at Meadow.CLI.Core.Devices.MeadowSerialDevice..ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20 at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.<GetMeadowForSerialPort>b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47 at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of stack trace from previous location —
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55
ERROR
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:55 at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.FindMeadowBySerialNumber(String serialNumber, ILogger logger, Int32 maxAttempts, CancellationToken cancellationToken) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:156 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.FindCurrentMeadowDevice(String serialPortName, String serialNumber, CancellationToken cancellationToken) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:177 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.ExecuteAsync(IConsole console) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:83 at CliFx.CliApplication.RunAsync(ApplicationSchema applicationSchema, CommandInput commandInput) in /_/CliFx/CliApplication.cs:153 at CliFx.CliApplication.RunAsync(IReadOnlyList1 commandLineArguments, IReadOnlyDictionary`2 environmentVariables) in /_/CliFx/CliApplication.cs:193

Hi Shawn, could you share which is your CLI version (meadow --version)? Also, did you disable Mono before putting the board in DFU mode?

v1.3.4

I didn’t see anything about disabling mono on Meadow OS Deployment - Wilderness Labs Developer Portal

Cool, I normally disable Mono before flashing the OS. But when executing meadow flash os, is checked before writing the OS and Runtime. Well, could you confirm when the DFU process is finished, your board turn the blue LED? Also, I tested and we expected this to happen:

Flashing OS with /home/halysson/.local/share/WildernessLabs/Firmware/1.3.5.4/Meadow.OS.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations
Clearing status
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
Downloading element to address = 0x08000000, size = 2097152

Erase    done.	[=========================] 100%      2097152 bytes

Download done.	[=========================] 100%      2097152 bytes
File downloaded successfully
Submitting leave request...
Transitioning to dfuMANIFEST state
[null]

Connecting to Meadow on /dev/ttyACM0

An unknown request value of '0x4D00' was received.
Meadow StdInfo: Mono is enabled
Meadow StdInfo: Mono has been disabled - restarting Meadow

Connecting to Meadow on /dev/ttyACM0


Connecting to Meadow on /dev/ttyACM1

Meadow StdInfo: Mono is disabled
Writing /home/halysson/.local/share/WildernessLabs/Firmware/1.3.5.4/Meadow.OS.Runtime.bin runtime
Starting File Transfer... 
 
Meadow StdInfo: File 10% downloaded
Meadow StdInfo: File 20% downloaded
Meadow StdInfo: File 30% downloaded
Meadow StdInfo: File 40% downloaded
Meadow StdInfo: File 50% downloaded
Meadow StdInfo: File 60% downloaded
Meadow StdInfo: File 70% downloaded
Meadow StdInfo: File 80% downloaded
Meadow StdInfo: File 90% downloaded
Meadow StdInfo: Download of 'Meadow.OS.Runtime.bin' success (checksums calculated:0xE67ACE4D, expected:0xE67ACE4D)

I did it again: The LED does turn blue and after the device now presents as “Bus 001 Device 023: ID 2e6a:0001 Wilderness Labs Meadow F7 Micro” but attempts to deploy to it all fail with the 2nd following output::

 12:10PM shawn@procreator in [ ~ ] procreator  $ meadow flash os
Flashing OS with /home/shawn/.local/share/WildernessLabs/Firmware/1.3.4.0/Meadow.OS.bin
dfu-util update required. To update , run: apt upgrade dfu-util or the equivalent for your Linux distribution
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util / Tickets

dfu-util: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device…
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #0
Determining device status: state = dfuERROR, status = 10
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash "
Downloading to address = 0x08000000, size = 2097152

Download done. [=========================] 100% 2097152 bytes
File downloaded successfully
Transitioning to dfuMANIFEST state
[null]
[null]

Connecting to Meadow on ttyACM0

An error occurred while attempting to create Meadow
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55 Failed to connect to Meadow on ttyACM0 System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows. at System.IO.Ports.SerialPort..ctor() at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122 at Meadow.CLI.Core.Devices.MeadowSerialDevice..ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20 at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.<GetMeadowForSerialPort>b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47 at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of stack trace from previous location —
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55
ERROR
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:55 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.FindCurrentMeadowDevice(String serialPortName, String serialNumber, CancellationToken cancellationToken) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:169 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.ExecuteAsync(IConsole console) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:83 at CliFx.CliApplication.RunAsync(ApplicationSchema applicationSchema, CommandInput commandInput) in /_/CliFx/CliApplication.cs:153 at CliFx.CliApplication.RunAsync(IReadOnlyList1 commandLineArguments, IReadOnlyDictionary`2 environmentVariables) in /_/CliFx/CliApplication.cs:193
Done!

::
Starting to Deploy to Meadow…
Connecting to Meadow on /dev/ttyACM0
An error occurred while attempting to create Meadow
Failed to connect to Meadow on /dev/ttyACM0

Ok, Can you check if your USB port(meadow list port) changes when you press the reset button?

(meadow list port) =>
Unexpected parameter(s):

(meadow list ports) =>
Found Meadow: /dev/ttyACM0
(reset button)
(meadow list ports) =>
Found Meadow: /dev/ttyACM0

When I push the reset button though the device changes device ID eg: Bus 001 Device 024 (reset) Bus 001 Device 025

Ok, can you send your SDK and Runtimes list and send it to me?

  • SDK list
    runs this command → dotnet --list-sdks
  • Runtimes list
    runs this command → dotnet --list-runtimes

 12:22PM shawn@procreator in [ ~ ] procreator  $ dotnet --list-sdks
6.0.123 [/usr/lib/dotnet/sdk]
7.0.111 [/usr/lib/dotnet/sdk]
 12:58PM shawn@procreator in [ ~ ] procreator  $ dotnet --list-runtimes
Microsoft.AspNetCore.App 6.0.23 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.11 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.23 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.11 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]
 12:58PM shawn@procreator in [ ~ ] procreator  $

Okay, try running this command meadow flash os -d, the -d will skip OS flash, so you don’t need to put the board in DFU mode. Also, you can select your USB port and add -s /dev/ttyACMx like this: meadow flash os -d -s /dev/ttyACM0

In the meantime, I will try to reproduce your issue. Could you send information about your system? uname --all

 2:53PM shawn@procreator in [ ~ ] procreator  $ meadow list ports
Found Meadow: /dev/ttyACM0
Done!
 2:53PM shawn@procreator in [ ~ ] procreator  $ meadow flash os -d -s /dev/ttyACM0
Skipping step to flash Meadow OS

Connecting to Meadow on /dev/ttyACM0

An error occurred while attempting to create Meadow
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) --- End of stack trace from previous location --- at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) --- End of stack trace from previous location --- at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55 Failed to connect to Meadow on /dev/ttyACM0 System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows. at System.IO.Ports.SerialPort..ctor() at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 122 at Meadow.CLI.Core.Devices.MeadowSerialDevice..ctor(String serialPortName, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:line 20 at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.<GetMeadowForSerialPort>b__0() in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 47 at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
— End of stack trace from previous location —
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
— End of stack trace from previous location —
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:line 55
ERROR
System.PlatformNotSupportedException: System.IO.Ports is currently only supported on Windows.
at System.IO.Ports.SerialPort…ctor()
at Meadow.CLI.Core.Devices.MeadowSerialDevice.OpenSerialPort(String portName) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:122
at Meadow.CLI.Core.Devices.MeadowSerialDevice…ctor(String serialPortName, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\Devices\MeadowSerialDevice.cs:20
at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.<>c__DisplayClass8_0.b__0() in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:47
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) at Meadow.CLI.Core.DeviceManagement.MeadowDeviceManager.GetMeadowForSerialPort(String serialPort, Boolean verbose, ILogger logger) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI.Core\DeviceManagement\MeadowDeviceManager.cs:55 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.FindCurrentMeadowDevice(String serialPortName, String serialNumber, CancellationToken cancellationToken) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:169 at Meadow.CLI.Commands.DeviceManagement.FlashOsCommand.ExecuteAsync(IConsole console) in /D:\a\Meadow.CLI\Meadow.CLI\main\Meadow.CLI\Commands\DeviceManagement\FlashOsCommand.cs:83 at CliFx.CliApplication.RunAsync(ApplicationSchema applicationSchema, CommandInput commandInput) in /_/CliFx/CliApplication.cs:153 at CliFx.CliApplication.RunAsync(IReadOnlyList1 commandLineArguments, IReadOnlyDictionary`2 environmentVariables) in /_/CliFx/CliApplication.cs:193
Done!

 12:31PM shawn@procreator in [ ~ ] procreator  $ uname --all
Linux procreator 5.15.0-76-generic #83-Ubuntu SMP Thu Jun 15 19:16:32 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

In the meantime I put it on my Windows box and followed those instructions. I updated the USB driver and then proceeded with the Windows OS install instructions which also failed. Output attached:

Did you check the USB port? Try using this command meadow list port, it is used to list the visible boards plugged into your computer.

On the windows box I get
"
FOUND MEADOW: COM3
DONE!"
"
I tried the meadow flash os again but the same result so I put it back in BOOTLOADER MODE and tried to flash and I get the same Unable to flash Meadow OS error.

Hi @shawn, Are you running Ubuntu in a VM?
Can you also let me know which version of Windows you are using, because we’re aware of an issue that happens on some Windows 10 machines and the occasional Windows 11 machine.

Ubuntu is a dedicated box not a VM.
Windows is: Windows 11 build 22621.2428

From your Windows message above, it looks like you tried to install dfu-util without administrator privileges. Could you please launch a terminal window in admin mode and run meadow install dfu-util again. Then try the flash os command again.