Bug 12943

Summary: fxp driver not completely compatible with latest Intel PRO/100+ NICs
Product: Base System Reporter: jooji <jooji>
Component: kernAssignee: dg
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.2-STABLE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
alex.vcf none

Description guseyn 1998-09-24 14:18:27 UTC
Please tell me ...
How can i fix this problem?
Comment 1 jooji 1999-08-03 20:10:00 UTC
The fxp driver in -STABLE incorrectly identifies the MAC address of any
and all new Intel PRO/100+ Management PCI NICs--model 734938-001, and
probably later models, as well--as 00:a4:c0:91:d2:9c. Although the
card still operates with the driver, placing two or more machines using
these NICs on the same Ethernet network results in a conflict. Unlike
older cards, ifconfig reports that the media type for the card is
"manual", with a single supported media type of "manual", and does not
report any "status" information.

Also, the following error is reported on boot:

   fxp2: warning: unsupported PHY, type = 0, addr = 0

Here's the full output of ifconfig for the card:

   fxp2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
           inet 10.2.24.254 netmask 0xffffff00 broadcast 10.2.24.255
           ether 00:a4:c0:91:d2:9c
           media: manual
           supported media: manual

For reference, the actual MAC address of the above card, as reported
by the DOS-based Intel setup utility, is 00:90:27:89:76:81. As an aside,
the command

   ifconfig fxp2 ether 00:90:27:89:76:81

results in a segfault; this happens with the old Intel PRO cards, too.
Comment 2 Dag-Erling Smørgrav freebsd_committer freebsd_triage 1999-08-04 11:44:02 UTC
Responsible Changed
From-To: freebsd-bugs->wpaul

Ethernet drivers belong to Bill. 
Comment 3 dg freebsd_committer freebsd_triage 1999-08-04 14:20:00 UTC
Responsible Changed
From-To: wpaul->dg

I wrote the fxp driver. 
Comment 4 dg freebsd_committer freebsd_triage 1999-08-04 17:38:02 UTC
State Changed
From-To: open->analyzed

It appears that the SEEPROM format has changed with the newest cards. I'm 
awaiting info on the new format from Intel. 

Comment 5 alex 2000-07-25 13:02:34 UTC
Here is some info that may contribute to resolution of this problem.

Intel has indeed changed the layout of the SEEPROM  for the newer
chips (in my case 82559C).

Offset 0x6 is not referenced any more in the 82559 data sheet. What
remains in this case are the MDI-registers 2 and 3, PHY ID High and Low
byte respectively. According to the 82559 data sheet:

Register 2 = 0x02A8
Register 3 = 0x0154

For comparison, a 82555 has:

Register 2 = 0x02A8
Register 3 = 0x0150

While trying to verify this I stumbled on a fundamental problem of not
being able to get anything useful over the MDI. Another go at the 82559
data sheet (section 9.1.7) hinted that one is supposed to reset (=0b)
bit 28 (Ready) of the MDI Control Register when issuing an MDI command.
Doing so did indeed solve the MDI communication problem and enabled
succesful readback of the differentiating MDI Register 3.
Even though I haven't found any explicit reference to it, it seems
entirely adequate to handle the 82559 as comprising a 82555 PHY.

After applying these mods, my Compaq Armada M300 with Mini-PCI NIC/Modem
combo produces the following response to ifconfig fxp0:

fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::2b4:c0ff:fe91:a6%fxp0 prefixlen 64 scopeid 0x1
        inet 10.2.0.12 netmask 0xffffff00 broadcast 10.2.0.255
        ether 00:b4:c0:91:00:a6
        media: autoselect (100baseTX) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX
10baseT/UTP <full-duplex>
        10baseT/UTP

Hope this helps.

Alex



Comment 6 dg freebsd_committer freebsd_triage 2000-10-16 20:05:19 UTC
State Changed
From-To: analyzed->closed

Fixed in later revs of the fxp driver. The bug was caused by a change 
in the size of the SEEPROM.