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.

am335 中我尝试调试我的RGMII2时候 设备树坐了对应的修改,内核使能了对应芯片的驱动,启动是也能识别到phy ,但是启动失败



系统打印如下

  • [ 1.015212] MACsec IEEE 802.1AE
    [ 1.018901] libphy: Fixed MDIO Bus: probed
    [ 1.089128] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 1000000
    [ 1.096828] davinci_mdio 4a101000.mdio: detected phy mask fffffffc
    [ 1.105183] libphy: 4a101000.mdio: probed
    [ 1.109336] davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
    [ 1.118511] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01, driver Marvell 88E1510
    [ 1.128042] cpsw 4a100000.ethernet: Detected MACID = 38:d2:69:4f:eb:ef
    [ 1.134879] cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
    [ 1.141317] cpsw 4a100000.ethernet: ALE Table size 1024
    [ 1.146601] cpsw 4a100000.ethernet: cpts: overflow check period 500 (jiffies)
    [ 1.154563] cpsw 4a100000.ethernet: cpsw: Detected MACID = 24:4b:7d:dc:01:00

    可以看出来被我配置成1地址的88E1510 可以正确识别
  • ifconfig eth1 up
    [ 65.785070] net eth1: initializing cpsw version 1.12 (0)
    [ 65.819997] Unable to handle kernel NULL pointer dereference at virtual address 0000000c
    [ 65.828165] pgd = db2fc000
    [ 65.831231] [0000000c] *pgd=9b2cf831, *pte=00000000, *ppte=00000000
    [ 65.837590] Internal error: Oops: 817 [#1] PREEMPT ARM
    [ 65.842761] Modules linked in:
    [ 65.845863] CPU: 0 PID: 140 Comm: ifconfig Not tainted 4.14.79-ge669d52447 #69
    [ 65.853128] Hardware name: Generic AM33XX (Flattened Device Tree)
    [ 65.859261] task: dc240000 task.stack: db2b8000
    [ 65.863850] PC is at soft_reset_slave+0x48/0xa4
    [ 65.868416] LR is at 0xdb2b9c18
    [ 65.871583] pc : [<c05dabd0>] lr : [<db2b9c18>] psr: 800c0013
    [ 65.877889] sp : db2b9ce0 ip : 00000000 fp : db2b9d14
    [ 65.883148] r10: dc6d0d0c r9 : 00000000 r8 : dc6ebc10
    [ 65.888409] r7 : dc7f04e0 r6 : dc7f0000 r5 : dc7f04e0 r4 : dc7d9df0
    [ 65.894977] r3 : 00000001 r2 : c0e15480 r1 : ffffa4e9 r0 : 0000000c
    [ 65.901551] Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
    [ 65.908732] Control: 10c5387d Table: 9b2fc019 DAC: 00000051
    [ 65.914515] Process ifconfig (pid: 140, stack limit = 0xdb2b8208)
    [ 65.920648] Stack: (0xdb2b9ce0 to 0xdb2ba000)
    [ 65.925054] 9ce0: 76616c73 00302d65 c051bd28 c051bb44 c0e4fe98 db2b9d0c db2b9d24 db2b9d10
    [ 65.933297] 9d00: c051bddc dc7d9df0 db2b9d54 db2b9d18 c05dac4c c05dab94 db2b9d48 db2b9d28
    [ 65.941538] 9d20: c051c08c c051bd94 db2b9d54 dc7d9dd0 dc6ebc10 dc7f0000 dc7f04e0 00000000
    [ 65.949779] 9d40: 00000000 dc6d0d0c db2b9df4 db2b9d58 c05db778 c05dac38 00000000 db2b9d68
    [ 65.958021] 9d60: db2b9d94 db2b9d70 c090b818 c090d7dc ffffffef c0e53498 ffffffed 00000000
    [ 65.966263] 9d80: db2b9dfc 0000000d db2b9dbc db2b9d98 c01475d4 c0835534 db2b9dfc 0000000d
    [ 65.974505] 9da0: dc7f0000 00001002 00008914 00000000 db2b9dd4 db2b9dc0 c0147710 c0147590
    [ 65.982746] 9dc0: 00000000 dcb7f210 db2b9df4 dc7f0000 c0a65ea4 00000001 00001002 00008914
    [ 65.990987] 9de0: 00000000 dc6d0d0c db2b9e14 db2b9df8 c077b6f8 c05db3c4 c077b630 dc7f0000
    [ 65.999230] 9e00: dc7f0000 00001043 db2b9e44 db2b9e18 c077ba60 c077b644 00152000 00000140
    [ 66.007472] 9e20: db2b9e48 dc7f0000 00001002 00000000 dc7f014c 00008914 db2b9e6c db2b9e48
    [ 66.015713] 9e40: c077bab4 c077b924 00000000 db2b9e90 bed97c80 00000000 00008914 00000000
    [ 66.023955] 9e60: db2b9edc db2b9e70 c07f40c0 c077baa0 db2b9e94 dc7f0000 bed97c80 db2b9ea0
    [ 66.032197] 9e80: dc6d0d00 000eb127 dc7f0000 00008914 31687465 00000000 00000000 00000000
    [ 66.040438] 9ea0: 00001043 000eb127 00000078 00000078 00001002 00008914 db2ebf00 bed97c80
    [ 66.048680] 9ec0: c0e4e7e8 00000003 db2b8000 dbc857a0 db2b9eec db2b9ee0 c07f634c c07f3a4c
    [ 66.056922] 9ee0: db2b9f0c db2b9ef0 c0759478 c07f61b8 bed97c80 db2ebf00 00000003 00008914
    [ 66.065163] 9f00: db2b9f7c db2b9f10 c0234558 c075939c c0222770 c03fac38 c0e03798 00000000
    [ 66.073404] 9f20: dbc85780 dbc85780 db2b9f6c db2b9f38 c07590e4 c0222724 dc006e10 00000000
    [ 66.081646] 9f40: 00000000 00000003 dbc85780 c0107e44 db2b9f6c db2ebf00 db2ebf00 00000003
    [ 66.089887] 9f60: 00008914 bed97c80 db2b8000 00000036 db2b9fa4 db2b9f80 c0234e1c c02344bc
    [ 66.098127] 9f80: 00144db4 bed97c80 bed97f5d 00000036 c0107e44 db2b8000 00000000 db2b9fa8
    [ 66.106368] 9fa0: c0107c40 c0234dec 00144db4 bed97c80 00000003 00008914 bed97c80 00144db4
    [ 66.114610] 9fc0: 00144db4 bed97c80 bed97f5d 00000036 000000b0 bed97e6c 0011d70c 00000000
    [ 66.122851] 9fe0: ffffffff bed97c1c 000f7807 00012a68 200c0030 00000003 00000000 00000000
    [ 66.131070] Backtrace:
    [ 66.133568] [<c05dab88>] (soft_reset_slave) from [<c05dac4c>] (cpsw_slave_open+0x20/0x280)
    [ 66.141881] r4:dc7d9df0
    [ 66.144452] [<c05dac2c>] (cpsw_slave_open) from [<c05db778>] (cpsw_ndo_open+0x3c0/0x530)
    [ 66.152605] r10:dc6d0d0c r9:00000000 r8:00000000 r7:dc7f04e0 r6:dc7f0000 r5:dc6ebc10
    [ 66.160480] r4:dc7d9dd0
    [ 66.163054] [<c05db3b8>] (cpsw_ndo_open) from [<c077b6f8>] (__dev_open+0xc0/0x124)
    [ 66.170683] r10:dc6d0d0c r9:00000000 r8:00008914 r7:00001002 r6:00000001 r5:c0a65ea4
    [ 66.178557] r4:dc7f0000
    [ 66.181125] [<c077b638>] (__dev_open) from [<c077ba60>] (__dev_change_flags+0x148/0x17c)
    [ 66.189265] r5:00001043 r4:dc7f0000
    [ 66.192880] [<c077b918>] (__dev_change_flags) from [<c077bab4>] (dev_change_flags+0x20/0x50)
    [ 66.201378] r8:00008914 r7:dc7f014c r6:00000000 r5:00001002 r4:dc7f0000
    [ 66.208146] [<c077ba94>] (dev_change_flags) from [<c07f40c0>] (devinet_ioctl+0x680/0x76c)
    [ 66.216384] r9:00000000 r8:00008914 r7:00000000 r6:bed97c80 r5:db2b9e90 r4:00000000
    [ 66.224191] [<c07f3a40>] (devinet_ioctl) from [<c07f634c>] (inet_ioctl+0x1a0/0x1c8)
    [ 66.231906] r10:dbc857a0 r9:db2b8000 r8:00000003 r7:c0e4e7e8 r6:bed97c80 r5:db2ebf00
    [ 66.239781] r4:00008914
    [ 66.242361] [<c07f61ac>] (inet_ioctl) from [<c0759478>] (sock_ioctl+0xe8/0x304)
    [ 66.249742] [<c0759390>] (sock_ioctl) from [<c0234558>] (do_vfs_ioctl+0xa8/0x930)
    [ 66.257277] r7:00008914 r6:00000003 r5:db2ebf00 r4:bed97c80
    [ 66.262989] [<c02344b0>] (do_vfs_ioctl) from [<c0234e1c>] (SyS_ioctl+0x3c/0x60)
    [ 66.270356] r10:00000036 r9:db2b8000 r8:bed97c80 r7:00008914 r6:00000003 r5:db2ebf00
    [ 66.278230] r4:db2ebf00
    [ 66.280811] [<c0234de0>] (SyS_ioctl) from [<c0107c40>] (ret_fast_syscall+0x0/0x54)
    [ 66.288440] r9:db2b8000 r8:c0107e44 r7:00000036 r6:bed97f5d r5:bed97c80 r4:00144db4
    [ 66.296243] Code: e3a03001 e5921000 e28c000c e2811064 (e58c300c)
    [ 66.311343] ---[ end trace 37ec564bd79fd21b ]---
    Segmentation fault




    在我尝试去开启eth1的时候出现了错误

  • 请问使用的是最新版本的processor SDK吗?这个问题是每次都出现还是偶尔出现?如果不使能网口驱动,也会有oops的报错信息吗?
  • 不是最新的 但是也比较新 processor SDK 版本 am335x-evm-linux-sdk-src-05.03.00.07尝试启动网口的错误打印信息在二楼。,请问我该怎么定位问题
  • 请问使用的是SDK里pre-built kernel吗?能否把ifconfig -a的log和dts文件发一下?
  • ifconfig
    home#:ifconfig
    eth0 Link encap:Ethernet HWaddr 38:D2:69:4F:EB:EF
    inet addr:192.168.1.182 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::3ad2:69ff:fe4f:ebef%92/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:382 errors:0 dropped:2 overruns:0 frame:0
    TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:29949 (29.2 KiB) TX bytes:9821 (9.5 KiB)
    Interrupt:44

    eth1 Link encap:Ethernet HWaddr 38:D2:69:4F:EB:F1
    inet6 addr: fe80::3ad2:69ff:fe4f:ebf1%92/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:586 (586.0 B)

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1%92/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)





    设备树修改成以下形式 ifconfig 是可以正常起来,

    &cpsw_emac0 {
    phy_id = <&davinci_mdio>, <0>;
    phy-mode = "mii";
    /* dual_emac_res_vlan = <1>; */
    };

    &cpsw_emac1 {
    phy_id = <&davinci_mdio>, <1>;
    phy-mode = "rgmii";
    /* dual_emac_res_vlan = <1>; */
    };


    &mac {
    pinctrl-names = "default", "sleep";
    pinctrl-0 = <&cpsw_default>;
    pinctrl-1 = <&cpsw_sleep>;
    dual_emac = <1>;
    status = "okay";

    };
  • root@xxxx home#:ifconfig eth1 up
    [ 673.680420] net eth1: initializing cpsw version 1.12 (0)
    [ 673.780622] Marvell 88E1510 4a101000.mdio:01: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=4a101000.mdio:01, irq=POLL)
    [ 673.796306] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
    root@xxxx home#:[ 677.052199] cpsw 4a100000.ethernet eth1: Link is Up - 1Gbps/Full - flow control rx/tx
    [ 677.060283] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready


    打印看起来都很正常 但是实际情况并不怎么好 网口的两个灯常亮 且网口的无法ping通 没有数据交流

    两个phy的 dual_emac_res_vlan = <1>; 应该怎么设置能让网口 独立工作 或者 其他地方的错误没有注意到?请指教

  • 请按照下面e2e上修改一下dts。
    e2e.ti.com/.../3122118