Subject: Re: `tlp' driver update
To: Luoqi Chen <luoqi@watermarkgroup.com>
From: Michael G. Schabert <mikeride@prez.org>
List: current-users
Date: 09/29/1999 17:06:28
>Jason, which platform are you developing on? There seems to be an
>endianess problem with data read in from SROM - the ether address
>are byte-swapped on a power mac.
Assuming that your PowerMac is a 7200/7500/8500/9500, then it's not
actually an endian problem...Apple screwed up how they stored the hardware
address on the chip. This is one of the things that System 7.5, update 2.0
fixed...here's an old summary of the problem (LONG):
The issue has several components.
1. Apple ran out of physical Ethernet addresses in the 08 00 07
xx xx xx range. They petitioned the IEEE for a new range. They were granted a
range of 00 a0 40 xx xx xx, and started using these addresses on some products
in the late summer time frame.
2. The physical Ethernet addresses are typically stored in PROM in what is
called "Token Ring" format. This format has each byte stored in bit reversed
order. Here is what that looks like:
Ethernet Format (hex): 00 a0 40
Binary Equivalent: 0000 0000 1010 0000 0100 0000
Token Ring Format (hex): 00 05 02
Binary Equivalent: 0000 0000 0000 1010 0000 0010
Note: The last three bytes of the physical address (unique to each Ethernet
interface) are stored in bit reversed order as well.
The networking software knows that the physical Ethernet address is stored in
Token Ring format and converts the number to Ethernet format and uses that
number as the physical Ethernet address.
3. Here is where the problems start. Apple accidently put the new physical
Ethernet addresses in the PROMs in Ethernet format rather than putting
them in the PROMs in Token Ring format. The products affected include Power
Macintosh 7200/7500/8500/9500 systems and NuBus Ethernet cards, though
others may be affected as well.
Interestingly enough, there is a bug in the Open Firmware code present in the
Power Macintosh 7200/7500/8500/9500 system software that caused the systems to
not convert the address stored in the EPROM. The end result of this is that
the correct physical Ethernet address was being used by these systems. The
problem is that utilities, like the Apple LAN Utility 1.0b3, that look at the
EPROM address know they have to convert the address and do so. That is why the
Apple LAN Utility 1.0b3 says the physical Ethernet address is 00 05 02 xx xx
xx when traces show the physical Ethernet address to be 00 a0 40 xx xx xx.
Note: This bug does not show up on Power Macintosh 7200/7500/8500/9500 systems
with physical Ethernet addresses in the 08 00 07 xx xx xx range.
However, Ethernet cards that have the new physical Ethernet addresses in the
PROMs in Ethernet format show up on the network with a physical Ethernet
address of 00 05 02 xx xx xx. Fortunately, the IEEE had not assigned the 00 05
02 xx xx xx range to anyone.
4. So, what did Apple do about it? They asked for and were granted Ethernet
addresses in the 00 05 02 xx xx xx range by the IEEE.
5. So what happens now? In effect, all of the systems and cards with the new
addresses have the 00 05 02 xx xx xx address stored in Token Ring format. The
current plan is to use the 00 05 02 xx xx xx address range and fix the bug in
the Open Firmware code. This would reserve the 00 a0 40 xx xx xx range until
Apple ran out of the current addresses. This fix will be available in a system
update due sometime early next year.
The problem here is that anyone with a Power Macintosh 7200/7500/8500/9500
system with a physical Ethernet address in the 00 a0 40 xx xx xx range will,
once they install the new system update, have a new physical Ethernet address
in the 00 05 02 xx xx xx range. This will affect customers that use BootP,
RARP, and DHCP as methods to assign systems IP addresses.
Apple has a new version of the Apple LAN Utility, version 1.0b4, that will
report back the correct physical Ethernet address. Also, Open Transport 1.1,
when it becomes available, will show the physical Ethernet address in the
"AppleTalk" and TCP/IP" Control Panel "Get Info" dialogs.
Bikers don't *DO* taglines.