IP Library Granted Patent US 10,592,438
Granted Patent B2
US 10,592,438 · App. 14/931,184 · Granted Mar 17, 2020

Firmware configuration through emulated commands

Inventors: Kai Yau (Duluth, GA); Muthu Kumar Sathiyanesan (Norcross, GA)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
G06F13/102G06F9/4411G06F13/385G06F13/4282
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,592,438
App. No.
14/931,184
Granted
Mar 17, 2020
Kind
B2
Abstract

Technologies are disclosed herein that allow configuration of firmware by a firmware configuration device connected to a target computer. The firmware configuration device may emulate keystroke and/or mouse movement data to transmit firmware configuration data to the target computer. The target computer can also transmit status information and/or commands through keyboard status light signals.

Claims (35)

1. A computer-implemented method for configuring a firmware, the method comprising:

initializing a target computer and a firmware of the target computer, the target computer having at least one universal serial bus (“USB”) port;

determining if a firmware configuration device is detected at the target computer, the firmware configuration device interfaced with the at least one USB port and being detectable as an emulated keyboard at the at least one USB port;

responsive to detecting the firmware configuration device, initializing a firmware configuration module to communicate with the firmware configuration device;

sending, by means of the at least one USB port, a first command code to the firmware configuration device, wherein the first command code comprises a first combination of binary values for keyboard status lights, the first command code indicating that the target computer is ready to receive firmware configuration data to change a configuration of the firmware;

receiving emulated keystroke data from the firmware configuration device in response to the first command code, the emulated keystroke data defining firmware configuration data for configuring the firmware; and

sending, by means of the at least one USB port, a second command code to the firmware configuration device in response to the firmware configuration data, wherein the second command code comprises a second combination of binary values for the keyboard status lights, the second command code indicating a state of receipt of the firmware configuration data to change the configuration of the firmware.

2. The computer-implemented method of claim 1 , further comprising waiting for the expiration of a timer, and upon expiration, finalizing initialization of the target computer without receiving the firmware configuration data from the firmware configuration device.

3. The computer-implemented method of claim 1 , wherein the firmware configuration device is further detectable as an emulated mouse at the at least one USB port.

4. The computer-implemented method of claim 3 , further comprising receiving emulated mouse movement data from the firmware configuration device, the emulated mouse movement data further defining the firmware configuration data.

5. The computer-implemented method of claim 4 , wherein the emulated mouse movement data defines the firmware configuration data as a series of mouse gestures.

6. The computer-implemented method of claim 1 , wherein the emulated keystroke data defines the firmware configuration data as a series of keystrokes.

7. The computer-implemented method of claim 1 , wherein the firmware configuration data comprises a new firmware file.

8. The computer-implemented method of claim 1 , wherein the firmware configuration data comprises global positioning system (“GPS”) coordinates of the firmware configuration device or time zone information of the firmware configuration device.

9. The computer-implemented method of claim 1 , wherein the firmware configuration data comprises one or more new values for variables used by the associated firmware.

10. A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computer, cause the computer to:

initialize a firmware and at least one universal serial bus (“USB”) port of the computer;

determine if a firmware configuration device is detected at the computer, the firmware configuration device interfaced with the at least one USB and being detectable as an emulated keyboard connected to the at least one USB port;

responsive to detection of the firmware configuration device, initialize a firmware configuration module to communicate with the firmware configuration device;

send, by means of the at least one USB port, a first command code to the firmware configuration device, wherein the first command code comprises a first combination of binary values corresponding to a first keyboard status light signal, the first command code indicating that the computer is ready to receive firmware configuration data to change a configuration of the firmware;

receive emulated keystroke data from the firmware configuration device, the emulated keystroke data defining the firmware configuration data; and

send, by means of the at least one USB port, a second command code to the firmware configuration device in response to the firmware configuration data, wherein the second command code comprises a second combination of binary values corresponding to a second keyboard status light signal, the second command code indicating a state of receipt of the firmware configuration data to change the configuration of the firmware.

11. The computer-readable storage medium of claim 10 , wherein the firmware configuration device is further detectable as an emulated mouse connected to the at least one USB port.

12. The computer-readable storage medium of claim 11 , having further computer-executable instructions stored thereupon to receive emulated mouse movement data from the firmware configuration device, the emulated mouse movement data further defining the firmware configuration data.

13. The computer-readable storage medium of claim 12 , wherein the emulated mouse movement data defines the firmware configuration data as a series of mouse gestures.

14. The computer-readable storage medium of claim 10 , wherein the emulated keystroke data defines the firmware configuration data as a series of keystrokes.

15. The computer-readable storage medium of claim 10 , wherein the firmware configuration data comprises a new firmware file.

16. An apparatus, comprising:

a processor;

a universal serial bus (“USB”) interface in communication with the processor; and

a computer-readable storage medium in communication with the processor, the computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the apparatus to

receive a sequence of command codes at the USB interface responsive to respective sets of first firmware configuration data to change a configuration of a firmware of a target computer, wherein the sequence of command codes is received as respective combinations of binary values corresponding to respective keyboard status light signals, a first command code in the sequence of command codes indicating that the target computer is ready to receive at least one of the respective sets of firmware configuration data, and

responsive to the sequence of command codes, transmit second sets of emulated keystroke data or emulated mouse movement data over the USB interface, the emulated keystroke data or emulated mouse movement data defining second firmware configuration data.

17. The apparatus of claim 16 , wherein the emulated mouse movement data defines the second firmware configuration data as a series of mouse gestures.

18. The apparatus of claim 16 , wherein the emulated keystroke data defines the second firmware configuration data as a series of keystrokes.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2015
From: YAU, KAI; SATHIYANESAN, MUTHU KUMAR
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 036949/0424 →
Continuity (1)
Related Publication 20170124004A1 · May 4, 2017