1. /********************************************************************
  2. * I.MX6 网卡能收不能发
  3. * 说明:
  4. * MAC控制器到PHY之间的阻抗差异。
  5. *
  6. * 2017-4-28 深圳 龙华樟坑村 曾剑锋
  7. *******************************************************************/
  8.  
  9. 一、参考文档:
  10. . Understanding MII Transceiver Status Info
  11. ftp://ftp.psu.ac.th/pub/scyld/mii-status.html
  12. . 关于以太网PAUSE的一点研究
  13. http://www.latelee.org/programming-under-linux/ethernet-pause-frame-study.html
  14.  
  15. 二、U-Boot设定:
  16. setenv bootargs console=ttymxc0, init=/init video=mxcfb0:dev=ldb,bpp= video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank= androidboot.hardware=freescale cma=384M androidboot.selinux=disabled; saveenv; reset;
  17.  
  18. 三、网络设定:
  19. . 设定ip
  20. ifconfig eth0 10.10.10.10 netmask 255.255.255.0
  21. . 主板抓包工具:
  22. tcpdump -i eth0 host 10.10.10.10 &
  23. tcpdump -vv -i eth0 host 10.10.10.10 &
  24.  
  25. 四、ethtool工具:
  26. . Android 5.1
  27. root@sabresd_6dq:/ # ethtool eth0
  28. Settings for eth0:
  29. Supported ports: [ TP MII ]
  30. Supported link modes: 10baseT/Half 10baseT/Full
  31. 100baseT/Half 100baseT/Full
  32. 1000baseT/Full
  33. Supported pause frame use: Symmetric
  34. Supports auto-negotiation: Yes
  35. Advertised link modes: 10baseT/Half 10baseT/Full
  36. 100baseT/Half 100baseT/Full
  37. 1000baseT/Full
  38. Advertised pause frame use: Symmetric
  39. Advertised auto-negotiation: Yes
  40. Link partner advertised link modes: 100baseT/Half
  41. Link partner advertised pause frame use: No
  42. Link partner advertised auto-negotiation: No
  43. Speed: 100Mb/s
  44. Duplex: Half
  45. Port: MII
  46. PHYAD:
  47. Transceiver: external
  48. Auto-negotiation: on
  49. Supports Wake-on: g
  50. Wake-on: d
  51. Link detected: yes
  52. root@sabresd_6dq:/ # mtp_open
  53. libphy: .ethernet: - Link is Down
  54. libphy: .ethernet: - Link is Up - /Full
  55. root@sabresd_6dq:/ # ethtool eth0
  56. Settings for eth0:
  57. Supported ports: [ TP MII ]
  58. Supported link modes: 10baseT/Half 10baseT/Full
  59. 100baseT/Half 100baseT/Full
  60. 1000baseT/Full
  61. Supported pause frame use: Symmetric
  62. Supports auto-negotiation: Yes
  63. Advertised link modes: 10baseT/Half 10baseT/Full
  64. 100baseT/Half 100baseT/Full
  65. 1000baseT/Full
  66. Advertised pause frame use: Symmetric
  67. Advertised auto-negotiation: Yes
  68. Link partner advertised link modes: 10baseT/Half 10baseT/Full
  69. 100baseT/Half 100baseT/Full
  70. 1000baseT/Full
  71. Link partner advertised pause frame use: Symmetric Receive-only
  72. Link partner advertised auto-negotiation: Yes
  73. Speed: 1000Mb/s
  74. Duplex: Full
  75. Port: MII
  76. PHYAD:
  77. Transceiver: external
  78. Auto-negotiation: on
  79. Supports Wake-on: g
  80. Wake-on: d
  81. Link detected: yes
  82. root@sabresd_6dq:/ #
  83.  
  84. . Android 4.2
  85. root@android:/data # ./ethtool eth0
  86. Settings for eth0:
  87. Supported ports: [ TP MII ]
  88. Supported link modes: 10baseT/Half 10baseT/Full
  89. 100baseT/Half 100baseT/Full
  90. 1000baseT/Full
  91. Supported pause frame use: Symmetric
  92. Supports auto-negotiation: Yes
  93. Advertised link modes: 10baseT/Half 10baseT/Full
  94. 100baseT/Half 100baseT/Full
  95. 1000baseT/Full
  96. Advertised pause frame use: Symmetric
  97. Advertised auto-negotiation: Yes
  98. Speed: 1000Mb/s
  99. Duplex: Full
  100. Port: MII
  101. PHYAD:
  102. Transceiver: external
  103. Auto-negotiation: on
  104. Link detected: yes
  105. root@android:/data # PHY: : - Link is Down
  106. PHY: : - Link is Up - /Half
  107.  
  108. root@android:/data # ./ethtool eth0
  109. Settings for eth0:
  110. Supported ports: [ TP MII ]
  111. Supported link modes: 10baseT/Half 10baseT/Full
  112. 100baseT/Half 100baseT/Full
  113. 1000baseT/Full
  114. Supported pause frame use: Symmetric
  115. Supports auto-negotiation: Yes
  116. Advertised link modes: 10baseT/Half 10baseT/Full
  117. 100baseT/Half 100baseT/Full
  118. 1000baseT/Full
  119. Advertised pause frame use: Symmetric
  120. Advertised auto-negotiation: Yes
  121. Speed: 100Mb/s
  122. Duplex: Half
  123. Port: MII
  124. PHYAD:
  125. Transceiver: external
  126. Auto-negotiation: on
  127. Link detected: yes
  128.  
  129. 五、AR8031寄存器值:
  130. address 0x0 = 0x1000 .
  131. address 0x1 = 0x796d .
  132. address 0x2 = 0x4d .
  133. address 0x3 = 0xd074 .
  134. address 0x4 = 0x15e1 .
  135. address 0x5 = 0xcde1 .
  136. address 0x6 = 0xd .
  137. address 0x7 = 0x2001 .
  138. address 0x8 = 0x0 .
  139. address 0x9 = 0x300 .
  140. address 0xa = 0x3801 .
  141. address 0xb = 0x0 .
  142. address 0xc = 0x0 .
  143. address 0xf = 0xa000 .
  144. address 0x10 = 0x862 .
  145. address 0x11 = 0xbc5c .
  146. address 0x12 = 0x0 .
  147. address 0x13 = 0x0 .
  148. address 0x14 = 0x82c .
  149. address 0x15 = 0x0 .
  150. address 0x16 = 0x4e8 .
  151. address 0x17 = 0x0 .
  152. address 0x18 = 0x3200 .
  153. address 0x19 = 0x3000 .
  154. address 0x1a = 0x0 .
  155. address 0x1b = 0x63e .
  156. address 0x1c = 0x0 .
  157. address 0x1f = 0x8100 .
  158.  
  159. 六、引脚重新配置:
  160. #define MX6DL_ENET_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
  161. PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
  162. PAD_CTL_DSE_40ohm | PAD_CTL_HYS)
  163. #define PAD_CTL_PKE (1 << 12) 1 0000 0000 0000
  164. #define PAD_CTL_PUE (1 << 13) 10 0000 0000 0000
  165. #define PAD_CTL_PUS_100K_UP (2 << 14) 1000 0000 0000 0000
  166. #define PAD_CTL_SPEED_MED (2 << 6) 1000 0000
  167. #define PAD_CTL_DSE_40ohm (6 << 3) 11 0000
  168. #define PAD_CTL_HYS (1 << 8) 1 0000 0000
  169.  
  170. b1b0
  171.  
  172. #define MX6DL_ENET_REF_CLK_PAD_CTRL (PAD_CTL_PUE | \
  173. PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
  174. PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
  175. #define PAD_CTL_PUE (1 << 13) 10 0000 0000 0000
  176. #define PAD_CTL_PUS_100K_UP (2 << 14) 1000 0000 0000 0000
  177. #define PAD_CTL_SPEED_MED (2 << 6) 1000 0000
  178. #define PAD_CTL_DSE_40ohm (6 << 3) 11 0000
  179. #define PAD_CTL_HYS (1 << 8) 1 0000 0000

I.MX6 网卡能收不能发的更多相关文章

  1. 基于XC7Z100+AD9361的双收双发无线电射频板卡

    一.板卡概述 板卡基于Xilinx公司的SoC架构(ARM+FPGA)的ZYNQ7100芯片和ADI公司高集成度的捷变射频收发器AD9361,实现频谱范围70MHz~6GHz,模拟带宽200KHz~5 ...

  2. QQ聊天机器人for PHP版 (登录,收、发消息)

    <?php include "http_no_cookie.class.php"; class qq { public $sid; public $http; public ...

  3. stm8 单线串口能收不能发

    原因是把连接的TX和RX短接了,其实在TX和RX间要串一个电阻,然后让stm8的单线TX接到RX.

  4. 代码学习-Linux内核网卡收包过程(NAPI)【转】

    转自:https://blog.csdn.net/crazycoder8848/article/details/46333761 版权声明:本文没有任何版权限制,任何人可以以任何方式使用本文. htt ...

  5. 26.Linux-网卡驱动介绍以及制作虚拟网卡驱动(详解)

    1.描述 网卡的驱动其实很简单,它还是与硬件相关,主要是负责收发网络的数据包,它将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送, 并将接收到的数据包传递给上层协议. 网卡设备与字符设备和块 ...

  6. 网卡phy9161A

    硬件1. 网口网口使用4根信号线:两根发送,两根接收.一对信号线中一根承载0——+2.5V信号电压,而另一根负载的电压是0——-2.5V,因此可产生一个5Vpp的信号差.RJ45中有用的就是4根信号线 ...

  7. Linux网卡驱动程序对ethtool的支持和实现

    Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用.对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ...

  8. Linux网卡驱动框架及制作虚拟网卡

    1.概述 网卡驱动与硬件相关,主要负责收发网络的数据包,将上层协议传递下来的数据包以特定的媒介访问控制方式进行发送,并将接收到的数据包传递给上层协议. 网卡设备与字符设备,块设备不同,网络设备驱动程序 ...

  9. Linux网卡驱动分析

    以太网(Ethernet)是一种计算机局域网组网技术,基于IEEE 802.3标准,它规定了包括物理层的连线.电信号和介质访问层协议. Ethernet接口的实质是MAC通过MII总线控制PHY的过程 ...

随机推荐

  1. HDU - 6430 Problem E. TeaTree 2018 Multi-University Training Contest 10 (LCA+枚举因子)

    题意:一棵树,每个点都有自己val(1 <= val <= 1e5),而任意两个点u,v可以对lca(u,v) 产生gcd(valu,valv)的贡献,求每个点能接受到来自子树贡献的最大值 ...

  2. 【c++ primer, 5e】类的其他特性(卒)

    1 - Class Members Revisited 2 - Functions That Return *this 3 - Class Types 4 - Friendship Revisited ...

  3. 【Flask】WTForms文件上传下载

    # 文件上传笔记:1. 在模版中,form表单中,需要指定`encotype='multipart/form-data'`才能上传文件.2. 在后台如果想要获取上传的文件,那么应该使用`request ...

  4. MySQL-5.7 创建及查看触发器

    触发器的作用是当表上有对应SQL语句发生时,则触发执行. 1.语法 CREATE [DEFINER = { user | CURRENT_USER }] TRIGGER trigger_name tr ...

  5. Oracle数据库PLSQL的中文乱码显示全是问号

    plsql连接数据库乱码问题 缘由: 小师妹周末叫我帮她重装数据库,这么大好的周末时光不出去玩儿,给她装数据库这不是很蛋疼么. 我问她为什么要重装,她说:数据存入数据库后,中文字符有乱码,一定是我上次 ...

  6. 饭卡管理系统学生E-R图

    - 2 - 1.1 可行性分析 1.1.1 项目背景 近年来学生食堂饭卡的使用给高校餐饮管理带来了一次革命, 从结算方式到账户管理, 从卫生便捷到数据统计等,不仅给就餐者带来了方便,也使餐饮结算手段发 ...

  7. maven 项目转 gradle

    打开maven 项目的根目录,CMD 执行命令:gradle init --type pom maven项目就变成了gradle项目

  8. mysql的binlog查看

    1.如果是在window下可以进入mysql的安装bin下,把从linux上拷贝出来的binlog进行查看,步骤如下 a.在mysql的安装bin下右键在此处打开命令行 b.执行命令 C:\Progr ...

  9. 调用webservices中 枚举类型没有被序列化问题

    引用服务后,代理类为自动为所有枚举类型生成了一个Bool类型相关字段,命名方式:比如枚举类名为“PayType”,生成的相关字段为“PayTypeSpecified”,此字段有何作用? PayType ...

  10. Django之ModelForm详解

    前言 这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来.先来一个简单的例子来看一下这个东西怎么用: 比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱 ...