Archive for November, 2006

Hardware hacks – DEGXA cards for OpenVMS

As part of my project to upgrade my network to Gigabit Ethernet capability, I purchased a 3X-DEGXA-TA card for $469 from a vendor that shall remain nameless. Upon installing it in my DS10 system and booting, the system locked up after 10 minutes or so. Upon each reboot, the uptime was shorter and shorter, until finally the system wouldn’t boot at all.

When I contacted the vendor, their response was “well, it worked when you got it – call your service people”. As this is a hobby system, I am my service people.

I removed the card and studied it in detail, and as far as I could tell it was a generic BCM5703 card with a DEGXA bumper sticker on it. With the help of some resources on the net:

http://moon.hanya-n.org/comp/alpha/hct/GbE.html

http://www.techiegroups.com/archive/index.php/t-56718.html

I determined that it was likely that the only difference between a card that would work and one that wouldn’t was the PCI subvendor / subdevice data. While it was possible to have VMS recognize the card by editing a VMS configuration file (as shown in the second post above), that meant that the system couldn’t netboot from the card. It also struck me as a bit of a hack.

I thought about obtaining a new NC7771 card and unsoldering the SEEPROM from the dead DEGXA-TA and moving it to the new card, but that was a bit of a kludge and might not work, since the NC7771’s available these days are rev B0 cards, corresponding to the DEGXA-TB. Also, the burned-in MAC address wouldn’t match the sticker on the card, a minor annoyance.

Broadcom does a pretty good job of locking down the SEEPROM, but I felt that there must be a way to accomplish this with the tools available on the net. I searched for various items related to the BCM5703, such as utilities to change the MAC address. Finally, I had enough information to begin experimenting. After a day or so of fiddling around, I came up with a system that works.

IMPORTANT: Use the following information at your own risk. If you break your network card or computer(s), don’t blame me. I have tested the procedure here on multiple cards and they all work, but variations in cards may mean that this procedure won’t work for you.

First, you’ll need to download the latest HP Broadcom firmware update utility from: http://h18023.www1.hp.com/support/files/networking/us/download/24056.html

Next, you’ll need a copy of the OEM version of the Broadcom diagnostic utility from: http://portal.atcelestica.com/public/global/suppchman/alpha/alphadw.nsf/downloads/000031/$file/B57DIAG.EXE

You will also need a utility to modify binary files. This could be as simple as the MS-DOS “debug” utility – it really doesn’t matter. You’ll also need a bootable DOS floppy, and an Intel-architecture machine to install the network card into to perform the upgrade.

Unpack the SP31728.exe file somewhere on your hard disk and copy the file 7771v235.bin to degxa.bin. Copy 7782327B.BIN to degx2.bin.

Using a binary editor, edit the file degxa.bin and change the bytes starting at 0xA4 to the new subvendor and subdevice by replacing bytes 00 CA 0E 11 with 60 1B 0E 11.

Using a binary editor, edit the file degx2.bin and change the bytes starting at 0xA4 to the new subvendor and subdevice by replacing bytes 00 D0 0E 11 with 00 C9 0E 11.

Copy all of the files from your work directory to the bootable DOS floppy.

For a BCM5703-based card like the NC7771, boot the DOS floppy on a machine with the Broadcom card installed, and give the following command:
     b57diag -e b57kia -c 0 -t a35b35cd -f degxa.bin

For a BCM5704-based card like the IBM 31P6401,  boot the DOS floppy on a machine with the Broadcom card installed, and give the following command:
     b57diag -e b57kia -c 0 -t a35b35cd -f degx2.bin

Note: these commands assume that this is the only 5703 card in this system. If there are other cards, you may need to change the value of -c (“card”).

Stan Rubinstein Assoc. / http://www.sra-solder.com

This vendor is fantastic – I needed some surface-mount rework equipment in a hurry, and I found these guys via a web search. I placed an order via their web site after 10 PM and inquired if they carried an item I couldn’t find on their web site. Within minutes, I had an emailed reply saying they’d pull the item out of another kit and include it in my shipment. They shipped the next morning and I received it the next day.

If you need any tools or supplies related to soldering or brazing, these are the folks you should talk to.

Hardware hacks – Dell PowerEdge 750 / PowerVault 745N

I picked up a board labeled “PowerEdge 750” for 99 cents because the seller “couldn’t get it to recognize any peripherals”. It turns out that it was the motherboard from a PowerVault 745N, which uses the same hardware, but a different BIOS that disables the floppy, CD-ROM, and onboard SATA ports.

I poked around in the BIOS flash utility and discovered it has a large number of undocumented command-line switches, one of which is /BRANDNAME, which brings up a menu where you can select whether the motherboard is for a PE750 or a PV745N.

After that, it was just a matter of finding a way to get the flash utility to run on that motherboard, which is difficult when none of the peripherals are enabled. I wound up installing an Adaptec 39160 SCSI card with an old 2GB drive on it, and copying the flash utility to that drive. The board is happy in its new life as a PE750.

Also, Dell’s “asset.com” utility has a number of additional functions which are not described in the online help. Here’s the complete list of what’s available:

ASSET — Version 2.09 (C) Copyright 1993-2004 Dell Inc.
Usage:
  ASSET new_asset_tag        Specify new asset tag
  ASSET /d                   Delete asset tag
  ASSET /o new_owner_tag     Specify new owner tag (if applicable)
  ASSET /o /d                Delete owner tag (if applicable)
  ASSET /?                   This help screen
  ASSET /s new_service_tag   Specify new service tag
  ASSET /s /d                Delete service tag
  ASSET /b                   Specify new system board tag
      system board tag must be “ssssssssssssssssssss-vvv-“, where
      s..s is the 20 digit system board Part number string,
      vvv is the 3 digit system board rev,
      – is a don’t care character, but must be present
  ASSET /b /d                Delete system board tag
  ASSET /k                   Fix 2000:0000 memory issue
  ASSET /f [other_options]   Force Affirmative response
  ASSET /x [other options]   eXtended display – displays all tags

Everything past the “This help screen” is undocumented.