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.