GB2450422A - Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer - Google Patents

Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer Download PDF

Info

Publication number
GB2450422A
GB2450422A GB0811387A GB0811387A GB2450422A GB 2450422 A GB2450422 A GB 2450422A GB 0811387 A GB0811387 A GB 0811387A GB 0811387 A GB0811387 A GB 0811387A GB 2450422 A GB2450422 A GB 2450422A
Authority
GB
United Kingdom
Prior art keywords
computer
driver
peripheral device
peripheral
usb
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.)
Withdrawn
Application number
GB0811387A
Other versions
GB0811387D0 (en
Inventor
Daniel Ellis
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.)
DisplayLink UK Ltd
Original Assignee
DisplayLink UK 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 DisplayLink UK Ltd filed Critical DisplayLink UK Ltd
Publication of GB0811387D0 publication Critical patent/GB0811387D0/en
Publication of GB2450422A publication Critical patent/GB2450422A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Abstract

A connection, such as a USB connection, between a peripheral device, such as a monitor 10 and a computer 12 can be established following the physical connection of the device to the computer. A device descriptor is supplied to the computer by the device falsely identifying the device as a device of a class known to the computer, such as a generic mass storage device. The peripheral device then transfers a file from memory 14 on the device to the computer, and the file is automatically run to install a device driver for the device on the computer. Once installed the peripheral device can be configured to cease operations using the device descriptor previously supplied and initiate operations using a descriptor for the device which requires the installed driver to be present. Initially supplying a device descriptor of a known class to allow installation in this manner allows the peripheral device to imitate the known device and install the device driver without user interaction in the installation process.

Description

DESCRI PTION
ESTABLISHING A CONNECTION BETWEEN
A PERIPHERAL DEVICE AND A COMPUTER
This invention relates to a method of establishing a connection between a peripheral device and a computer.
It is common in computing environments to have a number of peripheral io devices connected to a computer. Such devices include human input devices such as keyboards and mice, and output devices such as display devices and printers. A very large number of different devices can be connected to a computer, some of which devices (such as the display device) will generally remain connected to the computer, and others (such as a camera for example) will connect for only a short period of time, and then be disconnected. To assist in the standardisation of connection technology, and to make the experience more transparent to the user, the common standard USB (Universal Serial Bus) was defined. This standard determines the physical nature of the connection between devices and mandates such matters as the mediation of the connection discovery and the data structure of communications sent by USB.
It is normal when connecting a USB device to a computer, for the first time, for the computer to display a dialogue box, on the display device requiring the user to make some decisions about how the device is to be installed. This dialogue box, typically the "Found new hardware" dialogue seen on Microsoft operating systems, is confusing and can be worrying to inexperienced users and can be irritating to experienced users. In most cases, the options that the user will choose from in this dialogue box are the same, and thus the dialogue is redundant and it would be highly advantageous to avoid it appearing at all. Additionally, if a peripheral device is connected to a computer, and the computer already has stored a driver that matches the peripheral device, then any later version of the driver stored by the peripheral device will not be accessed, unless specific user action is taken to uninstall the old driver and install the new driver.
It is therefore an object of the invention to improve upon the known art.
According to the present invention, there is provided a method for establishing a connection between a peripheral device and a computer, comprises connecting a first peripheral device to the computer, transferring a first profile from the first peripheral device to the computer, the first profile including a first version of a device driver, connecting a second peripheral device to the computer, transferring a second profile from the second peripheral device to the computer, the second profile not matching the first version of the device driver, and including a device description identifying the second peripheral device as a device of a class known to the computer, transferring a file from the second peripheral device to the computer, and autorunning the file, the autorun installing a second version of the device driver for the second peripheral device on the computer, and establishing a link to the newly installed device driver.
Owing to the invention, it is possible to simplify the installation of new hardware with an improved version of the device's driver (for example, using a connection standard such as USB) by allowing automatic install of the version 2 driver and accompanying software, when plugging in the peripheral device, without the need for anything other than the device itself (for instance, no CDs or access to the Internet is required). Most importantly, this installation process of the version 2 driver is completely transparent and silent to the user.
The methodology and device design described prevents the operating system from displaying a dialogue box when a new USB device implementing this technique is plugged in. The peripheral device appears to the computer as a device known to the computer, either by pretending to be a simple device such as a mouse, or by pretending to be a mass storage device (like a USB key), which does not need drivers to be installed. This ensures that the computer recognises the new peripheral device and allows the upload of a file that autoruns and is able to install a new driver on the computer. This new 3 -driver is then used to control the peripheral device. The peripheral device either changes configuration to reflect the driver change, or a change in a link within the computer is affected to ensure that the computer uses the desired driver with respect to the new peripheral device.
In the preferred embodiment, using USB, this invention uses careful and creative design of USB devices in combination with creative use of the USB class, VID and PID identifiers to cause the operating system into installing the drivers and software for the device without invoking the "Found New Hardware Wizard". In one embodiment, the invention uses the USB concept of multiple io configurations. For example, the peripheral device could have two different configurations, with a default ("false") configuration that presents an interface to the device of a USB class known to the operating system and for which it has a driver. The other configuration is the one of real interest and will be switched to when the necessary software has been installed.
This invention presents a simpler user experience for the installation of the version 2 driver for the new hardware. It can avoid the necessity to ship device drivers on a CD-ROM with the peripheral device, and also makes the user experience of the installation process much cleaner. This is especially useful, as it is a known fact that for some devices, particularly display devices, it is quite common for users to throw the accompanying CD out, without thinking that the accompanying disk is needed.
The invention has particular application in USB devices that need specialised drivers and/or control software. Typical of this is the new or relatively uncommon device that is used by many users in a common space -most of whom will not have suitable drivers installed. The peripheral device needs to have the drivers readily available -and painlessly installed. A good example of this is the projector now often found in company meeting rooms.
Once connected to, via wireless or USB, all company users may have the drivers installed, the ad-hoc visitor to the company doesn't. However, the system of the invention provides that a new user connecting to the projector will find that when the projector is plugged into his/her PC, that the device will immediately work.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:-Figure 1 is a flow diagram of a known method of establishing a S connection between a peripheral device and a computer, Figure 2 is a schematic diagram of a peripheral device, Figure 3 is a schematic diagram of a second embodiment of the peripheral device, Figure 4 is a schematic diagram of a pair of peripheral devices, with a first peripheral device connected to a computer, and Figure 5 is a flowchart of a method of a novel method of establishing a connection between a peripheral device and a computer.
The preferred embodiment of the invention relates to the connection of is a peripheral device to a computer using the USB standard. However any suitable connection technology can be used, and the principal of the invention, to obtain a seamless connection for a peripheral device, when connecting with a version 2 driver, can be achieved using other connection schemes.
In USB terminology (from the USB specification 2.0, April 27, 2000), a USB device' is a logical or physical entity that performs a function. A hub' is a USB device that adds additional connections to the USB. A function' is a USB device that provides a capability to the host. A compound device' is a package containing a number of hubs and functions in what appears to be a single physical device. A composite device' is a device with multiple interfaces on the same USB address. These interfaces are simultaneously available. A USB Class' is one of a set of standard functions that a USB device may perform and defines a protocol that may be implemented by any number of vendors. The USB-lF defines the details of the protocols for USB Classes. The "VID" is a 16-bit vendor identification assigned by the USB-IF, and the "PID" is a 16-bit product identification assigned by the vendor. The "BCDVersion" is a 16-bit BCD encoded version for the device.
Figure 1 shows a simplified view of the steps that occur in a computing system when plugging in a USB peripheral device to a computer. When the computer first becomes aware that the device is connected, and after some initial hardware setup steps, the device is queried for its device descriptor s which contains the device's USB Class, VID, PID and BCDVersion. These are all returned in the first transaction the PC has with the USB device.
After this, the operating system of the computer searches its database of previously installed drivers based on the VID, PID and BCDVersion. If a match is found, then this driver is activated and the hardware device is ready to use. If a match is not found the install process continues based on the class.
The class specification identifies features of devices that are implemented consistently across all devices using that class and allows for a generic driver to be used in this case. If a class match is found then this class driver is activated and the hardware device is ready to use.
In the absence of a driver matching by VID/PID or class many common systems display a dialogue box that declares, "Found new hardware" and user assistance is requested. Many USB devices require non-class drivers (i.e. the driver matches on a specific VID and PID rather than on the class code of the device, step 2 above). This usually means that the driver doesn't form a standard part of the operating system and must be supplied on an external medium such as a CD-ROM or downloaded from the Internet.
It is also common, in many cases, for USB devices also to have separate application software in addition to the drivers. In these cases it is beneficial to install this application software as the primary install, which then installs some drivers as a secondary step. Clearly this does not fit with the usual sequence of events described above. This is often seen in relation to USB devices, when the recommendation from the manufacturer is to insert the CD that comes with the peripheral device, and thereby install the software before connecting the device to the computer.
In a compound device, a mass storage device can be packaged together with an application function and a hub in a single package. The driver software can then be stored on the mass storage device, and will be found by the operating system when it searches for drivers. The remaining problem is that when the system discovers the Application' part of the device it will be unable to find a driver and so will still trigger the Found new hardware' process. In addition to this inconvenience, when the user does make S appropriate decisions in the Found new hardware' dialogue, this will trigger the process of searching all areas of the system and can take some time. As the designer knows that the drivers can be found in a specific location, it would be advantageous to skip the searching step.
Figure 2 shows a first embodiment of an improved peripheral device 10 connected to a computer 12, which will not suffer the problems of the devices currently existing. The device 10 comprises a mass storage device 14, a USB chip 16, a USB hub chip 18 and a connection interface 20. To avoid the known problems the device 10 uses a temporary, false, USB configuration for the Application' function which has a class for which the operating system of the is computer 12 will be known to have drivers, for example the HID (human interface device) class, and thus avoiding the prompt for any additional drivers.
The chip 16 maintains two different configurations. When first plugged in, the USB display chip 16 will present the HID class device configuration (the USB display configuration not being used). The drivers will load from the USB memory chip, and then activate the USB display configuration instead. This avoids the PC 12 ever discovering the USB display configuration without having a driver, and having to prompt the user.
Care is taken to ensure that the device 10 behaves appropriately according to this class, preferably by being able to do nothing. Importantly this will ensure that the mass storage device 14 (A common USB class so it does not require special drivers) is installed cleanly without interruption from the found new hardware wizard'. The mass storage device contains files which autorun and install the necessary software.
When the software is installed it will register for the VID/PID and will displace the operating system's HID class driver for the device. The new driver will switch the configuration of the device 10 by sending a signal across USB to the device 10. At this point, the device 10 will switch over to its second configuration and present its true function to the system. By this point, the driver for this true configuration is already installed and so the steps 1 and 2 of Figure 1, described above, complete without the need for any user intervention.
Effectively, the device 10 supplies a device description to the computer 12, identifying the device 10 as a device of a class already known to the computer. This device description falsely identifies the peripheral device 10 to the computer 12. In the example of Figure 2, the peripheral device 10 is a display device 10, and the device description passed to the computer 12, when first connected to the computer 1 0, identifies the peripheral device 1 0 as an input device (such as a mouse for example).
Once the computer 12 stores a link to a driver for this known class, then a file is transferred from the mass storage device 14, of the peripheral device 10, to the computer 12, which autoruns. This autorun process installs a new driver on the computer 12, and then switches the link in the computer to the correct driver. In this way the necessary driver for the true function of the device 10 is installed onto the computer 12, without any user interaction being required, nor with any operating system dialogue boxes being generated, which might confuse the non-technical user.
If the application software is uninstalled then as part of the uninstall process the drivers will be removed and thus there will no longer be a specific driver for the application function if it is reinserted. It will reappear as a dumb HID class object (or whatever the device 10 was masquerading as) and the above steps will be repeated. As a further alternative, a null device class could be added to the USB specification, for devices not requiring a driver. The application could start up as a null class object, which the operating system would recognise and ignore, and later reconfigure itself as the application once the drivers are installed. Other device classes could also be used, for example, a further mass storage device, an audio device, or any other device class for which the operating system has drivers.
A second implementation of the peripheral device 10 is shown in Figure 3, where the device 10 (in USB language) is a single device. In this implementation, no separate mass storage chip is required; the USB display chip 16 appears as a mass storage device in the configuration chosen by default. The software s automatically run, and when the drivers are installed they take over control of the device 10 and switch the configuration to the USB s display operation.
The application function is sufficiently sophisticated so that it can embed the mass storage functionality within itself. In this implementation, when first plugged in, the device 10 presents its default configuration as a mass storage device. This class of device is recognised by the computer 12 as being one that does not require a driver to be installed for the device. This mass storage device contains the install software and will autorun (or be told to autorun by the user if automatic autorun functionality has been disaIed).
This install software will install the driver and, possibly, the application software required to fully support the new device in its full configuration. Once is installed, the new software will claim the device 10 by VID/PID and will reconfigure the device 10 to perform the intended application functionality. At this point, and from then on, the mass storage device will no longer appear. If the software is subsequently uninstalled, then the VID and PID will be unregistered and if connected the device 10 will once more appear as a mass storage device with the install software on it and the process will be repeated.
The implementation of Figure 3 has the distinct advantage over the embodiment of Figure 2, in that the mass storage device disappears once installation has completed, avoiding confusing the user with additional devices appearing in their system. This is of particular importance when this mechanism is used in multiple devices attached to the same system where many extra drives would otherwise appear A similar effect could be obtained in the embodiment of Figure 2 by supplying a dummy driver during the software install which matched the mass storage device by VID/PID (and possibly BCDVersion). Then, once the installation was complete this dummy driver would take control of this specific mass storage device (rather than the default mass storage device) and hide' it from the computer 12. Uninstallation of the new software would also remove this driver and thus cause the mass storage device to reappear and everything to proceed from step one again.
The preferred embodiment of the invention delivers a system in which if a device containing a later version of device driver software is connected, for s this to cause this new software to be installed (upgrading the original). This is achieved by arranging for the application software to match on the BCDVersion as well as the VID/PID. This is illustrated in Figure 4. For example, version 1 of the software only matches on BCDVersion 1.00 of a first device 1 Oa, whereas version 2 of the software matches on both 1.00 and 2.00 BCDVersion. This device, with BCDVersion 2.00, is device lOb. Each device contains the similarly versioned software in its mass storage device.
On a clean machine 1 2 (one where this software has not been installed) if device lOb is plugged in first, then version 2 of the software will be installed.
This software matches on both BCDVersions of the device 10. Hence, when device lOa is plugged in it immediately adopts its application configuration. It does not require additional software to be installed.
However, if device lOa is plugged in first, then version 1 of the software is installed. However the configuration of the two profiles 22 of the respective devices ensures that when device lOb is plugged in, the software will not match its BCDVersion, and thus will fall back to installing the new software as described above and version 2 of the software will be installed. This allows a seamless upgrade of the software, without the user being aware that the upgrade has taken place.
Although the two devices 1 Oa and 1 Ob are identical from a hardware standpoint, in their respective profiles 22 they specify that the have different BCD versions (implying that they have different firmware, even if this is not the case). The driver Vi specifies that it requires BCD version 1.00, whereas the driver V2 specifies that it can work with BCD version 1.00 and 2.00. The net result of this is that when the driver Vi is installed in the computer 12, and the new device lOb is connected to the computer 12, although there is a VID/PID match for the device lOb, there will not be a BCD match, and so the USB connection will fall over to a class match, allowing the device 1 Ob to pretend to be a mass storage device and load up the new driver V2, without the user being aware that such a process took place.
Figure 5 summarises the method for establishing a connection between the peripheral device 1 Ob and a computer 12. The method comprises firstly, at step Si, connecting the first peripheral device 1 Oa to the computer 12, and then at step S2, transferring the first profile 22a from the first peripheral device lOa to the computer 12, the first profile 22a including a first version of a device driver. The device driver is installed seamlessly on the computer 1 2.
The next stage is the step S3 of connecting the second peripheral device lOb to the computer 12, followed by the step S4 of transferring the second profile 22b from the second peripheral device lOb to the computer 12, the second profile 22b not matching the first version of the device driver, and includes a device description identifying the second peripheral device lOb as a device of a class known to the computer. The VID/PID in the profile 22b will is match the first version of the driver, which is now installed on the computer 1 2, but the BCD version will not match the driver, so the computer will fall over to the class type to identify a driver to use for the second peripheral device lob.
This class type is that of a mass storage device, allowing the computer to believe that a standard driver can be used for the second peripheral device lOb.
The next step is the step S5 of transferring a file from the second peripheral device lOb to the computer 12, and then at step S6, autorunning the file, the autorun installing a second version of the device driver for the second peripheral device lOb on the computer 12, and establishing a link to the newly installed device driver. This allows the driver version 2 to be installed onto the computer 12, without the user realising that the driver has been
updated in the background.
As described above, one way of implementing the switching capability is to use two different configurations within the peripheral device 10, with a first configuration defining a "fake' device description and a second configuration, which is the real function of the device. Rather than have multiple configurations, the device could have alternative firmware. Starting out by appearing as a known device using a standard driver (e.g. an HID and a mass storage device), avoiding the "Found New Hardware" dialogue box, installing new drivers using the mass storage device, and then reconfiguring the HID to provide the target functionality by "disconnecting" the HID (here disconnect S means an electrical disconnect rather than removal of the physical device) and reconnecting as the application device using the new drivers now recognising the application device. This would cause a "device disconnected" sound in an operating system such as Windows.
Alternatively, instead of reconfiguring the HID as the application device, the computer could be arranged to match on product ID (which has higher priority than class) using the new drivers and provide the application functionality using the same configuration. This would not cause a device disconnected sound, but would restrict the functionality to that advertised by the masquerading device (e.g. if the application was masquerading as a HID device, it could not have a bulk endpoint which may be necessary for the application function).
If a user does not have appropriate privileges on the computer to which they are connecting the peripheral device (for example administrator rights on Windows), a message will come up when the driver install software runs, saying that the user cannot run the software. Some operating systems allow drivers to be signed so that they run without warning the user (assuming the user already has the appropriate rights). For example, Windows XP will pop up a dialogue box on unsigned drivers asking the user if he wants to proceed.
This mechanism could be extended to allow users without administrator rights to install drivers requiring administrator rights even though they were invoked by a user not having the rights. This mechanism could also be implemented on a standard driver (e.g. one invoking the Found New Hardware dialogue box), separate from the mechanisms described above.
If an application has drivers for more than one operating system, a mechanism could be provided for installing suitable drivers automatically on the system responsive to the operating system being installed upon. For example, Windows uses a file called Autorun.inf to automatically run when a mass storage device is detected. Other operating systems may use different filenames or file structures to automatically run. As a further alternative, multiple partitions could be used on the mass storage device, for example FAT32 for Windows, HPFS for Macintosh, ext2 for Linux, each one containing suitable files for that operating system to automatically run.

Claims (5)

1. A method for establishing a connection between a peripheral device (lOb) and a computer (12), comprising * connecting a first peripheral device (lOa) to the computer (12), * transferring a first profile (22a) from the first peripheral device (lOa) to the computer (12), the first profile (22a) including a first version of a device driver, * connecting a second peripheral device (lOb) to the computer (12), * transferring a second profile (22b) from the second peripheral device (lOb) to the computer (12), the second profile (22b) not matching the first version of the device driver, and including a device description identifying the second peripheral device (1 Ob) as a device of a class known to the computer, is * transferring a file from the second peripheral device (lOb) to the computer (12), and * autorunning the file, the autorun installing a second version of the device driver for the second peripheral device (lOb) on the computer (12), and establishing a link to the newly installed device driver.
2. A method according to claim 1, wherein the device description falsely identifies the peripheral device.
3. A method according to claim 2, wherein the peripheral device is a display device, and the device description identifies the peripheral device as an input device.
4. A method according to claim 1, 2 or 3, and further comprising configuring the peripheral device to match the device description.
5. A method according to claim 4, and further comprising, following the autorunning of the file, switching the configuration of the peripheral device to match the newly installed device driver.
GB0811387A 2007-06-22 2008-06-23 Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer Withdrawn GB2450422A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0712138A GB0712138D0 (en) 2007-06-22 2007-06-22 Establishing a connection between a peripheral device and a computer

Publications (2)

Publication Number Publication Date
GB0811387D0 GB0811387D0 (en) 2008-07-30
GB2450422A true GB2450422A (en) 2008-12-24

Family

ID=38352748

Family Applications (2)

Application Number Title Priority Date Filing Date
GB0712138A Ceased GB0712138D0 (en) 2007-06-22 2007-06-22 Establishing a connection between a peripheral device and a computer
GB0811387A Withdrawn GB2450422A (en) 2007-06-22 2008-06-23 Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GB0712138A Ceased GB0712138D0 (en) 2007-06-22 2007-06-22 Establishing a connection between a peripheral device and a computer

Country Status (1)

Country Link
GB (2) GB0712138D0 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487598A1 (en) * 2009-12-24 2012-08-15 Huawei Device Co., Ltd. Data card upgrading method and device
US11151749B2 (en) 2016-06-17 2021-10-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US11150857B2 (en) 2017-02-08 2021-10-19 Immersive Robotics Pty Ltd Antenna control for mobile device communication
US11153604B2 (en) 2017-11-21 2021-10-19 Immersive Robotics Pty Ltd Image compression for digital reality
US11553187B2 (en) 2017-11-21 2023-01-10 Immersive Robotics Pty Ltd Frequency component selection for image compression

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012013A (en) * 1995-03-31 2000-01-04 Trimble Navigation Limited Vehicle position reporting in user defined uni-dimensional coordinate system
WO2001007984A2 (en) * 1999-07-27 2001-02-01 Cais, Inc. Universal serial bus adapter with automatic installation
WO2003012577A2 (en) * 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation
US6574588B1 (en) * 1998-09-23 2003-06-03 Microsoft Corporation Solid-state memory device that emulates a known storage device
US20030163611A1 (en) * 2002-02-26 2003-08-28 Fujitsu Component Limited Electronic device and method of controlling the same
US6704824B1 (en) * 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
US20040205778A1 (en) * 2003-04-08 2004-10-14 Wong Yin Hui System and method for installing portable device drivers
WO2006016852A1 (en) * 2004-08-12 2006-02-16 Trek 2000 International Ltd Method and system for automatic installation of a functional unit driver on a host
WO2008066574A1 (en) * 2006-11-29 2008-06-05 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6012013A (en) * 1995-03-31 2000-01-04 Trimble Navigation Limited Vehicle position reporting in user defined uni-dimensional coordinate system
US6574588B1 (en) * 1998-09-23 2003-06-03 Microsoft Corporation Solid-state memory device that emulates a known storage device
WO2001007984A2 (en) * 1999-07-27 2001-02-01 Cais, Inc. Universal serial bus adapter with automatic installation
US6704824B1 (en) * 1999-07-27 2004-03-09 Inline Connection Corporation Universal serial bus adapter with automatic installation
WO2003012577A2 (en) * 2001-07-31 2003-02-13 Silicom Ltd. Device-related software installation
US20030163611A1 (en) * 2002-02-26 2003-08-28 Fujitsu Component Limited Electronic device and method of controlling the same
US20040205778A1 (en) * 2003-04-08 2004-10-14 Wong Yin Hui System and method for installing portable device drivers
WO2006016852A1 (en) * 2004-08-12 2006-02-16 Trek 2000 International Ltd Method and system for automatic installation of a functional unit driver on a host
WO2008066574A1 (en) * 2006-11-29 2008-06-05 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically installing device drivers from a peripheral device onto a host computer

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2487598A1 (en) * 2009-12-24 2012-08-15 Huawei Device Co., Ltd. Data card upgrading method and device
US20120266151A1 (en) * 2009-12-24 2012-10-18 Huawei Device Co., Ltd. Method and apparatus for updating data card
EP2487598A4 (en) * 2009-12-24 2013-09-04 Huawei Device Co Ltd Data card upgrading method and device
US11151749B2 (en) 2016-06-17 2021-10-19 Immersive Robotics Pty Ltd. Image compression method and apparatus
US11150857B2 (en) 2017-02-08 2021-10-19 Immersive Robotics Pty Ltd Antenna control for mobile device communication
US11429337B2 (en) 2017-02-08 2022-08-30 Immersive Robotics Pty Ltd Displaying content to users in a multiplayer venue
US11153604B2 (en) 2017-11-21 2021-10-19 Immersive Robotics Pty Ltd Image compression for digital reality
US11553187B2 (en) 2017-11-21 2023-01-10 Immersive Robotics Pty Ltd Frequency component selection for image compression

Also Published As

Publication number Publication date
GB0712138D0 (en) 2007-08-01
GB0811387D0 (en) 2008-07-30

Similar Documents

Publication Publication Date Title
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
US8880864B2 (en) Parallelizing multiple boot images with virtual machines
JP4373639B2 (en) Method and system for accessing software related to an electronic peripheral device based on addresses stored in the peripheral device
KR100553921B1 (en) An appliance server with a drive partitioning scheme that accommodates application growth in size
JP4346853B2 (en) Electronic device and control method thereof
US6496893B1 (en) Apparatus and method for swapping devices while a computer is running
US7793279B1 (en) Dynamic driver substitution
US20020069353A1 (en) Automated device driver installation
US7363480B1 (en) Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
US20020184484A1 (en) Automatic appliance server re-provision/re-purposing method
US20080071935A1 (en) Self-Installing Computer Peripherals
US20080126628A1 (en) Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer
US9032394B1 (en) Deploying drivers for an operating system on a computing device
JP7346606B2 (en) Screen sharing processing method, device, equipment and storage medium
JP4527348B2 (en) Interface device, method of updating firmware in interface device, and program thereof
CN103412769A (en) External card parameter configuration method, equipment and system
JP2008532161A (en) Driver installation
WO2010042115A1 (en) Firmware storage medium with customized image
GB2450422A (en) Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer
CN107111568B (en) System and method for presenting drive installation files when USB device is enabled
KR100654675B1 (en) A Portable Data Storage System and Method to Run Application Programs on a Host Computer System
US20050216717A1 (en) Clientless external storage device
US8819299B1 (en) Method for creation of a device driver for a peripheral device
JP4141409B2 (en) External peripherals
JP2003525494A (en) Apparatus and method for swapping devices during operation of a computer

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)