The following detailed description is directed to certain specific embodiments of the invention. However, the invention can be embodied in a multitude of different systems and methods. In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout.
The wireless communication device 120 is in communication with a wireless infrastructure 130. In one embodiment, the wireless infrastructure includes a base station 132 that receives and transmits voice and data traffic to the wireless communication device 120. The wireless infrastructure also includes a mobile switching center 134 that interfaces to a serving node 140. In one embodiment, the serving node 140 is configured as a public switched telephone network (PSTN). In another embodiment, the serving node 140 is configured as a packet data serving node (PDSN). An internet service provider 142 can provide access to the Internet or other wide area network 144. In this way, the computing device 110 can use the wireless communication device 120 to access the Internet 144.
As shown in the example of
In one example, status of components within the wireless communication device 120 can be provided to an external device via the Ethernet port 220. In addition, the wireless communication device 120 can download software updates and/or patches from the Internet for updating the software and/or firmware operating on the wireless communication device 120. The download can be in response to a request or command from an external device, or can be initiated by the wireless communication device 120 itself. For example, the wireless communication device 120 can be configured to periodically query a web site to determine if there is a software update, or patch, available for software or firmware operating in the wireless communication device 120, and the update or patch can be downloaded and installed. In another embodiment, the IP address of the wireless communication device 120 may be known to a web site that pushes an update of patch to the wireless communication device 120 when appropriate.
As shown in
Using the Ethernet connection between the wireless communication device 120 and an external device, such as a computer, the external device can receive services at or provide services to the wireless communication device 120. Types of services include the Internet service and/or other monitoring functions. For example, providing the monitoring functions for the wireless communication device 120 includes monitoring the status, changing operating parameters, running diagnostics, and otherwise providing functions related to status and management of the wireless communication device 120.
Advantages of using the Ethernet connection for communication between the wireless communication device and an external device include: (1) absence of the need to provide a special cable appropriate for connecting the wireless communication device 120 to a UART controller in an external device; (2) absence of the need to provide a USB device driver software compatible with an operating system in the external device; and (3) the ability to monitor/change the status and operation of the wireless communication device while simultaneously using the Internet connection of the wireless communication device.
In one implementation, the Ethernet controller 310 receives Ethernet data from an external device, such as a computing device. The Ethernet controller 310 decodes and communicates the data to the processor 320. The processor 320 analyzes the data to determine if it is a request or command for status or management data of the wireless communication device, or if it is data for a wide area network, such as the Internet. The processor 320 then formats the data and communicates it to the USB controller 330 where it is output to the WCM 224 (see
The virtual USB serial driver 404 provides an interface between the EIC 222 and the wireless communication module 224. The virtual serial driver 404 can be configured with one USB line, or channel, to provide service, status monitoring, status conversion, diagnostic monitoring, and another USB line for Network data, such as Internet communication.
While the examples described for the Ethernet interface controller 222 included a number of separate modules, the functions performed by the modules can be combined into a single module or any desired number of modules.
Communicating status and management data, as well as network data, such as Internet data, can use a technique referred to as two channel protocol. In one implementation of a two channel protocol, using USB communication between the USB controller 330 and the WCM 224, the EIC 222 is able to simultaneously transmit and receive Internet and diagnostic data. To be able to receive and transmit the two types of information at the USB port of the USB controller 330, the information can be classified into different protocol channels. For example, one USB address, or channel, can be assigned to the Internet data, and a different USB address can be assigned to the diagnostic data. In this way one type of data can be distinguished from the other data. Of course, as many channels as desired can be used for classifying the data, up to the number of USB addresses available.
Following are several examples of providing a data interface with the Internet, and a data interface for status monitoring and selection.
In a first implementation of
(1) Data flow from the Internet to a computing device can occur as follows: the wireless communication device 120 receives data from the Internet through the antenna 226; the Internet data flows from the antenna 226 to the wireless communication module 224 and then to the Ethernet interface controller 222; and the Ethernet interface controller 222 directs/transmits the Internet data to the Ethernet port 220 where it is available to external devices.
(2) Data flow from an external device to the Internet can occur as follows: the external device directs/transmits data for the Internet to the Ethernet interface controller 222 through the Ethernet port 220; the data for the Internet flows from the Ethernet interface controller 222 to the wireless communication module 224, and then to the antenna 226; and the wireless communication device 120 transmits the data to the Internet through the antenna 226.
In a second implementation of
(1) Data flow from the Ethernet interface controller 222 to an external device for status monitoring is as follows: data is delivered from the Ethernet interface controller 222 to the Ethernet port; the data is then available to external devices via the Ethernet port.
(2) Data flow from an external device to the Ethernet interface controller 222 for status selection/conversion is as follows: data is routed from the external device to the Ethernet port 220; and the data is then delivered from the Ethernet port 220 to the Ethernet interface controller 222.
In a third implementation of
(1) Data flow from the wireless communication module 224 to an external device for status monitoring is as follows: data is delivered from the wireless communication module 224 to the Ethernet interface controller 222; the Ethernet interface controller 222 delivers the received data to the Ethernet port 220; the data is then routed to an external device through an Ethernet connection.
(2) Data flow from an external device to the wireless communication module 224 for status selection/conversion is as follows: data is routed from the Ethernet port 220; the data is delivered from Ethernet port 220 to the Ethernet interface controller 222; and the data is then routed from the Ethernet interface controller 222 to the wireless communication module 224.
As shown in the implementations of
When a request is received, the routine 600 continues to block 604 where it is determined if the request is for Internet data. If the request is for the Internet data, then the Ethernet interface controller 222 issues, at block 606, an Internet connection command to a wireless communication module 224. Then, at block 608, it is determined if the wireless communication module 224 successfully connected to the Internet. If the wireless communication module 224 successfully connected to the Internet, then the routine 600 continues to an EIC traffic idle routine 800, at block 610. Returning to block 608, if the wireless communication module 224 did not successfully connect to the Internet, the routine 600 continues to the error handling routine, at block 612.
Returning to block 604, if the request is not for the Internet data, then it is determined, at block 614, if the request is for diagnostic data. If the request is for the diagnostic data, then the routine 600 continues to an EIC diagnostic data manager routine 700, at block 616. If the request is not for the diagnostic data, then the routine 600 continues to the error handling routine, at block 612.
Returning to block 1004, if the request is not for the Internet data, the routine 1000 continues to block 1012. At block 1012, it is determined if the request is for diagnostic data. If the request is for the diagnostic data, the routine 1000 continues to a WCM diagnostic data manager routine 1100, at block 1014. If the request is not for the diagnostic data, routine 1000 continues to the error handling routine, at block 1010.
If (in block 1310) it is determined that there is a response available, then it is received and the diagnostic data is displayed, at block 1312. It is then determined, at block 1314, if it is desired to change any of the parameters of the WCD 120. If none of the parameters are to be changed, then the flow returns to block 1308. If at least one of the parameters in the WCD 120 are to be changed, then updated parameters are sent to the WCD 120, at block 1316. The flow then continues to 1308.
It should be noted that error handling routines mentioned above can be configured as standard error handling routines that notify the user of the error and appropriately manage the subsequent flow of the parent routine as a result of the error. However, in some implementations, special error handling routines can be generated to handle the generated error.
Various implementations of the invention are realized in electronic hardware, computer software, or combinations of these technologies. Some implementations include one or more computer programs executed by a computing device. For example, in one implementation, the method for monitoring and/or converting the status, running diagnostics, and otherwise providing functions related to status and management of the wireless communication device includes one or more computers executing software implementing the monitoring and management functions. In general, each computer includes one or more processors, one or more data-storage components (e.g., volatile or non-volatile memory modules and persistent optical and magnetic storage devices, such as hard and floppy disk drives, CD-ROM drives, and magnetic tape drives), one or more input devices (e.g., mice and keyboards), and one or more output devices (e.g., display consoles and printers).
The computer programs include executable code that is usually stored in a persistent storage medium and then copied into memory at run-time. The processor executes the code by retrieving program instructions from memory in a prescribed order. When executing the program code, the computer receives data from the input and/or storage devices, performs operations on the data, and then delivers the resulting data to the output and/or storage devices.
Various illustrative implementations of the present invention have been described. However, one of ordinary skill in the art will see that additional implementations are also possible and within the scope of the present invention. For example, while the above description describes specific examples for monitoring, selecting, and/or converting the status, running diagnostics, and otherwise providing functions related to status and management of the cellular communication device using the Ethernet interface controller, the monitoring and management functions can be provided using other interface controllers similar to the Ethernet Controller.
Accordingly, the present invention is not limited to only those implementations described above. Those of skill in the art will appreciate that the various illustrative modules and method steps described in connection with the above described figures and the implementations disclosed herein can often be implemented as electronic hardware, software, firmware or combinations of the foregoing. To clearly illustrate this interchangeability of hardware and software, various illustrative modules and method steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module or step is for ease of description. Specific functions can be moved from one module or step to another without departing from the invention.
Moreover, the various illustrative modules and method steps described in connection with the implementations disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (“DSP”), an application specific integrated circuit (“ASIC”), field programmable gate array (“FPGA”) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Additionally, the steps of a method or algorithm described in connection with the implementations disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium. An exemplary storage medium can be coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can also reside in an ASIC.
The above description of the disclosed implementations is provided to enable any person skilled in the art to make or use the invention. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other implementations without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein represent example implementations of the invention and are therefore representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other implementations and that the scope of the present invention is accordingly limited by nothing other than the appended claims.
This application claims the benefits of priority of U.S. Provisional Patent Application Ser. No. 60/745,211, filed Apr. 20, 2006, and U.S. Provisional Patent Application Ser. No. 60/746,337, filed May 3, 2006, both entitled “Communication Management for CDMA/GSM Device Using Ethernet Interface”. This application is also related to U.S. patent application Ser. No. 11/206,961 and U.S. patent application Ser. No. 11/206,962. The disclosures of all of these applications are hereby incorporated by reference, in their entirety.
Number | Date | Country | |
---|---|---|---|
60745211 | Apr 2006 | US | |
60746337 | May 2006 | US |