How complete OTA Software/Firmware Updates? - thingsboard

I assigned software to a device and I imported the software OTA dashboard and I can see that the software update is initiated and is in the queue. However, it stays in that state. How to complete the software transmission?
Device: Raspberry pi (as a Gateway with tb IoT Gateway installed)
Software: Simple hello world linux shell script

Related

How can I use a USB/COM port inside of a VSCode development container?

From inside of a development container for VSCode (Debian Linux) I'd like to use a COM port for communication via an USB device connnected to the Windows host machine (via WSL2). How can I make the COM port available insie of the container?
EDIT:
For WSL2 there is no official support yet.
As of right now WSL 2 does not include serial support, or USB device support.
A corresponding feature request is tracked on GitHub.
July 2021: As of right now WSL 2 does not include serial support, or USB device support.
Update November 2021: the same FAQ states:
Skanda Hazarika reports:
You can now connect USB devices in Windows Subsystem for Linux under Windows 11
If you’re an active user of Windows Subsystem for Linux and want to access USB devices right from the Linux instance running under WSL, then you’ll be happy to know that there has been a significant progress in this front.
Thanks to Microsoft’s contributions to the open-source dorssel/usbipd-win project, you can now enjoy USB passthrough access in WSL.
It means end users can perform tasks like flashing Android devices under Windows Subsystem for Linux, which are otherwise not supported by the Linux subsystem.
The usbipd-win project is all about creating a solution for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL2. However, the official WSL2 Linux kernel used to lack support for the USB/IP protocol, requiring users to build the kernel themselves.
Since WSL kernel version 5.10.60.1, the required parameters are configured out of the box, so no manual recompilation is needed.
Microsoft has also contributed a command line interface to the project to both enable a USB device for sharing on Windows and seamlessly attach it from within WSL.
So if you have:
migrated/upgraded to Windows 11
applied all WSL updates (through the Windows Store)
Then, your VSCode should be able to access mounted USB drives through WSL.

How to launch a JAVA GUI App inside a Linux Container from a Windows Host without 3rd party X Server

I have a Linux container with a JAVA GUI Application that I'm trying to run from a Windows Host. Based on my research you can run a GUI app on a Windows host by installing 3rd party software like VcXsrv Windows X Server. Sadly, I'm don't have admin privileges so I can't install software freely also this process requires to disable Windows Access Control.
Is there a way that you can run a GUI app inside a Linux container from a Windows host without using 3rd party software?
Thanks in advance.

IBM MQ Client running under Windows Docker

I'm looking for a solution to run IBM MQ Client under a Windows Docker container. I know that Docker Hub only provides Linux implementations of MQ, however, I do not need full MQ Server capability. Instead, I'm hoping there's a means to install the MQ Client and simply connect to a Channel and Queues defined on another (non-Docker) system. To approach this, I've done the following:
Spun up a Windows Docker container running under a command prompt (For proof of concept)
Copied in and expanded MQ Client 9.0.0.8-IBM-MQC-Win64.zip
Silently installed MQ Client (e.g. msiexec /i "c:\temp\Windows\MSI\IBM MQ.msi" /l*v c:\temp\install.log /q TRANSFORMS="1033.mst" AGREETOLICENSE="yes" ADDLOCAL="Client").
Note: The installation was successful and without error
Established required environment variables(MQServer, etc.) and updated paths (classpath, lib, include, etc).
Pinged the MQ server system to verify connectivity.
I attempted to put a message on a working, verified queue using, amqsputc.exe MYDOCKER.DS.Q. The immediate return code is MQCONNX ended with reason code 2195. Unfortunately, 2195 is pretty generic and there are no other logs available to review.
I understand the differences between running MQ under a VM versus a container, however since I only need Client access, I was hoping MQ Client was lightweight enough to be usable.
If MQ Client is not a viable direction, is there an MQ solution which might be doable via a Cloud connection? My legacy application is Windows-based and relies on MQ for job messaging.
Instead of installing the Full client install using msiexec, I would recommend that you use the IBM MQ Redistributable client install. This is packaged as a simple zip file for windows which you can extract into any location you choose.
You can find more information about the Redistributable client on the Knowledge Center page Redistributable IBM MQ clients.
You can download the IBM MQ Redistributable clients using the links below:
IBM MQ 9.1 Redistributable client.
IBM MQ 9.2 Redistributable client.
Note: IBM MQ 8.0 is out of support as of April 30th 2020 and IBM MQ 9.0 is going out of support on September 30th 2021.
The IBM Knowledge center page
Limitations and other considerations for redistributable clients gives these requirements:
Windows C runtime libraries
You might have these libraries on your machine already, but if you do not, you need to download and install the following Microsoft C/C++ runtime libraries:
Microsoft Visual C++ Redistributable 2008
Microsoft Visual C++ Redistributable 2012
The download links for the redistributable downloads for each of these libraries can be found at The latest supported Visual C++ downloads.
A possible alternative (and lighter) approach: Write a Go app using the IBM mq-golang package and deploy that in your Windows docker container.
https://github.com/ibm-messaging/mq-golang

Can Docker containers run in Windows IoT Core

Is there a way to run a Docker container in Windows IoT Core? I have seen it can be used in Azure, Windows Server and desktop W10 but there is no evidence about Windows IoT Core and I am not sure if some of the already existing installations of docker-engine is compatible with IoT Core or it is just not possible.
Last Friday, Azure IoT Edge v2 launched in Public Preview yesterday with out-of-box support for native Windows containers! There is even a how-to for deploying on Windows IoT Core with a compatible x64-based board*.
First party modules like Azure Functions, Azure Stream Analytics, Modbus and a cool developer experience in VS Code for authoring custom modules all work great with Windows containers on both Windows 10 and IoT Core.
*Note: Windows containers require x64-based processor support, they won’t work on ARM32-based devices like Raspberry Pi.
As of IoT Core version 16299, released on 17 October, this feature is in preview.
https://developer.microsoft.com/en-us/windows/iot/docs/whatsnew
You can run Nano Server Core containers on 64-bit Windows 10 IoT core. It is likely to be amd64 only at this point.
The short answer is, no. This is because Windows 10 IoT Core is an OS that supports a set of features that overlap with Windows 10 desktop, but there is no version of Docker that runs on that currently. Off the top of my head, there would be a few concerns with creating such a version. First, the implementation of Docker would have to be runnable (use features that the OS supports), and second, the features utilized in the container would need to be virtualized by Docker in form that are supported in Windows 10 IoT Core. Third, the hardware running Windows 10 IoT Core (and Docker and its container) would have to support all these functions. Maybe some do and some don't. The problem might be whether or not the hardware such as a Raspberry Pi or Minnowboard supports virtualization in a way that this would be a practical scenario.

How to test app on Edge on Mac OS or Linux

I am on Mac OS and Linux and want to test my app on Edge. I know I can use Browserstack, but it's a paid service. Any other ways that I can test on Edge for Free?
If you are on Mac or Linux, you can use the following tools to test Edge for free:
Virtual Machines
https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
You can get the virtual machines image to test Edge as well as IE6 to IE11 on all platforms Mac, Linux and Windows. You do need to have either Virtual Box, VMware or Vagrant to install the VM image.
RemoteIE
https://dev.windows.com/en-us/microsoft-edge/tools/remote/
If you don't want to install VM image, try RemoteIE. The Remote client app is a small utility program that allows you to access Microsoft apps from the cloud. When you launch Internet Explorer from the Remote client app, a real preview version of the browser opens into a new window on your operating system, much like any other app you might have running. This version of Internet Explorer is modified to host the latest preview version of the EdgeHTML rendering engine, so you can test how your site will render in Microsoft Edge. It is available for Mac OS X, iOS, Android and Windows OS devices, and includes simple installation and account set up steps.
Yes, using virtual machines. Microsoft provides VMs in a number of formats for exactly this reason.
You can download them here

Resources