This comment inspired me to do some more hacking.
The 3com 4500 50-port (3CR17562-91) is a BCM5655 switch fabric with a BCM4704 MIPS cpu.
The bootloader (BOOTROM) has some functions hidden behind CTRL-COMMAND + enter.
It’s more likely than you think! Read the rest of this entry »
In the last post I learned that the ‘board/bmw’ port was actually created a long time ago, and does not benefit from more recent advances in minimizing the board-specific code. Read the rest of this entry »
CFE is a nice bootloader, but it’s only focussed on booting VxWorks images.
The current preferred opensource embedded bootloader appears to be Das U-Boot. And U-Boot conveniently supports the ‘BMW’ platform.
So I grab the latest U-Boot (u-boot-2010.03.tar.bz2) and using the same ELDK toolchain as earlier I do:
Currently most, if not all switch designs are proprietary and protected under strict licenses and NDAs. There is currently no known homebrew community, so end-users are at the whims of the vendors for updates for their products. Especially with the cheaper product lines, vendors may be very quick with ceasing support for legacy platforms, sometimes as fast as the announcement of the new product line.
Well, that was easy.
I remember that Broadcom publically offered their bootloader source online for download. I downloaded version 1.4.2 and extracted this. Broadcom offers a bunch of crosscompiler toolchains for download, but only for the sb1, mips and mips64 architectures. Not for the PowerPC architecture that the MPC8245 is using.
For the next article I’ll have to provide some extra background.
Large vendors like Cisco, Juniper, Foundry and Force10 create most of their hardware and software (sometimes even chip!) designs by themselves and usually don’t share any information about these designs with the outside world (and if so – only on a “need to know” basis).
On the other hand there’s a whole ecosystem around independent companies focusing on isolated tasks of the design and production process. These are usually divided into four major groups:
A network switch is a device with multiple physical ethernet ports between which frames are forwarded according to the specific rules the switch has been configured with.
The most basic scenario would be an unmanaged switch with a single broadcast domain – in such a setup the switch would learn which MAC addresses can be found behind which ports and when it receives a frame for a given MAC address, it forwards the frame to the given port.
The .BIX runtime format contains two checksums. A checksum over the runtime image and a checksum over the header. The bootloader does not verify these checksums when you’re uploading a file, but it does so when you’re trying to boot the files. If they’re wrong it will cause the following error: