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)



>>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
>>Organization:
> Dr. Nagler & Company GmbH
> 
>       
>>Environment:
> 
>       
> 
>       
> 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
>>Description:
>       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)
>>How-To-Repeat:
>       Try to run the wm0 on S3000AHLX server board ...
>>Fix:
>       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 (msaitoh%execsw.org@localhost
                                 msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index