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
Where can I obtain PCM6220vA.1.1.9.stk firmware nowadays? On Dell page the oldest firmware I can download is: 4.2.0.4, A28
It (4.1.1.9) can be downloaded here: https://www.dell.com/support/home/en-ca/drivers/driversdetails?driverid=r317518