This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x DP83848I 网口不能正常工作

Other Parts Discussed in Thread: DP83848I

hi~

我们使用的PHY为 DP83848I ,RMII 模式 ,外部 50M 晶振

已根据http://www.deyisupport.com/question_answer/dsp_arm/sitara_arm/f/25/t/45981.aspx 做了相应修改

没有在UBOOT下调,不太清楚在在UBOOT下怎么调,所以只在kernel下做了移植,更改如下:

kenel 下增加了 rmii1 pin mux 、设置了 gmii_sel 寄存器为 0xC5 、修改 phy_id 为 0:01

目前的状况是:

[ 1.153717] davinci_mdio davinci_mdio.0: davinci mdio revision 1.6
[ 1.160186] davinci_mdio davinci_mdio.0: detected phy mask fffffffd
[ 1.167419] davinci_mdio.0: probed
[ 1.170989] davinci_mdio davinci_mdio.0: phy[1]: device 0:01, driver unknown

用ethtool 命令查看eth0

root@am335x-evm:~# ethtool eth0
Settings for eth0:
Supported ports: [ TP AUI BNC MII FIBRE ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 10Mb/s
Duplex: Half
Port: MII
PHYAD: 1
Transceiver: external
Auto-negotiation: on
Current message level: 0x00000000 (0)
Link detected: no

问题如下:

以上信息说明我的DP83848I是还在MII模式而不是我想要的RMII模式?

我测量了DP83848I 的 39脚(RMII_MODE)虽然接了上拉2.2k到3.3V,但39脚进芯片电压还是接近0V,这是正常的吗,是这个原因导致没有配置成RMII模式?



请帮忙看看,谢谢!



  • 补充:
    以上的问题好像并不影响网卡的Link。
    现在的状况是2台电脑,1台根本无link,该电脑win7系统,平时上网正常。
    另1台(winXP)可以link up,但每次都会link up和down几次,最终为10/Full,如下:
    udhcpc (v1.20.2) started
    Sending discover...
    Sending discover...
    [    9.564941] PHY: 0:01 - Link is Up - 100/Full
    [   11.564910] PHY: 0:01 - Link is Down
    Sending discover...
    [   14.564941] PHY: 0:01 - Link is Up - 100/Full
    No lease, failing
    done.
    Tue Jun 25 23:08:00 UTC 2013
    INIT: Entering runlevel: 5
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting syslogd/klogd: done
    Starting thttpd.
    Stopping Bootlog daemon: bootlogd.

     _____                    _____           _         _   
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|  
                  |___|                    |___|            

    Arago Project http://arago-project.org am335x-evm ttyO0

    Arago 2013.05 am335x-evm ttyO0

    am335x-evm login: [   16.565643] PHY: 0:01 - Link is Down
    [   19.565704] PHY: 0:01 - Link is Up - 100/Full
    [   21.565704] PHY: 0:01 - Link is Down
    [   24.565734] PHY: 0:01 - Link is Up - 100/Full
    [   26.565704] PHY: 0:01 - Link is Down
    [   27.565673] PHY: 0:01 - Link is Up - 100/Full
    [   29.565704] PHY: 0:01 - Link is Down
    [   30.565704] PHY: 0:01 - Link is Up - 10/Full


    很奇怪……

  • 这个解决了吗?我做千兆的时候也有这个问题

  • 感觉像是AM335x配置成了RMII模式,但是DP83848配成了MII模式,上拉阻值是正确的么?

  • 我是用的AR8035,焊接了2块板子,一块就是1000M link up ,link down几次之后自适应成100M,可以稳定通信;另外一块板是一一插上网线就自适应成100M,也能通信稳定。另外同样的原理图我做了一块更大的板子,1000M完全OK。这样是不是可以判定是布线问题导致?另外是否是焊接问题导致此类问题?因为我的样板有一半的概率这个芯片焊接不好,需要重焊。主要是中间地焊锡太多导致短路。如果是焊接问题,该如何判断?