Firmware Update on Dell PowerConnect M6220 Switch in M1000e Blade Chassis

To update the PowerConnect M6220 I was force to connect via a Null Modem Cable to first configure an IP address then followed up the upgrade procedure. I was able to locate a cable off of eBay to connect to the console of the M6220 switch in the M1000e chassis. The cable is a “USB” to DB9 Null Modem Cable. Do not be confused with a USB to DB9 Adapter that has an integrated circuit that provides you a COM port on your host. This cable is for the Dell PowerConnect series switches and not used anywhere else in the data center that I’m aware of. The Dell Part Number of the cable is PN # WY835.

Here is the USB to DB9 Null Modem Cable Pinout…

DB9     USB
1         –
2        3    (D+)
3        2    (D-)
4        –
5        4    (GND)
6        –
7        –
8       –
9        –

*Thanks to Mike Anderson for correcting the pin out.

If you don’t need to make one, awesome! If you do need to make one, now you can!

Once an IP address is configured, it’s a two step process. Update to the PCM6220_vA firmware then upgrade to the PCM6220_v4 firmware. It requires more time than anything so be patient.

That two step process is broken down a little bit more. You first upload the PCM6220_vA firmware via TFTP, select the new boot image, issue a reload, upon reload catch the bootloader, within the bootloader choose to update the boot code then boot into the new image. You then repeat the same steps for PCM6220_v4 firmware. After all that, you’re finally up-to-date.

Note: You can upgrade from 1.x.x.x, 2.x.x.x or 3.x.x.x, the procedure is all the same regardless of what previous version the switch is on. The only case that is it is different is if you are going from one minor version to another, for example 4.0.x.x to 4.1.x.x.

Note 2: Before starting ensure there is an out-of-band management IP assigned to the interface and ensure the configuration is saved to the startup-config. Also, ensure management passwords are set as well before starting even if they are generic.

Note 3: This is all done through the serial connection with another host on the same network as the out-of-band management IP with a TFTP service running hosting the new images for the M6220. Pumpkin is a wonderful Windows TFTP server found here, kin.klever.net/pumpkin The files were placed in the root of the TFTP server directory.

Now here is the break down of commands how to get this done!

enable
configure
enable password <password>
exit
copy running-config startup-config
copy tftp://10.10.10.2/PCM6220vA.1.1.9.stk image
show version
boot system image2
reload
- Press 2 to Start Boot Menu
- Press 7 to Update boot code

enable
copy tftp://10.10.10.2/PCM6220v4.2.0.4.stk image
show version
boot system image1
reload
- Press 2 to Start Boot Menu
- Press 7 to Update boot code

Now here is the output of the following commands:

console>en
console#show run

!Current Configuration:
!System Description "PowerConnect M6220, 1.1.0.10, VxWorks5.5.1"
!System Software Version 1.1.0.10
!System Operational Mode "Normal"
!
configure
stack
member 1 1
exit
ip address 192.168.2.1 255.255.255.0
interface out-of-band
ip address 10.10.10.100 255.255.255.0 172.20.127.254
exit
exit

console#configure
console(config)#enable password <password>
console(config)#exit
console#copy running-config startup-config

This operation may take a few minutes.
Management interfaces will not be available during this time.
Are you sure you want to save? (y/n) y
Configuration Saved!

console#copy tftp://10.10.10.2/PCM6220vA.1.1.9.stk image

Mode........................................... TFTP
Set TFTP Server IP............................. 10.10.10.2
TFTP Path...................................... ./
TFTP Filename.................................. PCM6220vA.1.1.9.stk
Data Type...................................... Code
Destination Filename........................... image
Management access will be blocked for the duration of the transfer

Are you sure you want to start? (y/n) y

TFTP code transfer starting

0 bytes transferred...
66048 bytes transferred...
180736 bytes transferred...
...
7504384 bytes transferred...
7619072 bytes transferred...
7681720 bytes transferred

Verifying CRC of file in Flash File System

Unpacking the image file.

TFTP download successful. All units updated code.

File transfer operation completed successfully.

console#show version

Image Descriptions

image1 : default image
image2 :

Images currently available on Flash

--------------------------------------------------------------------
unit      image1      image2     current-active        next-active
--------------------------------------------------------------------
1    1.1.0.10     A.1.1.9             image1             image1

console#boot system image2

Activating image image2 ..

console#reload

Are you sure you want to reload the stack? (y/n) y

Reloading all switches.BCM56314 DEV REV ID = 0001b314

CPU Card ID:   0x10508541
Mounting TFFS System ...
Device details...

/DskVol//  - disk check in progress ...

/DskVol//files
/DskVol//files/vpd.bin
/DskVol//files/log2.bin
/DskVol//files/slog2.txt
/DskVol//files/olog2.txt
/DskVol//files/slog1.txt
/DskVol//files/olog1.txt
/DskVol//files/boot.dim
/DskVol//files/slog0.txt
/DskVol//files/olog0.txt
/DskVol//files/hpc_broad.cfg
/DskVol//files/crashdump.ctl
/DskVol//files/image1
/DskVol//files/sslt.rnd
/DskVol//files/dh512.pem
/DskVol//files/dh1024.pem
/DskVol//files/image2
/DskVol//files/asf.cfg
/DskVol//files/logNvmSave.bin
/DskVol//files/crashdump.0
/DskVol//files/boot.cfg
/DskVol//files/crashdump.1
/DskVol//files/crashdump.2
/DskVol//files/crashdump.3
/DskVol//files/startup-config
/DskVol//files/ssh_host_dsa_key
/DskVol//files/ssh_host_key
/DskVol//files/ssh_host_rsa_key
/DskVol//files/iomLog.txt
/DskVol//mrt.log

/DskVol//  - Volume is OK

total # of clusters:15,312
# of free clusters:6,446
# of bad clusters:0
total free space:12,892 Kb
max contiguous free space:  10,872,832 bytes
# of files:29
# of folders:1
total bytes in files:17,694 Kb
# of lost chains:0
total bytes in lost chains:  0

volume descriptor ptr (pVolDesc):0xffefee0
cache block I/O descriptor ptr (cbio):0xffeffc0
auto disk check on mount:DOS_CHK_REPAIR | DOS_CHK_VERB_2
max # of simultaneously open files:22
file descriptors in use:0
# of different files in use:0
# of descriptors for deleted files:0
# of  obsolete descriptors:0

current volume configuration:
- volume label:NO LABEL ; (in boot sector:           )
- volume Id:0x167
- total number of sectors:61,376
- bytes per sector:512
- # of sectors per cluster:4
- # of reserved sectors:1
- FAT entry size:FAT16
- # of sectors per FAT copy:60
- # of FAT table copies:2
- # of hidden sectors:4
- first cluster is in sector #136
- Update last access date for open-read-close = FALSE
- directory structure:VFAT
- root dir start sector:121
- # of sectors per root:15
- max # of entries in root:240

FAT handler information:
------------------------
- allocation group size:2 clusters
- free space on volume:13,201,408 bytes

Boot Menu Version: 17 March 2008
Select an option. If no selection in 10 seconds then
operational code will start.

1 - Start operational code.
2 - Start Boot Menu.
Select (1, 2):2

Boot Menu 17 March 2008

Options available
1  - Start operational code
2  - Change baud rate
3  - Retrieve event log using XMODEM
4  - Load new operational code using XMODEM
5  - Display operational code vital product data
6  - Run flash diagnostics
7  - Update boot code
8  - Delete backup image
9  - Reset the system
10 - Restore configuration to factory defaults (delete config files)
11 - Activate Backup Image
12 - Password Recovery Procedure
[Boot Menu] 7
Do you wish to update Boot Code and reset the switch? (y/n) y

......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................BCM56314 DEV REV ID = 0001b314

Boot Menu A.1.1.9
CPU Card ID:   0x10508541
CFI Probe: Found x16 device in x16 mode
/DskVol/: file system is marked clean, skipping check

volume descriptor ptr (pVolDesc):    0x8110770
XBD device block I/O handle: 0x10001
auto disk check on mount:      DOS_CHK_REPAIR |DOS_CHK_VERB_2
volume write mode:         copyback (DOS_WRITE)
volume options:
max # of simultaneously open files:    52
file descriptors in use:       0
# of different files in use:       0
# of descriptors for deleted files:    0
# of  obsolete descriptors:        0

current volume configuration:
- volume label:    NO LABEL ; (in boot sector:              )
- volume Id:       0x167
- total number of sectors:   61,376
- bytes per sector:     512
- # of sectors per cluster: 4
- # of reserved sectors:    1
- FAT entry size:      FAT16
- # of sectors per FAT copy:    60
- # of FAT table copies:   2
- # of hidden sectors:      4
- first cluster is in sector #  136
- Update last access date for open-read-close = FALSE

Boot Menu A.1.1.9
Select an option. If no selection in 10 seconds then
operational code will start.

1 - Start operational code.
2 - Start Boot Menu.
Select (1, 2):1

Operational Code Date: Wed Oct 12 17:10:13 2011

Uncompressing.....

Adding 0 symbols for standalone.
CFI Probe: Found x16 device in x16 mode

/DskVol//  - disk check in progress ...

/DskVol//files
/DskVol//files/vpd.bin
/DskVol//files/log2.bin
/DskVol//files/slog2.txt
/DskVol//files/olog2.txt
/DskVol//files/slog1.txt
/DskVol//files/olog1.txt
/DskVol//files/boot.dim
/DskVol//files/slog0.txt
/DskVol//files/olog0.txt
/DskVol//files/hpc_broad.cfg
/DskVol//files/crashdump.ctl
/DskVol//files/image1
/DskVol//files/sslt.rnd
/DskVol//files/dh512.pem
/DskVol//files/dh1024.pem
/DskVol//files/image2
/DskVol//files/asf.cfg
/DskVol//files/logNvmSave.bin
/DskVol//files/crashdump.0
/DskVol//files/boot.cfg
/DskVol//files/crashdump.1
/DskVol//files/crashdump.2
/DskVol//files/crashdump.3
/DskVol//files/startup-config
/DskVol//files/ssh_host_dsa_key
/DskVol//files/ssh_host_key
/DskVol//files/ssh_host_rsa_key
/DskVol//files/iomLog.txt
/DskVol//files/bootcode.bin
/DskVol//mrt.log

dosChkLib : CLOCK_REALTIME is being reset to FRI APR 22 08:04:08 2005
Value obtained from file system volume descriptor pointer: 0x28b14f0
The old setting was THU JAN 01 00:00:03 1970
Accepted system dates are greater than THU DEC 27 00:00:00 1990

/DskVol//  - Volume is OK

volume descriptor ptr (pVolDesc):    0x28b14f0
XBD device block I/O handle: 0x10001
auto disk check on mount:      DOS_CHK_REPAIR |DOS_CHK_VERB_2
volume write mode:         copyback (DOS_WRITE)
volume options:
max # of simultaneously open files:    52
file descriptors in use:       0
# of different files in use:       0
# of descriptors for deleted files:    0
# of  obsolete descriptors:        0

current volume configuration:
- volume label:    NO LABEL ; (in boot sector:              )
- volume Id:       0x167
- total number of sectors:   61,376
- bytes per sector:     512
- # of sectors per cluster: 4
- # of reserved sectors:    1
- FAT entry size:      FAT16
- # of sectors per FAT copy:    60
- # of FAT table copies:   2
- # of hidden sectors:      4
- first cluster is in sector #  136
- Update last access date for open-read-close = FALSE

Timebase: 66.666666 MHz, MEM: 266.666664 MHz, PCI: 66.666666 MHz, CPU: 533.333328 MHz
PCI unit 0: Dev 0xb314, Rev 0x01, Chip BCM56314_A0, Driver BCM56314_A0
SOC unit 0 attached to PCI device BCM56314_A0
Adding BCM transport pointers
Configuring CPUTRANS TX
Configuring CPUTRANS RX
File: unitmgr.c, Line: 4161, Error 0 (0x0)
Instantiating /download as rawFs,  device = 0x20001
Formatting /download for DOSFS
Instantiating /download as rawFs, device = 0x20001
Formatting.../download: file system is marked clean, skipping check
OK.

<185> APR 22 08:04:40 0.0.0.0-0 General[268434704]: unitmgr.c(4161) 1 %% Error 0 (0x0)
<186> APR 22 08:04:40 0.0.0.0-1 General[268434704]: bootos.c(220) 2 %% Event(0xaaaaaaaa)
(Unit 1 - Waiting to select management unit)>
Applying Global configuration, please wait ...
Applying Interface configuration, please wait ...

console>en
Password:* ********
console#show version

Image Descriptions
image1 : default image
image2 :

Images currently available on Flash

unit  image1       image2       current-active     next-active
----- ------------ ------------ ----------------- -----------------
1     1.1.0.10     A.1.1.9      image2             image2

console#copy tftp://10.10.10.2/PCM6220v4.2.0.4.stk image

Transfer Mode.................................. TFTP
Server IP Address.............................. 10.10.10.2
Source File Path............................... ./
Source Filename................................ PCM6220v4.2.0.4.stk
Data Type...................................... Code
Destination Filename........................... image

Management access will be blocked for the duration of the transfer

Are you sure you want to start? (y/n) y

TFTP code transfer starting

2655744 bytes transferred...
...
11468732 bytes transferred...
11468732 bytes transferred...

File contents are valid. Copying file to flash...

File transfer operation completed successfully.

console#show version

Image Descriptions

image1 : default image
image2 :

Images currently available on Flash

unit  image1       image2       current-active     next-active
----- ------------ ------------ ----------------- -----------------
1     4.2.0.4      A.1.1.9      image2             image2

console#boot system image1

Activating image image1 ..

console#reload

Are you sure you want to reload the stack? (y/n) y

Reloading all switches.BCM56314 DEV REV ID = 0001b314

Boot Menu A.1.1.9
CPU Card ID:   0x10508541
CFI Probe: Found x16 device in x16 mode

/DskVol//  - disk check in progress ...

/DskVol//files
/DskVol//files/vpd.bin
/DskVol//files/log2.bin
/DskVol//files/olog2.txt
/DskVol//files/slog1.txt
/DskVol//files/olog0.txt
/DskVol//files/image1
/DskVol//files/boot.dim
/DskVol//files/olog1.txt
/DskVol//files/slog0.txt
/DskVol//files/hpc_broad.cfg
/DskVol//files/crashdump.ctl
/DskVol//files/iomLog.txt
/DskVol//files/sslt.rnd
/DskVol//files/dh512.pem
/DskVol//files/dh1024.pem
/DskVol//files/image2
/DskVol//files/asf.cfg
/DskVol//files/logNvmSave.bin
/DskVol//files/crashdump.0
/DskVol//files/boot.cfg
/DskVol//files/crashdump.1
/DskVol//files/crashdump.2
/DskVol//files/crashdump.3
/DskVol//files/startup-config
/DskVol//files/ssh_host_dsa_key
/DskVol//files/ssh_host_key
/DskVol//files/ssh_host_rsa_key
/DskVol//files/slog2.txt
/DskVol//files/bootcode.bin
/DskVol//mrt.log

/DskVol//  - Volume is OK

volume descriptor ptr (pVolDesc):    0x8110770
XBD device block I/O handle: 0x10001
auto disk check on mount:      DOS_CHK_REPAIR |DOS_CHK_VERB_2
volume write mode:         copyback (DOS_WRITE)
volume options:
max # of simultaneously open files:    52
file descriptors in use:       0
# of different files in use:       0
# of descriptors for deleted files:    0
# of  obsolete descriptors:        0

current volume configuration:
- volume label:    NO LABEL ; (in boot sector:              )
- volume Id:       0x167
- total number of sectors:   61,376
- bytes per sector:     512
- # of sectors per cluster: 4
- # of reserved sectors:    1
- FAT entry size:      FAT16
- # of sectors per FAT copy:    60
- # of FAT table copies:   2
- # of hidden sectors:      4
- first cluster is in sector #  136
- Update last access date for open-read-close = FALSE

Boot Menu A.1.1.9
Select an option. If no selection in 10 seconds then
operational code will start.

1 - Start operational code.
2 - Start Boot Menu.
Select (1, 2):2

Boot Menu A.1.1.9

Options available
1  - Start operational code
2  - Change baud rate
3  - Retrieve event log using XMODEM
4  - Load new operational code using XMODEM
5  - Display operational code vital product data
6  - Abort boot code update
7  - Update boot code
8  - Delete backup image
9  - Reset the system
10 - Restore configuration to factory defaults (delete config files)
11 - Activate Backup Image
12 - Password Recovery Procedure
13 - Reformat and restore file system
[Boot Menu] 7
Do you wish to update Boot Code and reset? (y/n) y

Validating image1....OK
Extracting boot code from image...CRC valid
Erasing Boot Flash.....Done.
Wrote 0x10000 bytes.
Wrote 0x20000 bytes.
Wrote 0x30000 bytes.
Wrote 0x40000 bytes.
Wrote 0x50000 bytes.
Wrote 0x60000 bytes.
Wrote 0x70000 bytes.
Wrote 0x80000 bytes.
Wrote 0x90000 bytes.
Wrote 0xa0000 bytes.
Wrote 0xb0000 bytes.
Wrote 0xc0000 bytes.
Wrote 0xd0000 bytes.
Wrote 0xe0000 bytes.
Wrote 0xf0000 bytes.
Wrote 0x100000 bytes.
Validating Flash.....Passed
Flash update completed.
Rebooting...
BCM56314 DEV REV ID = 0001b314

Boot Menu 4.2.0.4
CPU Card ID:   0x10508541
CFI Probe: Found x16 device in x16 mode

/DskVol//  - disk check in progress ...

/DskVol//files
/DskVol//files/vpd.bin
/DskVol//files/log2.bin
/DskVol//files/olog2.txt
/DskVol//files/slog1.txt
/DskVol//files/olog0.txt
/DskVol//files/image1
/DskVol//files/boot.dim
/DskVol//files/olog1.txt
/DskVol//files/slog0.txt
/DskVol//files/hpc_broad.cfg
/DskVol//files/crashdump.ctl
/DskVol//files/iomLog.txt
/DskVol//files/sslt.rnd
/DskVol//files/dh512.pem
/DskVol//files/dh1024.pem
/DskVol//files/image2
/DskVol//files/asf.cfg
/DskVol//files/logNvmSave.bin
/DskVol//files/crashdump.0
/DskVol//files/boot.cfg
/DskVol//files/crashdump.1
/DskVol//files/crashdump.2
/DskVol//files/crashdump.3
/DskVol//files/startup-config
/DskVol//files/ssh_host_dsa_key
/DskVol//files/ssh_host_key
/DskVol//files/ssh_host_rsa_key
/DskVol//files/slog2.txt
/DskVol//files/bootcode.bin
/DskVol//mrt.log

/DskVol//  - Volume is OK

volume descriptor ptr (pVolDesc):    0x8122e30
XBD device block I/O handle: 0x10001
auto disk check on mount:      DOS_CHK_REPAIR |DOS_CHK_VERB_2
volume write mode:         copyback (DOS_WRITE)
volume options:
max # of simultaneously open files:    52
file descriptors in use:       0
# of different files in use:       0
# of descriptors for deleted files:    0
# of  obsolete descriptors:        0

current volume configuration:
- volume label:    NO LABEL ; (in boot sector:              )
- volume Id:       0x167
- total number of sectors:   61,376
- bytes per sector:     512
- # of sectors per cluster: 4
- # of reserved sectors:    1
- FAT entry size:      FAT16
- # of sectors per FAT copy:    60
- # of FAT table copies:   2
- # of hidden sectors:      4
- first cluster is in sector #  136
- Update last access date for open-read-close = FALSE

Boot Menu 4.2.0.4
Select an option. If no selection in 10 seconds then
operational code will start.

1 - Start operational code.
2 - Start Boot Menu.
Select (1, 2):

Operational Code Date: Sun Nov 20 01:07:05 2011

Uncompressing.....

Adding 0 symbols for standalone.
CFI Probe: Found x16 device in x16 mode

/DskVol//  - disk check in progress ...

/DskVol//files
/DskVol//files/vpd.bin
/DskVol//files/log2.bin
/DskVol//files/olog2.txt
/DskVol//files/slog1.txt
/DskVol//files/olog0.txt
/DskVol//files/image1
/DskVol//files/boot.dim
/DskVol//files/olog1.txt
/DskVol//files/slog0.txt
/DskVol//files/hpc_broad.cfg
/DskVol//files/crashdump.ctl
/DskVol//files/iomLog.txt
/DskVol//files/sslt.rnd
/DskVol//files/dh512.pem
/DskVol//files/dh1024.pem
/DskVol//files/image2
/DskVol//files/asf.cfg
/DskVol//files/logNvmSave.bin
/DskVol//files/crashdump.0
/DskVol//files/boot.cfg
/DskVol//files/crashdump.1
/DskVol//files/crashdump.2
/DskVol//files/crashdump.3
/DskVol//files/startup-config
/DskVol//files/ssh_host_dsa_key
/DskVol//files/ssh_host_key
/DskVol//files/ssh_host_rsa_key
/DskVol//files/slog2.txt
/DskVol//files/bootcode.bin
/DskVol//mrt.log

dosChkLib : CLOCK_REALTIME is being reset to FRI APR 22 08:13:28 2005
Value obtained from file system volume descriptor pointer: 0x3fff250
The old setting was THU JAN 01 00:00:03 1970
Accepted system dates are greater than THU DEC 27 00:00:00 1990

/DskVol//  - Volume is OK

volume descriptor ptr (pVolDesc):    0x3fff250
XBD device block I/O handle: 0x10001
auto disk check on mount:      DOS_CHK_REPAIR |DOS_CHK_VERB_2
volume write mode:         copyback (DOS_WRITE)
volume options:
max # of simultaneously open files:    52
file descriptors in use:       0
# of different files in use:       0
# of descriptors for deleted files:    0
# of  obsolete descriptors:        0

current volume configuration:
- volume label:    NO LABEL ; (in boot sector:              )
- volume Id:       0x167
- total number of sectors:   61,376
- bytes per sector:     512
- # of sectors per cluster: 4
- # of reserved sectors:    1
- FAT entry size:      FAT16
- # of sectors per FAT copy:    60
- # of FAT table copies:   2
- # of hidden sectors:      4
- first cluster is in sector #  136
- Update last access date for open-read-close = FALSE

Timebase: 66.666666 MHz, MEM: 266.666664 MHz, PCI: 66.666666 MHz, CPU: 533.333328 MHz
PCI unit 0: Dev 0xb314, Rev 0x01, Chip BCM56314_A0, Driver BCM56314_A0
SOC unit 0 attached to PCI device BCM56314_A0
Adding BCM transport pointers
Configuring CPUTRANS TX
Configuring CPUTRANS RX
Instantiating /download as rawFs,  device = 0x20001
Formatting /download for DOSFS
Instantiating /download as rawFs, device = 0x20001
Formatting.../download: file system is marked clean, skipping check
OK.

<186> APR 22 08:13:59 0.0.0.0-1 General[268434704]: bootos.c(220) 1 %% Event(0xaaaaaaaa)

Instantiating RamCP: as rawFs,  device = 0x30001
Formatting RamCP: for DOSFS
Instantiating RamCP: as rawFs, device = 0x30001
Formatting...
RamCP:/  - disk check in progress ...
RamCP:/  - Volume is OK
OK.

(Unit 1 - Waiting to select management unit)>

Applying Global configuration, please wait ...
Applying Interface configuration, please wait ...

console>show version

Image Descriptions

image1 : default image
image2 :

Images currently available on Flash

unit  image1       image2       current-active     next-active
----- ------------ ------------ ----------------- -----------------
1     4.2.0.4      A.1.1.9      image1             image1

console>

2 Thoughts on Firmware Update on Dell PowerConnect M6220 Switch in M1000e Blade Chassis

Leave a Reply to bilbolodzCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.