US8990776B2 - Computing device and device driver debugging method - Google Patents

Computing device and device driver debugging method Download PDF

Info

Publication number
US8990776B2
US8990776B2 US13/216,245 US201113216245A US8990776B2 US 8990776 B2 US8990776 B2 US 8990776B2 US 201113216245 A US201113216245 A US 201113216245A US 8990776 B2 US8990776 B2 US 8990776B2
Authority
US
United States
Prior art keywords
debugging information
function
command
debugging
switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US13/216,245
Other versions
US20120124556A1 (en
Inventor
Yu Tong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scienbizip Consulting Shenzhen Co Ltd
Original Assignee
Zhongshan Innocloud Intellectual Property Services Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhongshan Innocloud Intellectual Property Services Co Ltd filed Critical Zhongshan Innocloud Intellectual Property Services Co Ltd
Assigned to HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD., HON HAI PRECISION INDUSTRY CO., LTD. reassignment HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TONG, Yu
Publication of US20120124556A1 publication Critical patent/US20120124556A1/en
Assigned to SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD. reassignment SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HON HAI PRECISION INDUSTRY CO., LTD., HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD.
Assigned to ZHONGSHAN INNOCLOUD INTELLECTUAL PROPERTY SERVICES CO.,LTD. reassignment ZHONGSHAN INNOCLOUD INTELLECTUAL PROPERTY SERVICES CO.,LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD.
Application granted granted Critical
Publication of US8990776B2 publication Critical patent/US8990776B2/en
Assigned to SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD. reassignment SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZHONGSHAN INNOCLOUD INTELLECTUAL PROPERTY SERVICES CO.,LTD.
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

In a method for debugging device drivers of a computing device, a command line interface (CLI) is created in a user space of an operating system of the computing device. A command input by a user is received through the CLI, and transmitted to a kernel space of the operating system. The command is parsed to determine a function of a device driver and parameters of the function. An address of the function is inquired in the kernel space. The function is debugged according to the address of the function in the kernel space.

Description

BACKGROUND
1. Technical Field
Embodiments of the present disclosure relate generally to driver debugging, and particularly to a computing device and a driver debugging method of the computing device.
2. Description of Related Art
Operating systems of computing devices, such as LINUX and WINDOWS, usually segregate their virtual memory into a kernel space and a user space. Most device drivers of a computing device are installed and implemented in the kernel space. The device drivers may need to be amended or upgraded during development of the computing device. When a device driver is amended or upgraded, the device driver needs to be debugged. However, the device driver cannot be debugged by the developer through the user space, and the debugging information of the device driver cannot be output to be shown through the user space. Furthermore, during the debugging process of the device driver, the developer usually needs to check values of registers of the device driver to determine whether the device driver works normally. However, the values cannot be directly acquired through the user space, which causes the debugging of the device driver to become difficult.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of one embodiment of a computing device including a debugging system.
FIG. 2 is a block diagram of one embodiment of functional modules of the debugging system in FIG. 1.
FIG. 3 is a flowchart of one embodiment of a method for debugging a device driver of the computing device using the debugging system of FIG. 1.
DETAILED DESCRIPTION
The disclosure, including the accompanying drawings, is illustrated by way of example and not by way of limitation. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
FIG. 1 is a block diagram of one embodiment of a computing device 1 including a debugging system 10. The device 1 further includes an output device 12, a kernel space 13, a user space 14, a processor 15, and a storage system 16. In the embodiment, an operating system of the device 1 segregates virtual memory of the operating system into the kernel space 13 and the user space 14. The kernel space 13 is strictly reserved for running a kernel, kernel extensions, and device drivers of the device 1. The user space 14 is a virtual memory area in which user mode applications of the device 1 work, and this virtual memory area can be swapped out when necessary. The debugging system 10 can debug the device drivers of the computing device 1 through the user space 14, and output debugging information through the output device 12. FIG. 1 is only one example of the device 1 and the device 1 can include more or fewer components than those shown in the embodiment, or a different configuration of the various components.
The debugging system 10 may include a plurality of software programs in the form of one or more computerized instructions stored in the storage system 16, and executed by the processor 15 to perform the operations of the computing device 1. In the embodiment, the debugging system 10 includes an interface creation module 100, a command transmission module 101, a command parse module 102, an address inquiry module 103, a function debugging module 104, and an error notification module 105. In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable medium include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
The interface creation module 100 is operable to create a command line interface (CLI) in the user space 14. The CLI is an interface that is provided to a user for interacting with the operating system or software applications of the computing device 1 by typing commands through the CLI to perform specific tasks. In one example, the interface creation module 100 may create the CLI by executing a program code “entry=create_proc_entry (“q1a2dbg”, 0644, null)”, to create a CLI that is named “/proc/q1a2dbg”.
The command transmission module 101 is operable to receive a command input by the user through the CLI, and transmit the received command to the kernel space 13. In one embodiment, the user may input the command using an input device, such as a keyboard of the device 1, through the CLI. For example, a command “#q1a2DbgSwitch 11>/proce/q1a2dbg” may be input by the user.
The command parse module 102 is operable to determine whether the command is successfully transmitted to the kernel space 13, and parse the command to determine a function of a device driver that needs to be debugged and parameters of the function when the command is transmitted to the kernel space 13. In one example, if the command “#q1a2DbgSwitch 11>/proce/q1a2dbg” is transmitted to the kernel space 13, a function that is named “q1a2DbgSwitch” is determined to be the function that needs to be debugged, and “11” are parameters of the function that is composed of a first parameter “1” and a second parameter “1”.
The command parse module 102 is further operable to determine a class of debugging information of the function and a switch state of the debugging information according to the parameters from the command. In the embodiment, debugging information of the device driver of the computing device 1 is classified according to functions of the device driver. The first parameter represents a class of debugging information. For example, the first parameter “1” refers to a first class of the debugging information. The second parameter represents that a switch state of the debugging information for determining whether the debugging information of the function is enabled be output to the output device 12 through the user space 14 when it is enabled. For example, the second parameter “1” denotes that a switch “on” state of the debugging information and the debugging information of the function is enabled to be output to the output device 12. The second parameter “0” denotes that a switch “off” state of the debugging information and the debugging information of the function is disenabled to be output to the output device 12. The parameters “11” represents to a first class of debugging information is enable to be output to the output device 12. Similarly, if the first parameter is “2”, and the second parameter is “0”, it denotes that a second class of the debugging information of the device driver is disenabled to be output to the output device 12.
The address inquiry module 103 is operable to inquire an address of the function in the kernel space 13.
The function debugging module 104 is operable to debug the function according to the address of the function in the kernel space 13, and control debugging information corresponding to the determined class of the debugging information from the device driver to be output or not to be output according to the switch state of the debugging information. In one embodiment, the function debugging module 104 may output the debugging information of the function to the output device 12 through the user space 14 if the debugging information is enabled. In one embodiment, the output device 12 may be a display, and the debugging information may be output and displayed on the display, so the user can determine whether the function of the device driver works normally according to the displayed debugging information.
The error notification module 105 is operable to generate an error message to notify the user of errors, if the command fails to transmit to the kernel space 13 or the address of the function is not inquired in the kernel space 13.
FIG. 3 is a flowchart of one embodiment of a method for debugging the device driver of the computing device 1 using the debugging system 10 of FIG. 1. Depending on the embodiment, additional blocks may be added, others removed, and the ordering of the blocks may be changed.
In block S10, the interface creation module 100 creates a command line interface (CLI) in the user space 14. The CLI can be used by the user for interacting with the operating system or software applications of the device 1 by typing commands through the CLI to perform specific tasks.
In block S11, the command transmission module 101 receives a command input by the user through the CLI, and transmits the received command to the kernel space 13. In one embodiment, the user may input the command using the keyboard of the device 1 through the CLI.
In block S12, the command parse module 102 determines whether the command is successfully transmitted to the kernel space 13. If the command is transmitted to the kernel space 13, block S13 is implemented. If the command fails to transmit to the kernel space 13, block S18 is implemented.
In block S13, the command parse module 102 parses the command to determine a function of the device driver that needs to be debugged and parameters of the function. For example, if the command is “#q1a2DbgSwitch 11>/proce/q1a2dbg”, a function that is named “q1a2DbgSwitch” is determined to be the function needs to be debugged, and “11” are parameters of the function that is composed of a first parameter “1” and a second parameter “1”.
In block S14, the command parse module 102 determines a class of debugging information of the function and a switch state of the debugging information according to the parameters from the command.
In block S15, the address inquiry module 103 inquires an address of the function in the kernel space 13.
In block S16, the address inquiry module 103 determines whether the address of the function is inquired in the kernel space 13. If the address of the function is not inquired in the kernel space 13, block S18 is implemented. If the address of the function is inquired in the kernel space 13, block S17 is implemented.
In block S17, the function debugging module 104 debugs the function according to the address of the function in the kernel space 13. In addition, the function debugging module 104 further controls debugging information corresponding to the determined class of the debugging information from the device driver to be output or not to be output according to the switch state of the debugging information until the procedure ends.
In block S18, the error notification module 105 generates an error message to notify the user of errors.
Although certain embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.

Claims (9)

What is claimed is:
1. A computerized method for debugging device drivers of a computing device, the method comprising:
creating a command line interface (CLI) in a user space of an operating system of the computing device;
receiving a command input by a user through the CLI using an input device of the computing device, and transmitting the received command to a kernel space of the operating system;
parsing the command to determine a function of a device driver of the computing device and parameters of the function when the command is transmitted to the kernel space, the device driver storing different class of debugging information;
determining a class of debugging information of the function and a switch state of the debugging information according to the parameters from the parsed command, the parameters comprising a first parameter representing a class of debugging information and a second parameter representing a switch state of the debugging information to determine whether debugging information of the function is enabled to be output; inquiring an address of the function in the kernel space; and
debugging the function of the device driver according to the address of the function in the kernel space; and
controlling debugging information corresponding to the determined class of the debugging information from the device driver to be output when the switch state of the debugging information is the switch on state, or controlling debugging information corresponding to the determined class of the debugging information from the device driver not to be output when the switch state of the debugging information is the switch off state.
2. The method according to claim 1, further comprising:
generating an error message to notify the user of errors, if the command fails to transmit to the kernel space or the address of the function is not inquired in the kernel space.
3. The method according to claim 1, wherein when the second parameter is equal to “1” representing the switch on state of the debugging information, and when the second parameter is equal to “0” representing that the switch off state of the debugging information.
4. A computing device, comprising:
an output device;
at least one processor;
a storage system; and
one or more programs stored in the storage system and being executable by the at least one processor, the one or more programs comprising:
an interface creation module that creates a command line interface (CLI) in a user space of an operating system of the computing device;
a command transmission module that receives a command input by a user through the CLI, and transmits the received command to a kernel space of the operating system;
a command parse module that parses the command to determine a function of a device driver of the computing device and parameters of the function when the command is transmitted to the kernel space, the device driver storing different class of debugging information;
the command parse module further determines a class of debugging information of the function and a switch state of the debugging information according to the parameters from the parsed command, the parameters comprising a first parameter representing a class of debugging information and a second parameter representing a switch state of the debugging information to determine whether debugging information of the function is enabled to be output;
an address inquiry module that inquires an address of the function in the kernel space; and
a function debugging module that debugs the function of the device driver according to the address of the function in the kernel space; and
the function debugging module further controls debugging information corresponding to the determined class of the debugging information from the device driver to be output when the switch state of the debugging information is the switch on state, or controls debugging information corresponding to the determined class of the debugging information from the device driver not to be output when the switch state of the debugging information is the switch off state.
5. The computing device according to claim 4, wherein the one or more programs further comprising:
an error notification module operable to generate an error message to notify the user of errors, if the command fails to transmit to the kernel space or the address of the function is not inquired in the kernel space.
6. The computing device according to claim 4, wherein when the second parameter is equal to “1” representing the switch on state of the debugging information, and when the second parameter is equal to“0” representing that the switch off state of the debugging information.
7. A non-transitory storage medium storing a set of instructions, the set of instructions capable of being executed by a processor of a computing device, cause the computing device to perform a method for debugging device drivers, the method comprising:
creating a command line interface (CLI) in a user space of an operating system of the computing device;
receiving a command input by a user through the CLI using an input device of the computing device, and transmitting the received command to a kernel space of the operating system;
parsing the command to determine a function of a device driver of the computing device and parameters of the function when the command is transmitted to the kernel space, the device driver storing different class of debugging information;
determining a class of debugging information of the function and a switch state of the debugging information according to the parameters from the parsed command, the parameters comprising a first parameter representing a class of debugging information and a second parameter representing a switch state of the debugging information to determine whether debugging information of the function is enabled to be output;
inquiring an address of the function in the kernel space; and
debugging the function of the device driver according to the address of the function in the kernel space;
controlling debugging information corresponding to the determined class of the debugging information from the device driver to be output when the switch state of the debugging information is the switch on state, or controlling debugging information corresponding to the determined class of the debugging information from the device driver not to be output when the switch state of the debugging information is the switch off state.
8. The non-transitory storage medium according to claim 7, wherein the method further comprises:
generating an error message to notify the user of errors, if the command fails to transmit to the kernel space or the address of the function is not inquired in the kernel space.
9. The non-transitory storage medium according to claim 7, wherein when the second parameter is equal to “1” representing the switch on state of the debugging information, and when the second parameter is equal to“0” representing that the switch off state of the debugging information.
US13/216,245 2010-11-16 2011-08-24 Computing device and device driver debugging method Expired - Fee Related US8990776B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2010105463853A CN102467447A (en) 2010-11-16 2010-11-16 Driver debugging system and method
CN201010546385 2010-11-16
CN201010546385.3 2010-11-16

Publications (2)

Publication Number Publication Date
US20120124556A1 US20120124556A1 (en) 2012-05-17
US8990776B2 true US8990776B2 (en) 2015-03-24

Family

ID=46049025

Family Applications (1)

Application Number Title Priority Date Filing Date
US13/216,245 Expired - Fee Related US8990776B2 (en) 2010-11-16 2011-08-24 Computing device and device driver debugging method

Country Status (2)

Country Link
US (1) US8990776B2 (en)
CN (1) CN102467447A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045594A (en) * 2015-07-30 2015-11-11 汉柏科技有限公司 Program output control method and system

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103116541A (en) * 2013-01-24 2013-05-22 无锡飞翎电子有限公司 Debugging detection method of washing machine embedding type system utilizing computer
CN103106132B (en) * 2013-03-05 2016-03-16 中标软件有限公司 During linux system collapse, adjustment method analyzed by kernel function call stack
TWI489268B (en) * 2013-04-09 2015-06-21 Wistron Corp Operation system debugging device and method
US9183117B2 (en) 2013-06-20 2015-11-10 Abbott Laboratories Inc. Method for developing and testing a connectivity driver for an instrument
US9600397B2 (en) * 2013-08-29 2017-03-21 Stmicroelectronics (Grenoble 2) Sas Dynamic debugging method of a software module and corresponding device
CN103617116A (en) * 2013-11-13 2014-03-05 清华大学 Interactive device driver debugging method and device based on input and output simulation
CN104050081B (en) * 2014-06-09 2017-09-12 汉柏科技有限公司 The method and system of the static built-in function of debugging
CN104317724A (en) * 2014-11-17 2015-01-28 上海斐讯数据通信技术有限公司 Code automation test method of CLI module under Linux platform
CN105094910A (en) * 2015-07-31 2015-11-25 上海斐讯数据通信技术有限公司 Driving function user state debugging system and method
CN105204937B (en) * 2015-10-28 2018-09-28 上海斐讯数据通信技术有限公司 Kernel function call method, apparatus and operating system
CN108446217A (en) * 2018-02-09 2018-08-24 福建升腾资讯有限公司 A kind of method and computer equipment controlling Debugging message output by sub-module
CN111800810B (en) * 2020-06-30 2022-09-13 展讯通信(上海)有限公司 Intelligent device and system and method for recovering abnormity of WCN module thereof
CN113918392B (en) * 2020-07-10 2023-10-13 珠海格力电器股份有限公司 Debug protection system and debug processing module
CN112131097A (en) * 2020-07-27 2020-12-25 展讯半导体(南京)有限公司 Debugging information dynamic acquisition method and system
CN114024878A (en) * 2021-11-18 2022-02-08 芯翼信息科技(上海)有限公司 Data transmission method, device, medium and equipment
CN116089316B (en) * 2023-04-07 2023-06-09 武汉凌久微电子有限公司 Kernel driving data debugging method based on dynamic breakpoint

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889988A (en) * 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver
US20030079204A1 (en) * 2001-10-18 2003-04-24 Loughran Stephen A. Method and system for device driver and operating system debugging of portable computers
US20030177476A1 (en) * 2002-03-18 2003-09-18 Dipankar Sarma Debugging multiple threads or processes
CN1722100A (en) 2004-07-13 2006-01-18 鸿富锦精密工业(深圳)有限公司 memory test system and method
US20060048006A1 (en) * 2004-08-31 2006-03-02 Wenkwei Lou Wireless remote firmware debugging for embedded wireless device
CN1779652A (en) 2004-11-24 2006-05-31 中兴通讯股份有限公司 Method and apparatus for debugging internal core state programm of operation system
US20060200808A1 (en) * 2005-03-02 2006-09-07 Cisco Technology, Inc. System and method providing for interaction between programming languages
US7140004B1 (en) * 2000-06-13 2006-11-21 Tellme Networks, Inc. Method and apparatus for zero-footprint phone application development
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572160B2 (en) * 2007-03-12 2013-10-29 Citrix Systems, Inc. Systems and methods for script injection

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889988A (en) * 1995-01-03 1999-03-30 Intel Corporation Debugger for debugging tasks in an operating system virtual device driver
US7140004B1 (en) * 2000-06-13 2006-11-21 Tellme Networks, Inc. Method and apparatus for zero-footprint phone application development
US20030079204A1 (en) * 2001-10-18 2003-04-24 Loughran Stephen A. Method and system for device driver and operating system debugging of portable computers
US20030177476A1 (en) * 2002-03-18 2003-09-18 Dipankar Sarma Debugging multiple threads or processes
CN1722100A (en) 2004-07-13 2006-01-18 鸿富锦精密工业(深圳)有限公司 memory test system and method
US20060048006A1 (en) * 2004-08-31 2006-03-02 Wenkwei Lou Wireless remote firmware debugging for embedded wireless device
CN1779652A (en) 2004-11-24 2006-05-31 中兴通讯股份有限公司 Method and apparatus for debugging internal core state programm of operation system
US20060200808A1 (en) * 2005-03-02 2006-09-07 Cisco Technology, Inc. System and method providing for interaction between programming languages
US7941813B1 (en) * 2006-02-17 2011-05-10 Parallels Holdings, Ltd. System and method for using virtual machine for driver installation sandbox

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045594A (en) * 2015-07-30 2015-11-11 汉柏科技有限公司 Program output control method and system

Also Published As

Publication number Publication date
US20120124556A1 (en) 2012-05-17
CN102467447A (en) 2012-05-23

Similar Documents

Publication Publication Date Title
US8990776B2 (en) Computing device and device driver debugging method
US10007511B2 (en) Systems and methods for incremental software deployment
CN100570558C (en) A kind of chip firmware updating method
US20090172710A1 (en) Method and system for enabling a mini program on a computing device to access an auxiliary system
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN109710320B (en) Two-stage driving boot loader starting and guiding method
US20150100830A1 (en) Method and system for selecting and executing test scripts
JP2015141539A (en) Failure injection program
US20060143523A1 (en) Apparatus and method for debugging embedded software
US9436491B1 (en) Computer system and method for testing hardware device based on virtual machine
US20050268081A1 (en) Booting system and/or method for initializing peripherals
CN110765746B (en) Form automatic generation method and system based on event agent
US9600397B2 (en) Dynamic debugging method of a software module and corresponding device
US8225289B2 (en) Method and system for improved tool interaction with a target
CN113760332A (en) Software upgrading method and electronic equipment
US10521216B2 (en) Unified extensible firmware interface updates
US20150026519A1 (en) Serial attached small computer system interface expander and debugging method
US20130097412A1 (en) Performing A Boot Sequence In A Multi-Processor System
CN113127329A (en) Script debugging method and device and computer storage medium
US20170115349A1 (en) Method of debugging plc by using general-purpose microprocessor
CN112394965B (en) Battery management system upgrade and operation method, controller, battery management system and storage medium
CN111984329B (en) Boot software standardized generation and execution method and system
CN112711527A (en) Debugging method and device of real-time process, target machine and storage medium
CN112389506A (en) Train signal system and linkage method thereof
JPH11110256A (en) Device and method for debugging program, and computer readable recording medium recorded with the method for the same

Legal Events

Date Code Title Description
AS Assignment

Owner name: HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TONG, YU;REEL/FRAME:026795/0323

Effective date: 20110820

Owner name: HON HAI PRECISION INDUSTRY CO., LTD., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TONG, YU;REEL/FRAME:026795/0323

Effective date: 20110820

AS Assignment

Owner name: SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HON HAI PRECISION INDUSTRY CO., LTD.;HONG FU JIN PRECISION INDUSTRY (SHENZHEN) CO., LTD.;REEL/FRAME:034542/0820

Effective date: 20141208

AS Assignment

Owner name: ZHONGSHAN INNOCLOUD INTELLECTUAL PROPERTY SERVICES

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD.;REEL/FRAME:034923/0464

Effective date: 20150206

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Expired due to failure to pay maintenance fee

Effective date: 20190324

AS Assignment

Owner name: SCIENBIZIP CONSULTING(SHENZHEN)CO.,LTD., CHINA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ZHONGSHAN INNOCLOUD INTELLECTUAL PROPERTY SERVICES CO.,LTD.;REEL/FRAME:050709/0949

Effective date: 20190910