Share
Linked In Facebook X (Twitter) Copy
Publication

Automatically Reset/Recycle Power of an IO device that is in a Non-Operation State.

Share
Linked In
Facebook
Twitter
Copy
Share
banner image

Authors: 
Tuyen Bui, Timothy Crockett

Abstract:
This disclosure provides a way to reset or recycle the power of an IO device without human interaction. 
This disclosure describes the process in a Linux system.  Windows systems will have different methods, but the process should be the same.

Background:
There are different IO devices connected to the Self-Checkout system via the Core Control Unit USB ports.  Sometimes one of the IO fail to operate because of different reasons, including enumeration failure, static, or firmware problems. In the self-checkout system, if one of the IO devices that is connected to the core control's USB ports is not working correctly, the normal process is to restart the core control, or system to restore the working condition.
- Requires human intervention.
- Requires a long downtime to restart and reload the software.

It would be better if the system OS monitors the port's working condition and then automatically sends a command to the Core Controller Unit's MCU to reset or recycle the power of the troubled IO/port.  This process would only reset one IO device and most of the cases would not require recycling power of the Core Controller or System units.

Description:
A- Firmware/Software Requirement:

- System OS and microcontroller need to work together to achieve this functionality

- System OS knows the USB structure of the Core Control Unit.

-  The core Control Unit’s MCU has the ability to reset or recycle the power of any particular port.  It would require hardware and firmware changes.

-  System OS can identify the troubled port and then send a command to the microcontroller for resetting or recycling the power.

B- Operation:

- During the startup process, the OS creates a devices list based on productID and deviceID that is supported in the Self-Checkout system.

- Identify what port each IO device is connected to.  This can be accomplished using a program or a Linux bash script.

- Creates a service process for each IO device as a normal operation.

- If a service is stopped for an unknown reason, a program or Linux bash script should run to identify if the IO device disconnected or stopped working.

- The program or bash script also checks if another IO is connected to the same port.  This should eliminate the hot plug/unplug problem from the user.

- OS sends a reset/recycle power command to the Core Controller Unit's microcontroller for that particular USB port.

- System unit restarts the service for that IO device once the IO backs up online.

Claims: 

  • Driver capability to detect and reset misbehaving USB downstream devices.

 

Enabling Technology:

  • USB hub with individual down stream port power switching capability.

Supporting Art:

Documentation article from Microsoft about resetting of I/O ports.  

https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/usbioctl/ni-usbioctl-ioctl_internal_usb_reset_port

This patent describes a system that allows for port resets.  (see claim 5)

https://patents.google.com/patent/US8255605B2/en

 

TGCS Reference 3484

Contact Intellectual Property department for more information