NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/36204 (makphy failed to work on Intel S3000AHLX server board)

The following reply was made to PR kern/36204; it has been noted by GNATS.

From: Masanobu SAITOH <>
Subject: Re: kern/36204 (makphy failed to work on Intel S3000AHLX server board)
Date: Wed, 12 Jun 2013 11:45:21 +0900

 >>Number:         36204
 >>Category:       kern
 >>Synopsis:       makphy failed to work on Intel S3000AHLX server board
 >>Confidential:   no
 >>Severity:       serious
 >>Priority:       medium
 >>Responsible:    msaitoh
 >>State:          open
 >>Class:          sw-bug
 >>Submitter-Id:   net
 >>Arrival-Date:   Tue Apr 24 10:50:00 +0000 2007
 >>Last-Modified:  Wed Jun 12 02:39:32 +0000 2013
 >>Originator:     Wolfgang Stukenbrock
 >>Release:        NetBSD current
 > Dr. Nagler & Company GmbH
 > System: NetBSD test-s0 3.1 NetBSD 3.1 (test-s0) #0: Tue Apr 3 11:33:43 CEST 
 > 2007 root@test-s0:/usr/src/sys/arch/i386/compile/test-s0 i386
 > Architecture: i386 / amd64
 > Machine: i386 / amd64
 >      There are two onbaord Gbit-Interfaces on this server board:
 >      wm0 at pci4 dev 0 function 0: Intel i82573E  IAMT, rev. 3
 >      wm1 at pci5 dev 5 function 0: Intel i82541GI 1000BASE-T Ethernet, rev. 5
 >      The i82541GI has an igphy and works fine.
 >      The i82573E has a makphy and fails to establisch connections to the 
 > network.
 >      I've added some debug output to see what is gooing on, and here is a 
 > short
 >      discription of what I've seen:
 >      After the system ahs booted the iterface will be reset (reset command 
 > in BMCR).
 >      Before reset it has the value 0x1140 and will be set to 0x0 after reset.
 >      Then the startup will setup auto-negotiation and will end up in the 
 > following
 >      setting of the control-registers.
 >      pscr 0xb60 - pssr 0x6d0c - bmcr 0x1000 epsc 0xd60 anar 0xde1 anap 0x45e1
 >      Interpretion:
 >      pscr - the PSCR_MDI_XOVER_MODE is to 0x3 ?? - not reflected int the 
 > headerfile.
 >             I've also tried 0x2 - documented for AUTO without success
 >             The PSCR_MBO is 0 - coment "must be one" ???
 >             PSCR_CRS_ON_TX set - as done in the reset code (change from 3.1 
 > to current)
 >             The bits 8 and 9 are both set - not ducumented in headerfile are 
 > set. This
 >             are energie mode bits in the FreeeBSD implementation ...
 >      pssr - The PHY report sucessfull link up with MDI 100TX fdx
 >             speed and duplex are indicated as resolved.
 >             cable length is 0x2 - whatever this means ...
 >             some other (unknown to the headerfile) bits are set.
 >      bmcr - set to BMCR_AUTOEN
 >      anar - looks good
 >      anap - some information about the partner is retrieve - looks good
 >      epsc - ??? EPSC_TX_CLK = 0xd6 if it has so much bits ...
 >      The link LED in the switch is on and if packets are send to the network
 >      the activity LED indicates some data, but noone seems to get this data.
 >      I've also dump the mii_anegticks and mii_ticks and found a strange 
 > behavior,
 >      but I think this is another bug or feature of makphy.c.
 >      mii_anegticks is set to 10 (because the interface can do 1000).
 >      I've places a kernel-printf in the status routine and mii_ticks starts 
 > 0 on boot,
 >      will reach 3 after auto-neg.
 >      If I do a "ifconfig wm0 media auto" mii_ticks gets incremented by 2 or 
 > 3 each time
 >      the comand is issued. A reset of the interface is done after it has 
 > reached 10.
 >      I think there is a reset of mii_ticks ticks missing when starting 
 > auto-neg.
 >      I've replaced the switch with a 10MBit hub, and the interface does 
 > auto-neg
 >      to 10MBit, hdx and works fine. Packets are send and recieved as 
 > expected.
 >      The same will happen if I connect the 100MBit switch again and use
 >      "ifconfig wm0 media utp", "ifconfig wm0 media utp mediaopt fdx" or
 >      "ifconfig wm0 media utp mediaopt fdx,flow". The interface works.
 >      Here the setting of the registers of theese three settings in that 
 > order:
 >      pscr 0xb60 - pssr 0xd00 - bmcr 0x0 epsc 0xd60 anar 0x21 anap 0x0
 >      pscr 0xb60 - pssr 0x2d00 - bmcr 0x100 epsc 0xd60 anar 0x41 anap 0x0
 >      pscr 0xb60 - pssr 0x2d00 - bmcr 0x100 epsc 0xd60 anar 0xc41 anap 0x0
 >      The speed and mediaopt settings are reflectd in anar but no information
 >      is recieved from the peer! is this OK ???????
 >      No communication will be established useing 100tx instead of utp.
 >      Here is the debug output again for that:
 >      pscr 0xb60 - pssr 0x4d00 - bmcr 0x2000 epcr 0xd60 anar 0x81 anap 0x0
 >      pscr 0xb60 - pssr 0x6d00 - bmcr 0x2100 epcr 0xd60 anar 0x101 anap 0x0
 >      pscr 0xb60 - pssr 0x6d40 - bmcr 0x2100 epcr 0xd60 anar 0xd01 anap 0x0
 >      Again no anap information is retrieved - bmcr, anar looks good to me.
 >      pssr: "link up" is reported, but no communication can be done ...
 >            speed and duplex mode look good
 >      I've tried the following version of makphy.c:
 >      $NetBSD: makphy.c,v 1.23 2007/02/23 03:03:10 msaitoh Exp $
 >      I need to get it up and are willing to spend additional time in 
 > debugging,
 >      but I've no datasheets etc..
 >      I've alreay looked into the FreeBSD implementation and tried some 
 > varaints
 >      from there without success. (e.g. other clock-bit setting)
 >      Try to run the wm0 on S3000AHLX server board ...
 >      Not known to me up to now.
 >      If some have a datasheet for this PHY, I will help to locate
 >      the problem.
  Do you still have the box? I suspect this problem was fixed.
                 SAITOH Masanobu (

Home | Main Index | Thread Index | Old Index