Guest

Cisco Catalyst 6500 Series Switches

How to Upgrade Software Images on Catalyst Switch Layer 3 Modules

Document ID: 20685

Updated: Dec 04, 2006

   Print

Introduction

This document describes the procedure to upgrade the software image on the Cisco Catalyst switch Layer 3 (L3) modules.

Prerequisites

Requirements

Cisco recommends that you have knowledge of these topics:

  • TFTP and how to transfer files with this protocol. An understanding of how to set up a computer to be an TFTP server.

  • The Cisco IOS® Software image downloaded onto the workstation that acts as the TFTP server prior to actual image installation.

Components Used

This document is not restricted to specific software and hardware versions.

Conventions

Refer to Cisco Technical Tips Conventions for more information on document conventions.

Background Information

This document describes these L3 modules:

  • Catalyst 4500/4000 4232-L3 module

  • Catalyst 5500/5000 Route Switch Module (RSM)

  • Catalyst 6500/6000 Multilayer Switch Module (MSM)

  • Catalyst 6500/6000 Mutilayer Switch Feature Card (MSFC)

  • Catalyst 6500/6000 Mutilayer Switch Feature Card 2 (MSFC2)

Note: Each of these modules is similar with respect to the upgrade procedure. The same upgrade procedure is generally applicable. This document uses examples from the upgrade of the MSFC2 on the Catalyst 6500/6000. If there are differences in procedure, each subsection of the upgrade describes the differences.

This document does not describe the upgrade of the Catalyst 5500/5000 Route Switch Feature Card (RSFC). For information on Catalyst 5500/5000 RSFC upgrades, refer to the Maintaining and Administering the RSFC section of the document Route Switch Feature Card (RSFC).

There are multiple ways to achieve the upgrade. The procedure in this document discusses the TFTP upgrade only. On certain platforms, such as the Catalyst 6500/6000 MSFC, there are other ways to upgrade, including the use of Flash PC Cards.?For those options, refer to the appropriate configuration guide from this list:

Before You Begin

Step 1: Install a TFTP Server

Install a TFTP server on a TCP/IP-ready workstation or PC. Once the application is installed, perform a minimal level of configuration. Follow this procedure:

  1. Configure the TFTP application to operate as a TFTP server (not a TFTP client).

  2. Specify the outbound file directory.

    This is the directory that stores the Cisco software images. (See Step 2: Download the Cisco IOS Software Image.) Most TFTP applications provide a setup routine to assist in these configuration tasks.

    Note: You can use TFTP to transfer software image files from a PC to the device. This document uses output from the Cisco TFTP Server application. Cisco has discontinued this application and no longer supports it. If you do not have a TFTP server, obtain any third-party TFTP server application from another source.

  3. If the Cisco TFTP server is used, disable the logging function to prevent excessive logs that can disrupt the TFTP process.

    To disable logging on the Cisco TFTP server, choose View Menu > Options, uncheck Enable Logging, and click OK.

Step 2: Download the Cisco IOS Software Image

A valid Cisco IOS Software image for the router is necessary. Make sure that the image supports the hardware and software features, and that the router has enough memory to run it.

To determine hardware and software features, refer to the specific platform release notes:

If you do not yet have a Cisco IOS Software image, refer to these documents for specific platform images:

Now a TFTP server is installed, and there is a valid Cisco IOS Software image.

Console into the L3 Module

When the image in any device is upgraded, have a console connection into the device so that access to the device is possible if a problem develops. A console connection is different than a Telnet session. A console connection provides information upon system boot. Telnet is a TCP/IP method, but a console connection is a physical connection. (A console connection can also be virtual, through the backplane on the Catalyst 6500/6000 series.)

For each platform, there are different methods to console into the L3 module.

Catalyst 4500/4000 4232-L3 Module

On this platform, physically plug a console cable into the 4232-L3 module. For more information, refer to the Connecting Through the Module Console Port section of Installation and Configuration Note for the Catalyst 4000 Layer 3 Services Module.

Catalyst 5500/5000 RSM

For details on how to connect to the console port on the RSM, refer to the Direct Console Connection section of Troubleshooting the Catalyst 5000 Route Switch Module (RSM) and InterVLAN Routing.

Catalyst 6500/6000 MSM

On this platform, there is a console port on the module. For more details on the console connection, refer to Catalyst 6500 Series Switch Module Installation Guide - Product Overview.

Catalyst 6500/6000 MSFC

The Catalyst 6500/6000 MSFC is different than the other physical modules because the MSFC resides on a daughter card within the Supervisor Engine. The MSFC is similar to the Catalyst 5500/5000 RSFC, which also resides on the Supervisor Engine. The best method to use is to physically connect your terminal to the console port of the Supervisor Engine. Next, gain executive mode (enable) access. Afterward,you can go into the virtual console mode if the switch console command is issued. For more information on this command, refer to Command-Line Interfaces.

For more information on console ports and cables in general, refer to Cabling Guide for Console and AUX Ports.

Upgrade the L3 Module

Brief Outline of Procedure

Follow this procedure to upgrade the L3 module:

  1. Provide TCP/IP connectivity to the L3 module.

  2. Copy the image into the L3 module through the TFTP.

  3. Set boot statements to load the new image upon startup.

  4. Reboot the L3 module to load the new image.

Note: For each L3 module, the procedure is similar and, generally, the same procedure applies.?When differences or specifics apply to each L3 module, there are notes after each step.

Step-by-Step Procedure

Step 1: Provide TCP/IP Connectivity to the L3 Module

The L3 module has the ability to receive new Cisco IOS images through the TFTP. To use TFTP with the image, you must ensure that the TFTP server (the computer that runs TFTP server software) can reach the L3 engine through TCP/IP. If you are able to ping the computer from the command-line interface (CLI) of the L3 module, you have successfully completed this step.

Setup of the L3 engine for IP connectivity is beyond the scope of this document.

To configure IP connectivity for each specific L3 module, refer to:

Step 2: Copy the Image into the L3 Module Through the TFTP

Verify Free Space on the Bootflash

At this point, you need to verify that you have enough space in the bootflash to copy the new image.?If there is not enough room, you have to delete some files to make space. In some situations, if the image is very large, you must delete the current image in the bootflash.?On the MSFC, this deletion can be made safely if you also have the boot image in the bootflash. You use the boot image if the main image is corrupt or not available.

Note: The main image is the full feature set Cisco IOS image, whereas the boot image is essentially a scaled-down version of the main image. The boot image has limited sub-IP functionality with the intent to provide TFTP capabilities.

To determine the amount of free space and whether there is a boot image in the bootflash, issue the dir [device:] command.

Example:

In this example, the bootflash has 1,265,440 bytes free, and there is a boot image present (c6msfc2-boot-mz.121-6.E1). The word "boot" in the file name indicates a boot image.

c-MSFC15# dir bootflash:

Directory of bootflash:/?
??? 1? -rw-???? 1667488?? Apr 20 2001 20:56:41 c6msfc2-boot-mz.121-6.E1
??? 2? -rw-??? 12269412?? Feb 05 2002 18:08:32? c6msfc2-jsv-mz.121-8a.E2?

15204352 bytes total (1265440 bytes free)

Note: The Catalyst 4500/4000 4232-L3 module does not have boot image functionality.?However, you are likely to find adequate space on the bootflash for the image.?Also, as long as you do not reload the device, the module continues to function correctly. The module continues to work because the image is loaded into the DRAM upon boot and does not rely on the bootflash image once the system is up.

If you find that there is not enough space, you can delete the file. The delete [device:][file_name] command deletes the file.

Example:

c-MSFC15# delete bootflash:c6msfc2-jsv-mz.121-8a.E2?
Delete filename [c6msfc2-jsv-mz.121-8a.E2]? c6msfc2-jsv-mz.121-8a.E2
Delete bootflash:c6msfc2-jsv-mz.121-8a.E2? [confirm]y?
c-MSFC15#

The file is removed once it is deleted and squeezed.

Note: If the image size is more than the memory size of the bootflash, you can use an external flash drive (Disk0).

Copy the Image into Bootflash

At this stage, you have IP connectivity and can ping between the computer that acts as a TFTP server and the L3 module. Now, copy the image into the bootflash. If you cannot ping between devices, see the Step 1: Provide TCP/IP Connectivity to the L3 Module section of this document. Step 1 provides appropriate links for IP connectivity.

At the enable prompt, issue this command to copy from the TFTP server to your bootflash:

c-MSFC15# copy tftp bootflash

You see a prompt with this information:

Address or name of remote host []? 172.16.84.119

Address or name of remote host is the IP address of the TFTP server. The ping test in Step 1: Provide TCP/IP Connectivity to the L3 Module confirms the IP.

Source filename []? c6msfc2-jsv-mz.121-8a.E5

Source filename is the image file name. The file must be in your TFTP directory path so that the TFTP server can locate the file.

Note: The file name must be spelled exactly the same, which includes any capitalization.

Destination filename [flash]? c6msfc2-jsv-mz.121-8a.E5

Destination filename is the file name of the image that you intend to save onto the bootflash. Use of the same file name as the source name ensures that, in the future, you can correctly identify the software features and version run.

If you do not have enough space in the bootflash, Cisco IOS Software asks if you want to delete the current image to make room for the new image.

The transfer can take some time, which depends on the speed of the connection and the size of the image. During the transfer, you see exclamation marks ("!" ) for good packets. The appearance of periods (".") indicates that the link has taken some hits. Investigate the problem afterward.

A successful TFTP transfer reports an OK, along with the number of bytes transferred. If you do not receive an OK, investigate IP connectivity and possible TFTP server issues.

Example:

c-MSFC15# copy tftp bootflash?
Address or name of remote host []? 172.16.84.119
Source filename []? c6msfc2-jsv-mz.121-8a.E5?
Destination filename [flash]? c6msfc2-jsv-mz.121-8a.E5?
Accessing tftp://172.16.84.119/c6msfc2-jsv-mz.121-8a.E5...?
Loading c6msfc2-jsv-mz.121-8a.E5 from 172.16.84.119 (via Vlan1):?
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!--- Output suppressed.
?
[OK - 12269412/24538112 bytes]?
12269412 bytes copied in 523.852 secs (23459 bytes/sec)?
c-MSFC15#

After you have successfully transferred the file, verify that the file is in the bootflash:

Issue the dir [device:] command to show files that are currently in the bootflash.

Example:

c-MSFC15# dir bootflash:?
Directory of bootflash:/?
??? 1??? -rw-??? 1667488??????????? Apr 20 2001 20:56:41??????? c6msfc2-boot-mz.121-6.E1?
??? 2??? -rw-??? 12269412?????????? Feb 05 2002 18:08:32??????? c6msfc2-jsv-mz.121-8a.E5

Verify that the name and the file size are correct.

Step 3: Set Boot Statement

After you copy the image through TFTP, you must provide the L3 module with the name of the image to load upon boot.

Check Current Boot Statements

The image is now in the bootflash. You must set the L3 module to boot the new image. By default, the L3 module boots the first available image. (An absence of boot commands in the configuration enables the default.)?There is a possibility that you have a previous boot statement defined.

There are two ways to determine the current boot parameter settings.

  • Method 1 is to issue the show config command:

    Example:

    c-MSFC15# show config?
    Building configuration...?
    
    Current configuration : 1625 bytes?
    !?
    version 12.1?
    service timestamps debug datetime msec localtime?
    !?
    hostname c-MSFC15?
    !?
    boot system flash bootflash:c6msfc2-jsv-mz.121-8a.E4?
    boot bootldr bootflash:c6msfc2-boot-mz.121-6.E1?
    !?
    ip subnet-zero?
    !?
    --More--

    Check to see if the configuration has any boot commands. The commands appear toward the top of the configuration.

  • Method 2 is to issue the show boot command:

    Example:

    c-MSFC15# show boot?
    BOOT variable = bootflash:c6msfc2-jsv-mz.121-8a.E4,1?
    CONFIG_FILE variable =?
    BOOTLDR variable = bootflash:c6msfc2-boot-mz.121-6.E1?
    Configuration register is 0x102

    Check to see if the boot statements appear under the parameter BOOT variable.

    If you have boot entries, you must remove them from the configuration. For more information on the removal of boot entries, see the Remove Previous Boot Statements section of this document.

Remove Previous Boot Statements

To remove the statements, enter into configuration terminal mode. From the configuration mode, you can negate any command with the issue of no in front of each boot statement.

This example illustrates the removal of a boot statement:

Example:

c-MSFC15# show config?
Building configuration...?

Current configuration : 1625 bytes?
!?
version 12.1?
service timestamps debug datetime msec localtime?
!?
hostname c-MSFC15?
!?
boot system flash bootflash:c6msfc2-jsv-mz.121-8a.E4
boot bootldr bootflash:c6msfc2-boot-mz.121-6.E1?
!?
ip subnet-zero?
!?
--More--

At this point, you have the boot statement that you want to remove. The statement to remove is boot system flash bootflash:c6msfc2-jsv-mz.121-8a.E4.

c-MSFC15# configure terminal
Enter configuration commands, one per line.? End with CNTL/Z.?
c-MSFC15(config)# no boot system flash bootflash:c6msfc2-jsv-mz.121-8a.E4
c-MSFC15(config)# ^Z?
c-MSFC15#

Verify that you have removed the command:

Example:

c-MSFC15# show config?
Building configuration...?

Current configuration : 1625 bytes?
!?
version 12.1?
service timestamps debug datetime msec localtime?
!?
hostname c-MSFC15?
!?
boot bootldr bootflash:c6msfc2-boot-mz.121-6.E1?

!--- Note: Now the boot statement no longer appears in the configuration.?

!?
ip subnet-zero?
!?
--More--

Once the commands are removed, you can issue the copy run start command or the write memory command to save the configuration to NVRAM.

Example:

c-MSFC15# write memory?
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11)?
Building configuration...?
c-MSFC15#

Set the New Boot Statement

You must add the boot statement to indicate which image the L3 module needs to load.

Issue this command to set the boot parameter:

Example:

c-MSFC15# configure terminal
Enter configuration commands, one per line.? End with CNTL/Z.?
c-MSFC15(config)# boot system flash bootflash:c6msfc2-jsv-mz.121-8a.E5
c-MSFC15(config)# ^Z
c-MSFC15# write memory?
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11)?
Building configuration...?
c-MSFC15#

Be sure to verify that the config-register value is set to 0x2102 with the issue of the show boot command. If config-register is set to a different value, you can change it with the issue of this command in configuration mode:

  • config-register 0xvalue

Example:

c-MSFC15# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
c-MSFC15(config)# config-register 0x2102
c-MSFC15(config)# ^Z
c-MSFC15# write memory

Verify the boot parameters with the issue of the show boot command:

c-MSFC15# show boot
BOOT variable = bootflash:c6msfc2-jsv-mz.121-8a.E5,1
CONFIG_FILE variable =
BOOTLDR variable = bootflash:c6msfc2-boot-mz.121-6.E1
Configuration register is 0x102 (will be 0x2102 at next reload)
c-MSFC15#

After you change the config-register, the change takes place at the next reload, as the example shows.

Step 4: Reload the L3 Module

For the L3 module to run the new Cisco IOS image, you must reload the module. Make sure that you have saved the configuration. Issue the copy run start command or the write memory to save the configuration.

Example:

c-MSFC15# write memory?
3d01h: %SYS-5-CONFIG_I: Configured from console by vty0 (127.0.0.11)?
Building configuration...?
c-MSFC15#

Issue the reload command to soft reset the L3 module, as this example shows:

Example:

c-MSFC15# reload?
Proceed with reload? [confirm]?
00:00:40: %SYS-5-RELOAD: Reload requested?
System Bootstrap, Version 12.1(2r)E, RELEASE SOFTWARE (fc1)?
Copyright (c) 20 0 0 by cisco Systems, Inc.?
Cat6k-MSFC2 platform with 131072 Kbytes of main memory?
Self decompressing the image :
######################################################### [OK]?
%SYS-6-BOOT_MESSAGES: Messages above this line are from the boot loader.?
Self decompressing the image :
################################################################################### [OK]?
Restricted Rights Legend?
Use, duplication, or disclosure by the Government is?
subject to restrictions as set forth in subparagraph?
(c) of the Commercial Computer Software - Restricted?
Rights clause at FAR sec. 52.227-19 and subparagraph?
(c) (1) (ii) of the Rights in Technical Data and Computer?
Software clause at DFARS sec. 252.227-7013.?
cisco Systems, Inc.?
170 West Tasman Drive?
San Jose, California 95134-1706?
Cisco Internetwork Operating System Software?
IOS (tm) MSFC2 Software (C6MSFC2-JSV-M), Version 12.1(8a)E5, EARLY DEPLOYMENT RELEASE 
SOFTWARE (fc2)?
TAC Support: http://www.cisco.com/tac?
Copyright (c) 1986-2001 by cisco Systems, Inc.?
Compiled Mon 22-Oct-01 21:51 by eaarmas?
Image text-base: 0x40008980, data-base: 0x418D2000?
cisco Cat6k-MSFC2 (R7000) processor with 114688K/16384K bytes of memory.?
Processor board ID SAD042106RN?
R7000 CPU at 300Mhz, Implementation 39, Rev 2.1, 256KB L2, 1024KB L3 Cache?
Last reset from power-on?
Bridging software.?
X.25 software, Version 3.0.0.?
SuperLAT software (copyright 1990 by Meridian Technology Corp).?
TN3270 Emulation software.?
509K bytes of non-volatile configuration memory.?
16384K bytes of Flash internal SIMM (Sector size 512K).?
Press RETURN to get started!?
00:00:02: Currently running ROMMON from S (Gold) region?
00:00:04: %SYS-5-CONFIG_I: Configured from memory by console?
00:00:04: %SYS-5-RESTART: System restarted --?
Cisco Internetwork Operating System Software?
IOS (tm) MSFC2 Software (C6MSFC2-JSV-M), Version 12.1(8a)E5, EARLY DEPLOYMENT RELEASE 
SOFTWARE (fc2)?
TAC Support: http://www.cisco.com/tac?
Copyright (c) 1986-2001 by cisco Systems, Inc.?
Compiled Mon 22-Oct-01 21:51 by eaarmas?
00:00:06: %SCP-5-ONLINE: Module online?
00:00:09: %LINK-3-UPDOWN: Interface Vlan1, changed state to up?
00:00:10: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up?
c-MSFC15>

Step 5: Verify the Upgrade

After the L3 module comes up, make sure that you run the new version of code. Issue the show version command to check.

Example:

c-MSFC15# show version?
Cisco Internetwork Operating System Software?
IOS (tm) MSFC2 Software (C6MSFC2-JSV-M), Version 12.1(8a)E5, EARLY 
DEPLOYMENT RELEASE SOFTWARE (fc2)?

!--- Note: Now the MSFC runs the new software image.?

TAC Support: http://www.cisco.com/tac?
Copyright (c) 1986-2001 by cisco Systems, Inc.?
Compiled Mon 22-Oct-01 21:51 by eaarmas?
Image text-base: 0x40008980, data-base: 0x418D2000?
ROM: System Bootstrap, Version 12.1(2r)E, RELEASE SOFTWARE (fc1)?
BOOTFLASH: MSFC2 Software (C6MSFC2-BOOT-M), Version 12.1(6)E1, EARLY DEPLOYMENT RELEASE 
SOFTWARE (fc1)?
c-MSFC15 uptime is 0 minutes?
System returned to ROM by power-on?
Running default software?
cisco Cat6k-MSFC2 (R7000) processor with 114688K/16384K bytes of memory.?
Processor board ID SAD042106RN?
R7000 CPU at 300Mhz, Implementation 39, Rev 2.1, 256KB L2, 1024KB L3 Cache?
Last reset from power-on?
Bridging software.?
X.25 software, Version 3.0.0.?
SuperLAT software (copyright 1990 by Meridian Technology Corp).?
TN3270 Emulation software.?
4 Virtual Ethernet/IEEE 802.3 interface(s)?
509K bytes of non-volatile configuration memory.?
16384K bytes of Flash internal SIMM (Sector size 512K).?
Configuration register is 0x2102?
c-MSFC15#

Verify that the version (12.1(8a)E5) is correct and that the config-register is set (0x2102).

The upgrade is complete.

Note: If you have dual MSFCs, you must download the image onto the second MSFC bootflash: device. The image does not automatically download to the second MSFC. This requirement is also applies to config-sync mode and Single Router Mode (SRM). In config-sync mode and SRM, changes in the boot variables automatically propagate to the nondesignated or standby MSFC. To copy an image from bootflash to the bootflash of a nondesignated or standby MSFC, issue the copy bootflash:source_filename slavebootflash:target_filename command.

Boot the MSFC with CatOS Software from Flash PC

When you run Catalyst OS (CatOS) software on the Supervisor Engine, you can choose to boot the MSFC from an image in the Supervisor Engine slot0 Flash PC Card slot. Your boot system statement refers to the Flash device as sup-slot0. Although there is support for such a boot process, avoid use of it. Use this boot process only as a temporary step, such as when you test an image. Be aware of Cisco bug ID CSCdr35304 (registered customers only) .

You cannot issue commands such as the dir sup-slot0: command or the show sup-slot0: commands from the MSFC because the MSFC does not consider slot0 to be a local file system. If you specify sup-slot0 as the source of the operating system image, the switch transfers the file through TFTP across the internal switching bus between the sc0 interface on the Supervisor Engine and a special loopback IP address on the MSFC.

From the MSFC CLI, you can issue this command:

FIRE-MSFC1# copy tftp ?
  bootflash:      Copy to bootflash: file system
  ftp:            Copy to ftp: file system
  microcode:      Copy to microcode: file system
  null:           Copy to null: file system
  nvram:          Copy to nvram: file system
  rcp:            Copy to rcp: file system
  running-config  Update (merge with) current system configuration
  slavenvram:     Copy to slavenvram: file system
  startup-config  Copy to startup configuration
  sup-slot0:      Copy to sup-slot0: file system
  system:         Copy to system: file system
  tftp:           Copy to tftp: file system

The sup-slot0 device also appears in the show file systems command output:

FIRE-MSFC1# show file systems
    File Systems: 

         Size(b)     Free(b)      Type  Flags  Prefixes
         4395600           0    opaque     ro   microcode:
               -           -    opaque     rw   null:
               -           -    opaque     rw   system:
               -           -   network     rw   sup-slot0:
               -           -   network     rw   tftp:
          126968      124130     nvram     rw   nvram:
    *   15990784     2028888     flash     rw   bootflash:
               -           -   network     rw   rcp:
               -           -   network     rw   ftp:
               -           -     nvram     rw   slavenvram:

Troubleshoot

The MSFC Does Not Appear in the Supervisor Engine show module Command Output After an Upgrade

If you have difficulty with access to the MSFC after you reload the MSFC for an upgrade, refer to Recover an MSFC Missing from the Supervisor Engine show module Command.

This is sample output from the show module command when the MSFC does not appear:

Cat6500 (enable) show module
Mod Slot Ports Module-Type Model Sub Status
--- ---- ----- ------------------------- ------------------- --- --------
1 1 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok
Mod Module-Name Serial-Num
--- -------------------- -----------
1 SAD040200B3
Cat6500 (enable) session 15
Module 15 is not installed.

This is sample command output from the show module command when the MSFC is in the other state:

Cat6500 (enable) show module
Mod Slot Ports Module-Type Model Sub Status
--- ---- ----- ------------------------- ------------------- --- --------
1 1 2 1000BaseX Supervisor WS-X6K-SUP1A-2GE yes ok
15 1 1 Multilayer Switch Feature WS-F6K-MSFC no other
Cat6500 (enable) session 15
Trying Router-15... 

!--- The session is not created. Press Ctrl-C to escape.

There Is a Delay in the Boot of the Secondary MSFC from sup-slot0: on Catalyst 6500/6000 Switches with Redundant Supervisor Engines

On Catalyst 6500/6000 switches with redundant MSFCs/MSFC2s, you can experience delay on the secondary MSFC until the first MSFC finishes the boot from sup-slot0:.

This delay is due to a limitation in the earlier CatOS releases that allows only one download at a time from sup-slot0:. The current releases of CatOS allow multiple downloads from sup-slot0: during the boot process, so the two MSFCs can download the same image at the same time. For further details about this limitation, refer to Cisco bug ID CSCdy55525 (registered customers only) .

Related Information

Updated: Dec 04, 2006
Document ID: 20685