免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8843 | 回复: 8
打印 上一主题 下一主题

[驱动] 开发板dm9000网卡驱动,mii_link_ok函数的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-28 08:57 |只看该作者 |倒序浏览
int mii_link_ok (struct mii_if_info *mii)
{
        /* first, a dummy read, needed to latch some MII phys */
        mii->mdio_read(mii->dev, mii->phy_id, MII_BMSR);
        if (mii->mdio_read(mii->dev, mii->phy_id, MII_BMSR) & BMSR_LSTATUS)
        {
                return 1;
                pr_info("AAAAAA"); //自己添加的输出信息,为了检验程序是否运行到这里

         }
        return 0;
}

用ifconfig eth0 up命令时,并没有打印AAAAA的信息,所以mii_link_ok函数返回值为0,从而导致:

new_carrier = (unsigned int) mii_link_ok(mii);

/* no carrier, nothing much to do */
        if (!new_carrier) {
                netif_carrier_off(mii->dev);
                if (ok_to_print)
                        printk(KERN_INFO "%s: link down\n", mii->dev->name);
                return 0; /* duplex did not change */
        }
打印信息:link down
开发板ping自己不通,ping主机也不通。
各路大侠,帮帮忙。

论坛徽章:
0
2 [报告]
发表于 2011-04-29 09:01 |只看该作者
没人知道mii_link_ok这函数的作用吗?

论坛徽章:
0
3 [报告]
发表于 2011-06-27 22:42 |只看该作者
int mii_link_ok (struct mii_if_info *mii)
{
        /* first, a dummy read, needed to latch some MII phys */
        mii->mdio_read(mii->dev, mii->phy_id, MII_BMSR);
        if (mii->mdio_read(mii->dev, mii->phy_id, MII_BMSR) & BMSR_LSTATUS)
        {
                return 1;
                pr_info("AAAAAA"); //自己添加的输出信息,为了检验程序是否运行到这里

         }
        return 0;
}
这就是读取phy的link状态信息
这里使用了mii->mdio_read函数,该函数在dm9000_probe中定义:
        db->mii.mdio_read    = dm9000_phy_read;
        db->mii.mdio_write   = dm9000_phy_write;
dm9000_phy_read在dm9000.c中就有定义了
由于dm9000没有区分普通寄存器和phy寄存器,所以,通过控制寄存器触发dm9000读取phy,然后放入一个数据寄存器中,就可以读取phy了,phy是不能直接读取的

最后获取link状态信息。

论坛徽章:
0
4 [报告]
发表于 2011-07-12 20:04 |只看该作者
DM9000AEP DM9000CEP DM9000EP DM9161AEP DM9161EP 可以咨询Q1547311723

论坛徽章:
0
5
发表于 2011-08-30 11:44
您好,我是爱欣文科技的沈鹏。
您提的DM芯片的问题,我可以帮助你解答。
关于DM9000AEP,DM9161AEP,数据手册,驱动,请联系我!
我们是DM芯片大陆的总代理商,有强大的技术支持。
我的联系方式:leo_shen@axwdragon.com   18665815539  QQ:1608310420{:2_170:}

论坛徽章:
0
6 [报告]
发表于 2011-08-30 17:45 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
7 [报告]
发表于 2011-09-01 11:01 |只看该作者
路过,来看看  {:2_176:}

论坛徽章:
0
8 [报告]
发表于 2011-09-04 21:57 |只看该作者
回复 3# yanhc519


    哥们儿,你这个问题解决了吗?我也遇见了同样的问题,请你帮忙!我的QQ:914441036

论坛徽章:
0
9 [报告]
发表于 2011-09-04 21:58 |只看该作者
回复 3# yanhc519


    大哥,他这个问题该怎么解决呢,我也遇见了同样的问题。如果方便的话,请加我的QQ 914441036
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP