USB Communication Control for Android Accessories
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
USB communication between a USB host and a USB accessory operating on the Android system is interrupted when an application is executed, requiring physical disconnection and reconnection of the USB cable to resume communication.
Innovation Solution
The USB communication control method involves acquiring USB connection information, initializing the Android Open Accessory Protocol (AOAP) by assigning USB control authority to the application, and modifying the USB connection state to resume communication without physical disconnection of the USB cable.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If an application is executed on the USB accessory while connected to the USB host, then the application can utilize USB resources, but USB communication is interrupted and requires physical cable reconnection to resume
Solution Approach 1:
The system performs preliminary actions by saving the original USB connection information (device node path, permissions, connection state) before the application executes. This allows the system to restore the USB communication state after application completion without requiring physical cable reconnection, thus maintaining communication continuity while allowing application resource utilization.
Solution Approach 2:
The system creates a copy of the USB connection information and state before application execution. This copied state is preserved and used to restore the USB communication after the application completes, allowing the system to maintain a backup that enables communication resumption without physical reconnection.
2Reliability
If the USB cable is physically disconnected and reconnected to resume communication, then USB communication can be restored, but user operation complexity and time loss increase
Solution Approach 1:
The system performs self-service by automatically restoring the USB connection state through software operations. The system saves the original connection information before application execution and automatically restores it after application completion, eliminating the need for user intervention (physical cable disconnection and reconnection) to resume communication.
Solution Approach 2:
The system replaces the mechanical action of physical cable disconnection and reconnection with software-based operations. By manipulating connection information data structures and device node permissions through software, the system achieves the same communication restoration effect without requiring physical user actions.
3Adaptability or versatility
If USB control authority is assigned to the application, then the application can initialize AOAP and access USB resources, but the original USB connection state is lost requiring cable reconnection
Solution Approach 1:
The system performs preliminary action by preserving the original USB connection information (device node path, permissions, connection state) before the application obtains USB control authority. This preserved information enables rapid restoration of the connection state after application completion, eliminating the time loss associated with physical cable reconnection while still allowing the application to initialize AOAP and access USB resources during execution.
Data Source
AI summary
A USB communication control method, in which a USB host and a USB accessory executing an Android operating system are connected to each other through a USB cable, includes: when an application is executed on the USB accessory, acquiring USB connection information between the USB host and the USB accessory by the application; when the application being executed on the USB accessory is completed, initializing an Android Open Accessory Protocol (AOAP) of the USB accessory by the application by assigning USB control authority to the application; changing the USB connection information between the USB host and the USB accessory to information of a state before the completion of the application; and resuming USB communication between the USB accessory and the USB host.


