Nov 13, 2012 My current AP has the software filename c1200-k9w7-tar.123-8.JEC installed which according to CIsco's web site, it's from the 1200 series download but when I look at the Cisco's web site, it also has available for download CIsco Aironet 1200 Series or the Cisco Aironet 1240AG Series.
Look up upgrade in Wiktionary, the free dictionary. |
Upgrading is the process of replacing a product with a newer version of the same product. In computing and consumer electronics an upgrade is generally a replacement of hardware, software or firmware with a newer or better version, in order to bring the system up to date or to improve its characteristics.
Computing and consumer electronics[edit]
Examples of common hardware upgrades include installing additional memory (RAM), adding larger hard disks, replacing microprocessor cards or graphics cards, and installing new versions of software. Many other upgrades are possible as well.
Common software upgrades include changing the version of an operating system, of an office suite, of an anti-virus program, or of various other tools.
Common firmware upgrades include the updating of the iPod control menus, the Xbox 360 dashboard, or the non-volatile flash memory that contains the embedded operating system for a consumer electronics device.
Users can often download software and firmware upgrades from the Internet. Often the download is a patch—it does not contain the new version of the software in its entirety, just the changes that need to be made. Software patches usually aim to improve functionality or solve problems with security. Rushed patches can cause more harm than good and are therefore sometimes regarded[by whom?] with skepticism for a short time after release.[1] Patches are generally free.
A software or firmware upgrade can be major or minor and the release version code-number increases accordingly. A major upgrade will change the version number, whereas a minor update will often append a '.01', '.02', '.03', etc. For example, 'version 10.03' might designate the third minor upgrade of version 10. In commercial software, the minor upgrades (or updates) are generally free, but the major versions must be purchased. See also: sidegrade.
Companies usually make software upgrades for the following reasons: 1.) to support industry regulatory requirements 2.) to access emerging technologies with new features, and tools 3.) to meet the demands of changing markets 4.) to continue to receive comprehensive product support.[2]
Risks[edit]
Although developers usually produce upgrades in order to improve a product, there are risks involved—including the possibility that the upgrade will worsen the product.
Upgrades of hardware involve a risk that new hardware will not be compatible with other pieces of hardware in a system. For example, an upgrade of RAM may not be compatible with existing RAM in a computer. Other hardware components may not be compatible after either an upgrade or downgrade, due to the non-availability of compatible drivers for the hardware with a specific operating system. Conversely, there is the same risk of non-compatibility when software is upgraded or downgraded for previously functioning hardware to no longer function.
Upgrades of software introduce the risk that the new version (or patch) will contain a bug, causing the program to malfunction in some way or not to function at all. For example, in October 2005, a glitch in a software upgrade caused trading on the Tokyo Stock Exchange to shut down for most of the day.[3] Similar have occurred: from important government systems[4]to freeware on the internet.
Upgrades can also worsen a product subjectively. A user may prefer an older version even if a newer version functions perfectly as designed. This may happen for a variety of reasons, including the user being already accustomed to the behavior of the old version or because the upgrade removed some features (see iPhone jack removal controversy or OtherOS).
A further risk of software upgrades is that they can brick the device being upgraded, such as if power fails while the upgrade is in the middle of being installed. This is an especially big concern for embedded devices, in which upgrades are typically all-or-nothing (the upgrade is a firmware or filesystem image, which isn't usable if it's only partially written), and which have limited ability to recover from a failed upgrade. Solutions to this generally involve keeping multiple copies of firmware, so that one can be upgraded while the other remains intact as a backup, but there are still holes which can cause this to fail.[5][6] Tools such as Sysup[5] and SWUpdate[6] provide more complete solutions that implement upgrades in a safe atomic way, and reduce or eliminate the need to customize bootloaders and other components.
See also[edit]
References[edit]
- ^Lea Rush (2007-08-07). 'Windows Vista patch ready for download'. IT News Digest. Retrieved 2008-07-30.
- ^Marini, Paul. 'Best Practices for a Successful Software Upgrade'. Sparta Systems. Retrieved 22 June 2015.
- ^Williams, Martyn (2005-11-01). 'Software glitch halts Tokyo Stock Exchange'. InfoWorld. Retrieved 2008-07-30.
- ^Associated Press (2006-04-20). 'Official: Software glitch, not bomb, shut airport'. NBC News. Retrieved 2008-07-30.
- ^ abBen-Yossef, Gilad. 'Building Murphy-compatible embedded Linux systems'(PDF). Proceedings of the Linux Symposium. 1: 21–36. Retrieved 23 June 2016.
- ^ abBabic, Stefano. 'Software Management on embedded systems'. Retrieved 23 June 2016.
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Upgrade&oldid=926557243'
-->This topic describes how to update a removable or in-chassis device's firmware using the Windows Update (WU) service. For information about updating system firmware, see Windows UEFI firmware update platform.
To do this, you'll provide an update mechanism, implemented as a device driver, that includes the firmware payload. If your device uses a vendor-supplied driver, you have the option of adding the firmware update logic and payload to your existing function driver, or providing a separate firmware update driver package. If your device uses a Microsoft-supplied driver, you must provide a separate firmware update driver package. In both cases, the firmware update driver package must be universal. For more info about universal drivers, see Getting Started with Universal Windows drivers. The driver binary can use KMDF, UMDF 2 or the Windows Driver Model.
Because WU cannot execute software, the firmware update driver must hand the firmware to Plug and Play (PnP) for installation.
Firmware update driver actions
Typically, the firmware update driver is a lightweight device driver that does the following:
- At device start or in the driver's EVT_WDF_DRIVER_DEVICE_ADD callback function:
- Identify the device to which it is attached.
- Determine whether the driver has a firmware version that is more recent than the version on the device.
- If a firmware update is necessary, set an event timer to schedule the update.
- Otherwise, do nothing until the driver is started again.
- During system runtime:
- If an update is queued, wait for a set of conditions to be met.
- When conditions are met, perform the firmware update on the device.
Firmware update driver contents
Typically, the firmware update driver package contains the following:
- Driver catalog
- Function driver (.sys or .dll)
- Firmware update payload binary
Submit your firmware update package as a separate driver submission.
Adding firmware update logic to a vendor-supplied driver
The existing function driver can implement the firmware update mechanism, as shown in the following diagram:
Alternatively, if you want to update the function driver and the firmware update driver separately, create a second device node, on which you will install the firmware update driver. The following diagram shows how one device can have two separate device nodes:
In this case, the function and firmware device nodes must have different hardware IDs in order to be targeted independently.
There are a couple ways to create a second device node. Certain device types have the ability to expose a second device node on one physical device, such as USB. You can use this functionality to create a device node targetable by WU, and install a firmware update driver on it. Many device types, however, do not allow a single physical device to enumerate more than one device node.
In this case, use an extension INF that specifies the AddComponent directive to create a device node that can be targeted by Windows Update and install the firmware update driver on it. The following snippet from an INF file shows how you can do this:
In the above INF sample,
ComponentIDs = ComponentDeviceId
indicates that the child device will have a hardware ID of SWCComponentDeviceId
. When installed, this INF creates the following device hierarchy:For future firmware updates, update the INF and binary file containing the firmware payload.
Adding firmware update logic to a Microsoft-supplied driver
To update firmware for devices that use a Microsoft-supplied driver, you need to create a second device node, as shown above.
Best practices
- In your firmware update driver INF, specify DIRID 13 to cause PnP to leave the files in the driver package in the DriverStore:PnP resolves this location when it installs the device. The driver can then open this registry key to determine the location of the payload.
- Firmware update drivers should specify the following INF entries:
- To locate another device node, the firmware driver should walk the device tree relative to itself, not by enumerating all device nodes for a match. A user may have plugged in multiple instances of the device, and the firmware driver should only update the device with which it is associated. Typically, the device node to be located is the parent or sibling of the device node on which the firmware driver is installed. For example, in the diagram above with two device nodes, the firmware update driver can look for a sibling device to find the function driver. In the diagram immediately above, the firmware driver can look for the parent device to find the primary device with which it needs to communicate.
- The driver should be robust to multiple instances of the device being on the system, possibly with multiple different firmware versions. For example, there may be one instance of the device that has been connected and updated several times; a brand new device may then be plugged in which is several firmware versions old. This means that state (such as current version) must be stored against the device, and not in a global location.
- If there is an existing method to update the firmware (EXE or co-installer, for example), you can largely reuse the update code within a UMDF driver.