Fogware™, USA Firmware’s proprietary IoT platform, provides a foundation for creating embedded Linux products for edge-to-cloud connectivity and analytics. Fogware includes hardware technologies, pre-integrated software components, and a robust development platform. By reusing existing solutions rather than reconstructing new solutions, we can push our clients’ products to market more quickly, which also saves money.
USA Firmware continuously integrates and tests high-priority updates for the u-Boot bootloader, Linux kernel, and Buildroot file system generator for vetted processing systems.
The conventional Linux approach to device management is to use dozens of configuration files from the system, all which have unique and ever-changing formats. Most Linux distributions don’t accommodate the special needs of embedded devices that need to work for years without someone maintaining them.
The Fogware Unified System Configuration manager, ucfg, provides a facility to establish and edit all configurable parameters through a single, consistent API. The ucfg facility provides extensive support for administrative domain layered configurations (factory, customer corporate, customer franchise, and other layers) and named profile alternative configurations (distinguish Back-Office Provisioning from Parked-at-Garage and In-The-Field).
Fogware provides off-the-shelf integration with a variety of sensor-area, local-area, and wide-area network technologies, such as Wi-Fi, Cellular, Ethernet, Bluetooth, Thread, Modbus, CANopen, and others. For each of these technologies, several communications protocol options are available.
The Fogware Telemetry Pipeline standardized data collection from a variety of edge sources into a common data format that can be queried directly or integrated with a variety of cloud or on-premises management portals. Implemented in a combination of C++ and PostgreSQL, socket-level APIs provide both network and command-line access to all collected edge data.
Authentication and Cryptographic Security
The Fogware IoT Credentials Management Subsystem secures important authentication and cryptographic keys within IBM's Trusted Platform Module (TPM) simulator, including lower-cost target systems that lack a true hardware TPM chip. Secure TPM access methods are practiced and enforced, so there are minimal application changes should a client decide to add a security chip to their target system.
Intellectual Property Protection
USA Firmware understands that security pertains not just to the runtime behavior of a product but to our client’s intellectual property as well. We tightly control the source and integration of Fogware components to avoid potential license pollution between our clients, vendors, and the authors of open source utilities and services.
Fogware is packaged in a self-contained VMware™ Virtual Machine that facilitates "install and go" complete firmware builds for any developer within a matter of a couple hours. USA Firmware recognizes the top priority for a project is to efficiently develop a reliable product that meets our clients’ requirements, and not to “fight the development workstation” day-to-day.
USA Firmware’s engineering staff selects the most effective hardware platforms, data-flow models, interface techniques, reliability methodologies, and human-factors paradigms for our clients’ projects.
USA Firmware’s engineers and product managers have proven experience with early requirements analysis, development, manufacture, and maintenance and support.
Our pre-packaged Fogware Software Development Environment (SDE) provides a stable and reliable set of tools to get a product’s firmware image built. The SDE gives editors, desktops, debuggers, and other tools to engineers so engineers can select what to use according to their preferences.
With our Fogware development paradigm, engineers choose the target hardware for computational scaling purposes, and they can run the same application set almost anywhere. There is a built-in Fogware capability to run almost every customer application directly on the host SDE, which is generally more responsive and supports a better collection of diagnostic tools than the eventual target system. When the client’s application runs well on the SDE, it can usually be migrated to the target.