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.

AM3352 CPSW驱动 网卡正常但ping不通

Other Parts Discussed in Thread: AM3352, DP83848J

各位好:

        我们使用的AM3352的CPU,现在在我司的板上程序运行起来后,网卡状态都是正常的,可以收到广播包,但是别的机器ping不通板,板也ping不通别的机器,感觉就是发不出包,请各位帮忙分析看看,先谢了。

      开发包:ti-processor-sdk-linux-am335x-evm-01.00.00.03-Linux-x86-Install.bin

      网络芯片:DP83848J

      驱动:cpsw

      文件系统:initramfs,使用arago-base-tisdk-image-am335x-evm.tar.gz解压过后编译到内核

      启动方式:netboot

      网卡模式:MII

      PHYID:7

      dtb:见附件

      启动后,网卡的信息如下(MAC地址是我在u-boot里面用代码设置的):

eth0 Link encap:Ethernet HWaddr 00:84:00:16:05:05
inet addr:192.168.10.106 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:16150 errors:0 dropped:506 overruns:0 frame:0
TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1212788 (1.1 MiB) TX bytes:6412 (6.2 KiB)
Interrupt:56

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:365 errors:0 dropped:0 overruns:0 frame:0
TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:34428 (33.6 KiB) TX bytes:34428 (33.6 KiB)

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
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Transmit-only
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 7
Transceiver: external
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000000 (0)

Link detected: yes

从另外一台机器(192.168.10.12)ping开发板(192.168.10.106),在192.168.10.106上抓包信息如下:

root@am335x-evm:~# tcpdump -X -e src 192.168.10.102
[ 6470.201984] device eth0 entered promiscuous mode
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
[ 6474.246760] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6474.256142] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
[ 6474.266497] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6474.275735] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
[ 6474.286839] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6474.296107] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
[ 6474.305978] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6474.315166] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
22:02:44.783510 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
[ 6477.330449] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6477.339802] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
[ 6477.350065] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=73
[ 6477.359290] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=101
22:02:48.129067 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 92: 192.168.10.102.netbios-ns > 192.168.10.255.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST
0x0000: 4500 004e c9e4 0000 4011 1a05 c0a8 0a66 E..N....@......f
0x0010: c0a8 0aff 0089 0089 003a 1b25 e914 0110 .........:.%....
0x0020: 0001 0000 0000 0000 2045 4545 4b46 4545 .........EEEKFEE
0x0030: 4646 4446 4543 4e46 4145 4443 4143 4143 FFDFECNFAEDCACAC
0x0040: 4143 4143 4143 4141 4100 0020 0001 ACACACAAA.....
22:02:50.283527 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:02:55.783581 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:01.283672 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:06.783694 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:12.283814 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:17.783859 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:23.283902 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:28.783951 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:34.284006 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:39.784038 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
INIT: Id "1" respawning too fast: disabled for 5 minutes
22:03:45.284112 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:50.784213 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:03:56.284270 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:01.784322 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:07.284342 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:12.784427 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:18.284482 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
[ 6573.106878] IPv4: ip_rcv : 90-2b-34-af-71-32 192.168.10.98 ----> ff-ff-ff-ff-ff-ff 192.168.10.255 len=78
[ 6573.117001] UDP: udp_rcv 192.168.10.98:137 ----> 192.168.10.255:137 len=58
22:04:23.784562 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, eth[ 6573.485364] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=72
ertype ARP (0x0806), length 60: Request who-has 192.168.10.106 t[ 6573.499009] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=100
ell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c9[ 6573.514641] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=72
7 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 000[ 6573.528287] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=100
0 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:24.350105 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.98 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a62 0000 0000 .f.........b....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:29.284643 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:34.784680 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:40.284726 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:45.784774 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:51.284873 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:04:56.784918 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:02.284995 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:07.785042 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:13.285123 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:18.785189 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:23.785249 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:29.285300 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:34.785366 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:40.285386 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:45.785460 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
[ 6657.515281] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=72
[ 6657.524646] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=100
[ 6657.535003] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=72
[ 6657.544241] ip_output : 00-00-00-00-00-00 127.0.0.1 ----> 00-00-00-00-00-00 127.0.0.1 len=100
22:05:47.738772 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.57 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a39 0000 0000 .f.........9....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:51.285492 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:05:56.785542 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:06:02.285610 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:06:07.785666 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:06:13.285714 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
22:06:18.785800 3c:97:0e:ae:4d:1d (oui Unknown) > Broadcast, ethertype ARP (0x0806), length 60: Request who-has 192.168.10.106 tell 192.168.10.102, length 46
0x0000: 0001 0800 0604 0001 3c97 0eae 4d1d c0a8 ........<...M...
0x0010: 0a66 0000 0000 0000 c0a8 0a6a 0000 0000 .f.........j....
0x0020: 0000 0000 0000 0000 0000 0000 0000 ..............
^C
43 packets captured[ 6691.436444] device eth0 left promiscuous mode

使用TI官方的dtb和上述内核,加载到TI官方的Demo板,网卡状态正常,也可以ping通。

am335x-evmsk.rar
  • arp信息补充如下

    root@am335x-evm:~# arp -n
    ? (192.168.10.1) at 00:0f:e2:54:01:ff [ether] on eth0
    ? (192.168.10.98) at <incomplete> on eth0
    ? (192.168.10.86) at 00:1d:09:04:a1:19 [ether] on eth0
    ? (192.168.10.102) at 3c:97:0e:ae:4d:1d [ether] on eth0

  • TI的技术大神呢?能帮忙看看么?我司单板驱动往dma写数据时,mdio寄存器值如下:

    ctrl=0x410000ff
    alive=0xff000ff
    link=0xfc000e6
    linkintraw=0x1
    userintmaskset=0x0
    userintraw=0x1
    linkintmasked=0x1
    userintmaskset=0x0
    userintmaskclr=0x0
    user[0].access=0x208701e1
    user[0].physel=0x47

    phy 寄存器值如下:

    BMCR =0x3100
    MII_BMSR =0x786d
    MII_PHYSID1 =0x2000
    MII_PHYSID2 =0x5c90
    MII_ADVERTISE =0x1e1
    MII_LPA =0xc9e1
    MII_EXPANSION =0xf
    MII_ANPTR =0x2801
    MII_PHY_STS =0x4015
    MII_PHYADDR =0x8027

  • 请问有在U-boot下试过网络基本功能么?MDIO访问PHY芯片都是正常的?

  • u-boot下网卡收发是正常的,我是从网络启动的,u-boot从网口加载kernel然后启动系统。

    u-boot下mido和phy寄存器如下:

    ctrl=0x410000ff
    alive=0xff000ff
    link=0xfc000e6
    linkintraw=0x0
    userintmaskset=0x0
    userintraw=0x1
    linkintmasked=0x0
    userintmaskset=0x0
    userintmaskclr=0x0
    user[0].access=0x22074615
    user[0].physel=0x0
    nBMCR =0x3100
    nMII_BMSR =0x786d
    nMII_PHYSID1 =0x2000
    nMII_PHYSID2 =0x5c90
    nMII_ADVERTISE =0x1e1
    nMII_LPA =0xc9e1
    nMII_EXPANSION =0xd
    nMII_ANPTR =0x2801
    nMII_PHY_STS =0x4615
    nMII_PHYADDR =0x8027

    Kernel下mdio和phy寄存器如下:

    ctrl=0x410000ff
    alive=0xff000ff
    link=0xfc000e6
    linkintraw=0x0
    userintmaskset=0x0
    userintraw=0x1
    linkintmasked=0x0
    userintmaskset=0x0
    userintmaskclr=0x0
    user[0].access=0x208701e1
    user[0].physel=0x0
    nBMCR =0x3100
    nMII_BMSR =0x786d
    nMII_PHYSID1 =0x2000
    nMII_PHYSID2 =0x5c90
    nMII_ADVERTISE =0x1e1
    nMII_LPA =0xc9e1
    nMII_EXPANSION =0xf
    nMII_ANPTR =0x2801
    nMII_PHY_STS =0x4015
    nMII_PHYADDR =0x8027

    是否和电源管理有关?我们的单板是固定电压,没有电源管理芯片。

  • 如果U-boot下网络工作正常,硬件出问题的可能性不大。

    kernel下有量那些信号线有数据输出和输入么?

    另外检查下kernel下是否关掉了防火墙。

  • 用示波器测量TX数据线没有信号输出,u-boot的TX数据线有信号,这个和防火墙有关?

  • 防火墙没有编译进内核,但是相同的内核,可以在TI官方的Demo板跑起来,而且网口收发正常。

  • 内核开了防火墙,其结果一样,user[0].access=0x208701e1这个寄存器的值在u-boot和kernel下不一样,看手册貌似和电源管理有关

  • 如果TX信号输出都没有,建议检查下kernel下的pinmux设置。

  • 完整的dts文件在1楼的附件中,pinmux设置如下,网卡为MII模式 gmii_sel寄存器已设置为0,这个引脚设置和u-boot一样,只是我们的没有电源管理,所以sleep的没有设置。另外帮忙检查下dts文件中双网卡设置,我们的单板am3352接DP83848J的PHY芯片(PHYID=7)和和IP175D(PHYID=4)交换芯片。谢了。

    cpsw_default: cpsw_default {
    pinctrl-single,pins = <
    /* Slave 1 */
    0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txen.mii1_txen */
    0x118 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxdv.mii1_rxdv */
    0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd3.mii1_txd3 */
    0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd2.mii1_txd2 */
    0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd1.mii1_txd1 */
    0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txd0.mii1_txd0 */
    0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txclk.mii1_txclk */
    0x130 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxclk.mii1_rxclk */
    0x134 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxd3.mii1_rxd3 */
    0x138 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxd2.mii1_rxd2 */
    0x13c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxd1.mii1_rxd1 */
    0x140 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_rxd0.mii1_rxd0 */

    /* Slave 2 */
    0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a0.mii2_txen */
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a1.mii2_rxdv */
    0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a2.mii2_td3 */
    0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a3.mii2_td2 */
    0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a4.mii2_td1 */
    0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a5.mii2_td0 */
    0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gpmc_a6.mii2_tclk */
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a7.mii2_rclk */
    0x60 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a8.mii2_rd3 */
    0x64 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a9.mii2_rd2 */
    0x68 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a10.mii2_rd1 */
    0x6c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* gpmc_a11.mii2_rd0 */
    >;
    };

    cpsw_sleep: cpsw_sleep {
    pinctrl-single,pins = <
    /* Slave 1 reset value */
    0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)

    /* Slave 2 reset value*/
    0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
    0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
    >;
    };

    系统启动打印的phy信息如下(IP175D的驱动还没加载):

    [ 4.145526] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
    [ 4.153587] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
    [ 4.161628] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [ 4.169682] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [ 4.177736] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver unknown
    [ 4.185788] davinci_mdio 4a101000.mdio: phy[5]: device 4a101000.mdio:05, driver unknown
    [ 4.193841] davinci_mdio 4a101000.mdio: phy[6]: device 4a101000.mdio:06, driver unknown
    [ 4.201882] davinci_mdio 4a101000.mdio: phy[7]: device 4a101000.mdio:07, driver NatSemi DP83848J
    [ 4.210719] davinci_mdio 4a101000.mdio: phy[20]: device 4a101000.mdio:14, driver unknown
    [ 4.218859] davinci_mdio 4a101000.mdio: phy[21]: device 4a101000.mdio:15, driver unknown
    [ 4.226999] davinci_mdio 4a101000.mdio: phy[22]: device 4a101000.mdio:16, driver unknown
    [ 4.235138] davinci_mdio 4a101000.mdio: phy[23]: device 4a101000.mdio:17, driver unknown
    [ 4.243278] davinci_mdio 4a101000.mdio: phy[24]: device 4a101000.mdio:18, driver unknown
    [ 4.251406] davinci_mdio 4a101000.mdio: phy[25]: device 4a101000.mdio:19, driver unknown
    [ 4.259545] davinci_mdio 4a101000.mdio: phy[26]: device 4a101000.mdio:1a, driver unknown
    [ 4.267684] davinci_mdio 4a101000.mdio: phy[27]: device 4a101000.mdio:1b, driver unknown

  • 我抽时间帮您看一下,您自己也再仔细检查下。

  • 我仔细对照了AM3352的datasheet,引脚设置并没有什么问题。在设置pinmux的地方添加打印信息代码,Kernel启动时打印信息如下:

    bootcomd:console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.10.98:/export/rootfs,nolock rw bootenv=uEnv.txt
    in boot_jump_linux addr=0x82000000 r2=0x8fff4000
    [ 0.000000] Booting Linux on physical CPU 0x0
    [ 0.000000] Linux version 3.14.43-g875c69b (root@ubuntu) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #187 Fri Dec 25 11:20:00 CST 2015
    [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
    [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
    [ 0.000000] Machine model: TI AM335x EVM-SK
    [ 0.000000] cma: CMA: reserved 24 MiB at ae000000
    [ 0.000000] Memory policy: Data cache writeback
    [ 0.000000] On node 0 totalpages: 261888
    [ 0.000000] free_area_init_node: node 0, pgdat c200ba70, node_mem_map ed7ee000
    [ 0.000000] Normal zone: 1520 pages used for memmap
    [ 0.000000] Normal zone: 0 pages reserved
    [ 0.000000] Normal zone: 194560 pages, LIFO batch:31
    [ 0.000000] HighMem zone: 528 pages used for memmap
    [ 0.000000] HighMem zone: 67328 pages, LIFO batch:15
    [ 0.000000] CPU: All CPU(s) started in SVC mode.
    [ 0.000000] AM335X ES2.1 (neon )
    [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
    [ 0.000000] pcpu-alloc: [0] 0
    [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260368
    [ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.10.98:/export/rootfs,nolock rw bootenv=uEnv.txt
    [ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
    [ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
    [ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
    [ 0.000000] Memory: 980492K/1047552K available (5619K kernel code, 459K rwdata, 2280K rodata, 24504K init, 404K bss, 67060K reserved, 269312K highmem)
    [ 0.000000] Virtual kernel memory layout:
    [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
    [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
    [ 0.000000] vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
    [ 0.000000] lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
    [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
    [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
    [ 0.000000] .text : 0xc0008000 - 0xc07befc4 (7900 kB)
    [ 0.000000] .init : 0xc07bf000 - 0xc1fad21c (24505 kB)
    [ 0.000000] .data : 0xc1fae000 - 0xc2020fd0 ( 460 kB)
    [ 0.000000] .bss : 0xc2020fd0 - 0xc20862b8 ( 405 kB)
    [ 0.000000] NR_IRQS:16 nr_irqs:16 16
    [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
    [ 0.000000] Total of 128 interrupts on 1 active controller
    [ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
    [ 0.000017] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956969942ns
    [ 0.000042] OMAP clocksource: timer1 at 24000000 Hz
    [ 0.000233] WARNING: Your 'console=ttyO0' has been replaced by 'ttyS0'
    [ 0.000242] This ensures that you still see kernel messages. Please
    [ 0.000249] update your kernel commandline.
    [ 0.000279] Calibrating delay loop... 718.02 BogoMIPS (lpj=3590144)
    [ 0.119158] pid_max: default: 32768 minimum: 301
    [ 0.119302] Security Framework initialized
    [ 0.119422] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.119436] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
    [ 0.128442] CPU: Testing write buffer coherency: ok
    [ 0.128529] ftrace: allocating 21121 entries in 62 pages
    [ 0.198852] Setting up static identity map for 0x805832e8 - 0x80583340
    [ 0.208004] devtmpfs: initialized
    [ 0.210174] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
    [ 0.218246] omap_hwmod: tptc0 using broken dt data from edma
    [ 0.218343] omap_hwmod: tptc1 using broken dt data from edma
    [ 0.218426] omap_hwmod: tptc2 using broken dt data from edma
    [ 0.222968] omap_hwmod: debugss: _wait_target_disable failed
    [ 0.288027] pinctrl core: initialized pinctrl subsystem
    [ 0.289330] reg-dummy reg-dummy: no of_node; not parsing pinctrl DT
    [ 0.289682] regulator-dummy: no parameters
    [ 0.292456] NET: Registered protocol family 16
    [ 0.294763] DMA: preallocated 256 KiB pool for atomic coherent allocations
    [ 0.296462] >>>> drivers/spi/spi.c/spi_init >>>>
    [ 0.304232] syscon 44e10000.control_module: regmap [mem 0x44e10000-0x44e107fb] registered
    [ 0.305900] platform 49000000.edma: alias fck already exists
    [ 0.305929] platform 49000000.edma: alias fck already exists
    [ 0.305945] platform 49000000.edma: alias fck already exists
    [ 0.306988] gpiochip_add: registered GPIOs 0 to 31 on device: gpio
    [ 0.307315] OMAP GPIO hardware version 0.1
    [ 0.308404] gpiochip_add: registered GPIOs 32 to 63 on device: gpio
    [ 0.309716] gpiochip_add: registered GPIOs 64 to 95 on device: gpio
    [ 0.310942] gpiochip_add: registered GPIOs 96 to 127 on device: gpio
    [ 0.316436] platform 44e3e000.rtc: Cannot lookup hwmod 'rtc'
    [ 0.323019] No ATAGs?
    [ 0.323042] hw-breakpoint: debug architecture 0x4 unsupported.
    [ 0.347468] bio: create slab <bio-0> at 0
    [ 0.349197] edma-dma-engine edma-dma-engine.0: no of_node; not parsing pinctrl DT
    [ 0.364017] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
    [ 0.365241] vgaarb: loaded
    [ 0.366600] SCSI subsystem initialized
    [ 0.367188] libata version 3.00 loaded.
    [ 0.368252] usbcore: registered new interface driver usbfs
    [ 0.368471] usbcore: registered new interface driver hub
    [ 0.368716] usbcore: registered new device driver usb
    [ 0.369764] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
    [ 0.369800] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
    [ 0.370238] pps_core: LinuxPPS API ver. 1 registered
    [ 0.370250] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
    [ 0.370408] PTP clock support registered
    [ 0.371733] omap-mailbox 480c8000.mailbox: omap mailbox rev 0x400
    [ 0.373742] Switched to clocksource timer1
    [ 0.423963] NET: Registered protocol family 2
    [ 0.424970] TCP established hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.425072] TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
    [ 0.425164] TCP: Hash tables configured (established 8192 bind 8192)
    [ 0.425277] TCP: reno registered
    [ 0.425291] UDP hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.425322] UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)
    [ 0.425527] NET: Registered protocol family 1
    [ 0.425927] RPC: Registered named UNIX socket transport module.
    [ 0.425942] RPC: Registered udp transport module.
    [ 0.425949] RPC: Registered tcp transport module.
    [ 0.425956] RPC: Registered tcp NFSv4.1 backchannel transport module.
    [ 0.425975] PCI: CLS 0 bytes, default 64
    [ 2.540869] hw perfevents: enabled with ARMv7 Cortex-A8 PMU driver, 5 counters available
    [ 2.544083] alarmtimer alarmtimer: no of_node; not parsing pinctrl DT
    [ 2.544681] futex hash table entries: 256 (order: -1, 3072 bytes)
    [ 2.699904] bounce pool size: 64 pages
    [ 2.700205] VFS: Disk quotas dquot_6.5.2
    [ 2.700275] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
    [ 2.700931] NFS: Registering the id_resolver key type
    [ 2.701037] Key type id_resolver registered
    [ 2.701047] Key type id_legacy registered
    [ 2.701095] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
    [ 2.701296] msgmni has been set to 1437
    [ 2.703069] NET: Registered protocol family 38
    [ 2.703113] io scheduler noop registered
    [ 2.703122] io scheduler deadline registered
    [ 2.703153] io scheduler cfq registered (default)
    [ 2.704877] pinctrl-single 44e10800.pinmux: allocating 142 pins
    [ 2.705078] pinctrl-single 44e10800.pinmux: try to register 142 pins ...
    [ 2.705205] pinctrl core: add 1 pinmux maps
    [ 2.705227] pinctrl core: add 1 pinmux maps
    [ 2.705242] pinctrl core: add 1 pinmux maps
    [ 2.705271] pinctrl-single 44e10800.pinmux: found group selector 0 for gpio_keys_s0
    [ 2.705289] pinctrl-single 44e10800.pinmux: found group selector 1 for pinmux_clkout2_pin
    [ 2.705306] pinctrl-single 44e10800.pinmux: found group selector 2 for ddr3_vtt_toggle
    [ 2.705318] pinctrl core: pinmux_enable_setting devname=44e10800.pinmux
    [ 2.705332] pinmux core: >>> pinmux_enable_setting devname=44e10894.0 >>>
    [ 2.705340] pinmux core: >>> pinmux_enable_setting devname=44e10890.0 >>>
    [ 2.705347] pinmux core: >>> pinmux_enable_setting devname=44e10870.0 >>>
    [ 2.705354] pinmux core: >>> pinmux_enable_setting devname=44e1089c.0 >>>
    [ 2.705368] pinctrl-single 44e10800.pinmux: enabling gpio_keys_s0 function0
    [ 2.705379] pinctrl core: pinmux_enable_setting devname=44e10800.pinmux
    [ 2.705388] pinmux core: >>> pinmux_enable_setting devname=44e109b4.0 >>>
    [ 2.705399] pinctrl-single 44e10800.pinmux: enabling pinmux_clkout2_pin function1
    [ 2.705407] pinctrl core: pinmux_enable_setting devname=44e10800.pinmux
    [ 2.705415] pinmux core: >>> pinmux_enable_setting devname=44e10964.0 >>>
    [ 2.705427] pinctrl-single 44e10800.pinmux: enabling ddr3_vtt_toggle function2
    [ 2.705440] pinctrl-single 44e10800.pinmux: failed to lookup the sleep state
    [ 2.705529] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
    [ 2.707600] pinctrl core: add 1 pinmux maps
    [ 2.707645] pinctrl core: add 1 pinmux maps
    [ 2.707677] pinctrl-single 44e10800.pinmux: found group selector 3 for backlight_pins
    [ 2.707695] pinctrl-single 44e10800.pinmux: found group selector 4 for ecap2_pins_sleep
    [ 2.707706] pinctrl core: pinmux_enable_setting devname=48304100.ecap
    [ 2.707718] pinmux core: >>> pinmux_enable_setting devname=44e1099c.0 >>>
    [ 2.707732] pinctrl-single 44e10800.pinmux: enabling backlight_pins function3
    [ 2.709801] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled
    [ 2.713993] serial8250 serial8250: no of_node; not parsing pinctrl DT
    [ 2.714646] pinctrl core: add 1 pinmux maps
    [ 2.714688] pinctrl-single 44e10800.pinmux: found group selector 5 for pinmux_uart0_pins
    [ 2.714700] pinctrl core: pinmux_enable_setting devname=44e09000.serial
    [ 2.714715] pinmux core: >>> pinmux_enable_setting devname=44e10970.0 >>>
    [ 2.714722] pinmux core: >>> pinmux_enable_setting devname=44e10974.0 >>>
    [ 2.714736] pinctrl-single 44e10800.pinmux: enabling pinmux_uart0_pins function5
    [ 2.714842] of_get_named_gpiod_flags: can't parse gpios property of node '/ocp/serial@44e09000[0]'
    [ 2.715364] 44e09000.serial: ttyS0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a 8250
    [ 3.663163] console [ttyS0] enabled
    [ 3.668836] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
    [ 3.688798] brd: module loaded
    [ 3.698639] loop: module loaded
    [ 3.702472] (hci_tty): inside hci_tty_init
    [ 3.707194] (hci_tty): allocated 252, 0
    [ 3.713233] mtdoops: mtd device (mtddev=name/number) must be supplied
    [ 3.720681] >>>>> spidev_init >>>> N_SPI_MINORS=32
    [ 3.725542] >>>>> create spidev >>>>
    [ 3.729289] >>>>> reg spidev_spi_driver >>>>
    [ 3.737363] usbcore: registered new interface driver asix
    [ 3.742998] usbcore: registered new interface driver ax88179_178a
    [ 3.749351] usbcore: registered new interface driver cdc_ether
    [ 3.755459] usbcore: registered new interface driver smsc95xx
    [ 3.761408] usbcore: registered new interface driver net1080
    [ 3.767296] usbcore: registered new interface driver cdc_subset
    [ 3.773410] usbcore: registered new interface driver zaurus
    [ 3.779290] usbcore: registered new interface driver cdc_ncm
    [ 3.785624] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
    [ 3.792201] ehci-pci: EHCI PCI platform driver
    [ 3.796925] ehci-omap: OMAP-EHCI Host Controller driver
    [ 3.802688] usbcore: registered new interface driver cdc_wdm
    [ 3.808631] usbcore: registered new interface driver usb-storage
    [ 3.815925] mousedev: PS/2 mouse device common for all mice
    [ 3.822459] i2c /dev entries driver
    [ 3.826962] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
    [ 3.834614] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
    [ 3.842170] usbcore: registered new interface driver usbhid
    [ 3.847833] usbhid: USB HID core driver
    [ 3.851941] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
    [ 3.860387] oprofile-perf oprofile-perf.0: no of_node; not parsing pinctrl DT
    [ 3.867663] oprofile: using arm/armv7
    [ 3.871673] TCP: cubic registered
    [ 3.875039] Initializing XFRM netlink socket
    [ 3.879346] NET: Registered protocol family 17
    [ 3.883877] NET: Registered protocol family 15
    [ 3.888479] Key type dns_resolver registered
    [ 3.893715] ThumbEE CPU extension supported.
    [ 3.898097] Registering SWP/SWPB emulation handler
    [ 3.904740] regulator-dummy: disabling
    [ 3.908826] pinctrl core: add 1 pinmux maps
    [ 3.913075] pinctrl-single 44e10800.pinmux: found group selector 6 for pinmux_i2c0_pins
    [ 3.921175] pinctrl core: pinmux_enable_setting devname=44e0b000.i2c
    [ 3.927579] pinmux core: >>> pinmux_enable_setting devname=44e10988.0 >>>
    [ 3.934411] pinmux core: >>> pinmux_enable_setting devname=44e1098c.0 >>>
    [ 3.941234] pinctrl-single 44e10800.pinmux: enabling pinmux_i2c0_pins function6
    [ 3.963720] input_polldev: disagrees about version of symbol module_layout
    [ 3.978577] snd_soc_tlv320aic3x: disagrees about version of symbol module_layout
    [ 3.987766] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
    [ 3.993847] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
    [ 4.002108] pinctrl core: add 1 pinmux maps
    [ 4.006409] pinctrl core: add 1 pinmux maps
    [ 4.010647] pinctrl-single 44e10800.pinmux: found group selector 7 for cpsw_default
    [ 4.018370] pinctrl-single 44e10800.pinmux: found group selector 8 for cpsw_sleep
    [ 4.025903] pinctrl core: pinmux_enable_setting devname=4a100000.ethernet
    [ 4.032737] pinmux core: >>> pinmux_enable_setting devname=44e10914.0 >>>
    [ 4.039574] pinmux core: >>> pinmux_enable_setting devname=44e10918.0 >>>
    [ 4.046401] pinmux core: >>> pinmux_enable_setting devname=44e1091c.0 >>>
    [ 4.053216] pinmux core: >>> pinmux_enable_setting devname=44e10920.0 >>>
    [ 4.060042] pinmux core: >>> pinmux_enable_setting devname=44e10924.0 >>>
    [ 4.066870] pinmux core: >>> pinmux_enable_setting devname=44e10928.0 >>>
    [ 4.073685] pinmux core: >>> pinmux_enable_setting devname=44e1092c.0 >>>
    [ 4.080518] pinmux core: >>> pinmux_enable_setting devname=44e10930.0 >>>
    [ 4.087346] pinmux core: >>> pinmux_enable_setting devname=44e10934.0 >>>
    [ 4.094173] pinmux core: >>> pinmux_enable_setting devname=44e10938.0 >>>
    [ 4.100988] pinmux core: >>> pinmux_enable_setting devname=44e1093c.0 >>>
    [ 4.107815] pinmux core: >>> pinmux_enable_setting devname=44e10940.0 >>>
    [ 4.114642] pinmux core: >>> pinmux_enable_setting devname=44e10840.0 >>>
    [ 4.121457] pinmux core: >>> pinmux_enable_setting devname=44e10844.0 >>>
    [ 4.128282] pinmux core: >>> pinmux_enable_setting devname=44e10848.0 >>>
    [ 4.135108] pinmux core: >>> pinmux_enable_setting devname=44e1084c.0 >>>
    [ 4.141923] pinmux core: >>> pinmux_enable_setting devname=44e10850.0 >>>
    [ 4.148749] pinmux core: >>> pinmux_enable_setting devname=44e10854.0 >>>
    [ 4.155576] pinmux core: >>> pinmux_enable_setting devname=44e10858.0 >>>
    [ 4.162391] pinmux core: >>> pinmux_enable_setting devname=44e1085c.0 >>>
    [ 4.169218] pinmux core: >>> pinmux_enable_setting devname=44e10860.0 >>>
    [ 4.176046] pinmux core: >>> pinmux_enable_setting devname=44e10864.0 >>>
    [ 4.182861] pinmux core: >>> pinmux_enable_setting devname=44e10868.0 >>>
    [ 4.189686] pinmux core: >>> pinmux_enable_setting devname=44e1086c.0 >>>
    [ 4.196521] pinctrl-single 44e10800.pinmux: enabling cpsw_default function7
    [ 4.204694] pinctrl core: add 1 pinmux maps
    [ 4.208924] pinctrl core: add 1 pinmux maps
    [ 4.213156] pinctrl-single 44e10800.pinmux: found group selector 9 for davinci_mdio_default
    [ 4.221615] pinctrl-single 44e10800.pinmux: found group selector 10 for davinci_mdio_sleep
    [ 4.229932] pinctrl core: pinmux_enable_setting devname=4a101000.mdio
    [ 4.236415] pinmux core: >>> pinmux_enable_setting devname=44e10948.0 >>>
    [ 4.243230] pinmux core: >>> pinmux_enable_setting devname=44e1094c.0 >>>
    [ 4.250063] pinctrl-single 44e10800.pinmux: enabling davinci_mdio_default function9
    [ 4.272538]
    [ 4.272538] >>>>>> __davinci_mdio_reset mdio_out_khz=351,mdio_in=90000000
    [ 4.323782] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
    [ 4.329907] davinci_mdio 4a101000.mdio: detected phy mask f00fff00
    [ 4.395296] NatSemi DP83848J 4a101000.mdio:07: no of_node; not parsing pinctrl DT
    [ 4.403994] platform 44d00000.wkup_m3: Driver wkup_m3 requests probe deferral
    [ 4.469381] libphy: 4a101000.mdio: probed
    [ 4.473453] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver unknown
    [ 4.481576] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver unknown
    [ 4.489636] davinci_mdio 4a101000.mdio: phy[2]: device 4a101000.mdio:02, driver unknown
    [ 4.497690] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03, driver unknown
    [ 4.505743] davinci_mdio 4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver unknown
    [ 4.513797] davinci_mdio 4a101000.mdio: phy[5]: device 4a101000.mdio:05, driver unknown
    [ 4.521838] davinci_mdio 4a101000.mdio: phy[6]: device 4a101000.mdio:06, driver unknown
    [ 4.529891] davinci_mdio 4a101000.mdio: phy[7]: device 4a101000.mdio:07, driver NatSemi DP83848J
    [ 4.538731] davinci_mdio 4a101000.mdio: phy[20]: device 4a101000.mdio:14, driver unknown
    [ 4.546872] davinci_mdio 4a101000.mdio: phy[21]: device 4a101000.mdio:15, driver unknown
    [ 4.555011] davinci_mdio 4a101000.mdio: phy[22]: device 4a101000.mdio:16, driver unknown
    [ 4.563140] davinci_mdio 4a101000.mdio: phy[23]: device 4a101000.mdio:17, driver unknown
    [ 4.571279] davinci_mdio 4a101000.mdio: phy[24]: device 4a101000.mdio:18, driver unknown
    [ 4.579420] davinci_mdio 4a101000.mdio: phy[25]: device 4a101000.mdio:19, driver unknown
    [ 4.587560] davinci_mdio 4a101000.mdio: phy[26]: device 4a101000.mdio:1a, driver unknown
    [ 4.595699] davinci_mdio 4a101000.mdio: phy[27]: device 4a101000.mdio:1b, driver unknown

  • 在cpsw初始化和发送数据时,打印了详细的信息,数据拷贝到dma后,写了相关寄存器,然后允许当前网卡的中断,下一步应该就是emac控制器从dma中发送数据到phy,发送完成后再次中断。发送的phy也是正确的,中断允许也执行了,就是很奇怪数据没发送出去。

    INIT: Entering runlevel: 3
    Configuring network interfaces... [ 10.120341] 
    [ 10.120341] >>>> cpsw_ndo_open emacport=0 hostport=0,default_vlan=0,slaves=2,openslaves=0,activeslaves=0
    [ 10.131530] net eth0: initializing cpsw version 1.12 (0)
    [ 10.136889] >>>> cpsw_init_host_port >>>>
    [ 10.140916] >>>>>>>>> cpsw_ale_start >>>>>>>>>>
    [ 10.145500] >>> cpsw_slave_open >>> slave info:port_vlan=1,open_state=0,dual_emac_res_vlan=1,phyid=4a101000.mdio:07
    [ 10.155997] >>> cpsw_slave_open slave_port=1 set slave mac=7c:66:9d:52:30:3c>>> 
    [ 10.163425] >>> cpsw_add_dual_emac_def_ale_entries >>>> version=0x19010c
    [ 10.171277] >>> cpsw_ale_add_vlan vid=1,port=3 ,index=-2 >>>
    [ 10.179195] begin to connect to phy,phyaddr=4a101000.mdio:07,phy_if=1 dual_emac_res_vlan=1
    [ 10.187504] libphy: >>>> phy_connect >>>>
    [ 10.266490] libphy: phy_read result =0x3100
    [ 10.270694] libphy: phy_read result =0x7849
    [ 10.274891] libphy: phy_read result =0x2000
    [ 10.279107] libphy: phy_read result =0x5c90
    [ 10.283306] libphy: phy_read result =0x1e1
    [ 10.287437] net eth0: phy found : id is : 0x20005c90
    [ 10.292420] phy found : id is : 0x20005c90
    [ 10.297717] >>> cpsw_ale_add_vlan vid=0,port=7 ,index=-2 >>>
    [ 10.304396] slave[emac_port=1].open_stat=0
    [ 10.308571] slave[emac_port=0].open_stat=1
    done.
    Starting system message bus: dbus.
    Starting telnet daemon.
    Starting rpcbind daemon...rpcbind: cannot create socket for udp6
    rpcbind: cannot create socket for tcp6
    done.
    creating NFS state directory: done
    starting statd: done
    hwclock: can't open '/dev/misc/rtc': No such file or directory
    Starting syslogd/klogd: done
    Starting thttpd.
    Enabling thermal zones...
    /etc/rc3.d/S98thermal-zone-init: line 7: /sys/class/thermal/thermal_zone*/mode: No such file or directory
    Stopping Bootlog daemon: bootlogd.

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

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

    Arago 2015.05 am335x-evm /dev/ttyO0

    am335x-evm login: [ 11.265562] libphy: genphy_config_aneg ctl=0x3100 ,ctl & BMCR_ANENABLE=0x1000,ctl & BMCR_ISOLATE=0x0
    [ 11.274759] libphy: genphy_config_aneg call genphy_restart_aneg result=0x0
    [ 11.281787] libphy: genphy_restart_aneg ,ctl=0x3100
    [ 11.286700] libphy: genphy_restart_aneg , write ctl=0x3300 to MII_BMCR
    [ 13.285834] libphy: 4a101000.mdio:07 - Link is Up - 100/Full
    [ 13.292821] libphy: phy_read nBMCR =0x3100
    [ 13.296978] libphy: phy_read nMII_BMSR =0x786d
    [ 13.301440] libphy: phy_read nMII_PHYSID1 =0x2000
    [ 13.306175] libphy: phy_read nMII_PHYSID2 =0x5c90
    [ 13.310897] libphy: phy_read nMII_ADVERTISE =0x1e1
    [ 13.315718] libphy: phy_read nMII_LPA =0xc9e1
    [ 13.320091] libphy: phy_read nMII_EXPANSION =0xf
    [ 13.324724] libphy: phy_read nMII_ANPTR =0x2801
    [ 13.329282] libphy: phy_read nMII_PHY_STS =0x4015
    [ 13.334003] libphy: phy_read nMII_PHYADDR =0x8027
    [ 17.452217] 
    [ 17.452217] dev_hard_start_xmit 7c-66-9d-52-30-3c 192.168.10.106 ----> 3c-97-0e-ae-4d-1d 192.168.10.102
    [ 17.463349] >>> cpsw_ndo_start_xmit >>> protocal=1544,emacport=0,hostport=0,macaddr=7c:66:9d:52:30:3c
    [ 17.472703] slave 1:slavesnum=0,port_vlan=1,open_stat=1,phyname=4a101000.mdio:07,phyid=0x20005c90,dual_emac_res_vlan=1
    [ 17.483325] 3c 97 0e ae 4d 1d 7c 66 9d 52 30 3c 08 06 00 01 08 00 06 04 00 02 7c 66 9d 52 30 3c c0 a8 0a 6a 3c 97 0e ae 4d 1d c0 a8 0a 66 
    [ 17.495992] cpdma_chan_submit len=42,directed=1,chan_state=1,chan_num=0
    [ 17.502723] before change state chan->state=1,chan->rxfree=0x0 
    [ 17.508667] after change state chan->state=1,chan->rxfree=0x0 
    [ 17.514524] 
    [ 17.514524] davinci_mdio_read ctrl=0x41000059
    [ 17.520382] davinci_mdio_read alive=0xff000ff
    [ 17.524753] davinci_mdio_read link=0xfc000e6
    [ 17.529039] davinci_mdio_read linkintraw=0x0
    [ 17.533323] davinci_mdio_read userintmaskset=0x0
    [ 17.537957] davinci_mdio_read userintraw=0x1
    [ 17.542242] davinci_mdio_read linkintmasked=0x0
    [ 17.546788] davinci_mdio_read userintmaskset=0x0
    [ 17.551422] davinci_mdio_read userintmaskclr=0x0
    [ 17.556057] davinci_mdio_read user[0].access=0x208701e1
    [ 17.561300] davinci_mdio_read user[0].physel=0x0
    [ 17.565938] cpdma_desc_alloc phyaddr=0x4a102000,hw_addr=0x4a102000,desc_size=32,mem_size=8192, num_desc=256,used_desc=64
    [ 17.576951] cpdma_chan_submit head_enqueue=1, tail_enqueue= 0,pad_enqueue= 0,misqueued= 0,desc_alloc_fail = 0,pad_alloc_fail= 0,runt_receive_buff= 0,runt_transmit_buff= 1,empty_dequeue = 47,busy_dequeue = 0,good_dequeue = 0,requeue = 0,teardown_dequeue = 0,is_rx_chan=0
    [ 17.600952] >>> cpsw_tx_interrupt >>> irq_tx_enabled = 255
    [ 17.606459] call disable_irq_nosync 
    [ 17.610048] call napi_schedule1 devname=eth0,emac_port=0 
    [ 17.615470] cpsw_ndo_start_xmit ret=0
    [ 17.619169] >>> cpsw_tx_poll >>> slave info:port_vlan=1,open_state=1,dual_emac_res_vlan=1,phyid=4a101000.mdio:07
    [ 17.629391] >>> cpsw_tx_handler >>> devname=eth0
    [ 17.634032] >>> cpsw_tx_poll >>> budget=64,num_tx=1 mac=7c:66:9d:52:30:3c
    [ 17.640848] prim_cpsw->irq_tx_enabled =0,priv->irqs_table[2]=58
    [ 17.646871] 3c 97 0e ae 4d 1d 7c 66 9d 52 30 3c 08 06 00 01 08 00 06 04 00 02 7c 66 9d 52 30 3c c0 a8 0a 6a 3c 97 0e ae 4d 1d c0 a8 0a 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 
    [ 17.665023] poll 1 tx pkts

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

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

    Arago 2015.05 am335x-evm /dev/ttyO0

    am335x-evm login: root
    root@am335x-evm:~# ethtool eth0
    Settings for eth0:
    Supported ports: [ TP MII ]
    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
    Link partner advertised link modes: 10baseT/Half 10baseT/Full 
    100baseT/Half 100baseT/Full 
    Link partner advertised pause frame use: Transmit-only
    Link partner advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: MII
    PHYAD: 7
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000000 (0)

    Link detected: yes
    root@am335x-evm:~# cat /proc/interrupts 
    CPU0 
    28: 0 INTC 12 edma
    30: 0 INTC 14 edma_error
    56: 0 INTC 40 4a100000.ethernet
    57: 322 INTC 41 4a100000.ethernet
    58: 1 INTC 42 4a100000.ethernet
    59: 0 INTC 43 4a100000.ethernet
    84: 1186 INTC 68 gp_timer
    86: 0 INTC 70 44e0b000.i2c
    88: 247 INTC 72 serial
    125: 0 INTC 109 53100000.sham
    127: 0 INTC 111 48310000.rng

  • 问题搁置一段时间,后来查出,结论如下:

    红色部分配置错误:

    0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mii1_txclk.mii1_txclk */

    正确的应该为:

    0x12c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mii1_txclk.mii1_txclk */

    结帖。

    dts配置是从rgmii拷贝过来的,忽略了这个细节,而这恰好是rgmii和mii的区别。



  • 非常感谢,我也遇到了这个问题