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.

[参考译文] EVMK2EX:K2E EVM 错误:netcp:无法打开通道"TX-PIPE-2620110": 0;eth0在 Linux 中关闭

Guru**** 2559830 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/610616/evmk2ex-k2e-evm-error-netcp-could-not-open-dma-queue-for-channel-tx-pipe-2620110-0-eth0-is-down-in-linux

器件型号:EVMK2EX

我将   使用 SDK ti-processor-sdk-linux-rt-k2e-evm-03.03.00.04中的这些预构建组件通过 tftp 和 ramfs 启动 Keystone 2 66AK2Ex 板。

 电路板支持/预构建图像/zImage-k2e-evm.bin
 电路板支持/预构建图像/skern-k2e.bin
 从 MCSDK 获取的电路板支持/预构建映像/keystone-k2e-evm.dTB 和 gzippio 存档(arago-console-image-k2e-evm.cpio.gz)。

Linux 引导、但 eth0已关闭。

如果我尝试使 eth0启动、则会出现错误"netcp: Could not open DMA queue for channel "TX-PIPE-2620110":0"。

root@k2e-EVM:~# ifconfig eth0 up
[115.289196] netcp-1.0 2620110.netcp eth0:链路断开
[115.294913] pps pps0:新 PPS 源 ptp0
[115.298988] netcp-1.0 2620110.netcp:无法打开通道"TX-PIPE-2620110"的 DMA 队列:0
[115.307641] Net eth0:模块打开失败
ifconfig:SIOCSIFFLAGS:无此类设备

我使用默认的 env 在 U-boot 下引导、并将 boot 设置为 ramfs 和 TFTP 服务器 IP。

=> env 默认-f -a
##重置为默认环境

=>印刷版
Addr_mon=0x87000000
Addr_sectiondb_key=0xc000000
ADDR_ubi=0x82000000
arch = ARM
args_all=setenv bootargs console=ttyS0、115200n8 rootwait=1
args_net=setenv bootargs ${bootargs}rootfstype=NFS root=/dev/nfs rw nfsroot=${serverip}:${nfs_root}、${nfs_options}ip=dhcp
args_ramfs=setenv bootargs ${bootargs}rdinit=/sbin/init rw root=/dev/ram0 initrd=0x8080000,80M
args_ubi=setenv bootargs ${bootargs}rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs、2048
波特率=115200
board=ks2_evm
board_name=ks2_EVM
boot=ramfs
BOOT_FDT=尝试
bootcmd=run init_${boot}get_mon_${boot}run_mon init_fw_rd_${boot}get_FDT_${boot}get_kern_${boot}run_kern >>>
BOOTDELAY=2
bootdir=/boot
BOOTM_SIZE=0x10000000
burn_ubi=n 和 erase.part ubifs;n 并写入${addr_ubi}ubifs ${filesize}
burn_uboot_nAND_AND = n 并擦除0 0x100000;n 并写入${loadaddr}0 ${filesize}
burn_uboot_SPI=SF 探测器;SF 擦除0 0x90000;SF 写入${loadaddr}0 ${filesize}
CPU=armv7
FDT_addr_r=0x88000000
fdtaddr=0x88000000
get_FDT_net=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_NFS=NFS ${fdtaddr}${nfs_root}/boot/${name_FDT}
get_FDT_ramfs=DHCP ${fdtaddr}${tftp_root}/${name_FDT}
get_FDT_ubi=ubifsload ${fdtaddr}${bootdir}/${name_FDT}
get_fs_ramfs=DHCP ${rdaddr}${tftp_root}/${name_fs}
get_kern_net=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_kern}
get_kern_ramfs=DHCP ${loadaddr}${tftp_root}/${name_kern}
get_kern_ubi=ubifsload ${loadaddr}${bootdir}/${name_kern}
get_mon_net=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_nfs=nfs ${addr_mon}${nfs_root}/boot/${name_mon}
get_mon_ramfs=DHCP ${addr_mon}${tftp_root}/${name_mon}
get_mon_ubi=ubifsload ${addr_mon}${bootdir}/${name_mon}
get_ubi_net=DHCP ${addr_ubi}${tftp_root}/${name_ubi}
get_ubi_nfs=nfs ${addr_ubi}${nfs_root}/boot/${name_ubi}
get_uboot_net=DHCP ${loadaddr}${tftp_root}/${name_uboot}
get_uboot_nfs=nfs ${loadaddr}${nfs_root}/boot/${name_uboot}
init_fw_rd_net=DHCP ${rdaddr}${tftp_root}/${name_fw_rd};运行 set_rd_spec
init_fw_rd_nfs=nfs ${rdaddr}${nfs_root}/boot/${name_fw_rd};运行 set_rd_spec
init_fw_rd_ramfs=setenv rd_spec -
init_fw_rd_ubi=ubifsload ${rdaddr}${bootdir}/${name_fw_rd};运行 set_rd_spec
init_net=run args_all args_net
init_nfs=setenv 自动载入否;dhcp;运行 args_all args_net
init_ramfs=run args_all args_ramfs get_fs_ramfs
init_ubi=run args_all args_ubi;ubi 零件子项;ubifsmount ubi:rootfs;
kernel_addr_r=0x82000000
loadaddr=0x82000000
MEM_Lpae=1
mtdparts=mtdparts=Davinci_nand.0:1024k (引导加载程序) ro、512K (params) ro、-(ubifs)
NAME_FDT=keystone-k2e-evm.dtb
NAME_FS=arago-console-image-k2e-evm.cpio.gz
NAME_FW_rd = k2-fw-initrd.cpio.gz
name_kern=zImage
name_mon=skern-k2e.bin
name_ubi=k2e-evm-ubifs.ubi
name_uboot=u-boot-spi-k2e-evm.gph
nfs_options=v3、tcp、rsize=4096、wsize=4096
nfs_root=/export
NO_POST=1
pxefile_addr_r=0x80100000
ramdisk_addr_r=0x88080000
读数地址= 0x88080000
run_kern=bootz ${loadaddr}${rd_spec}${fdtaddr}
run_mon=mon_install ${addr_mon}
脚本地址=0x80000000
set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}
SoC= KeyStone
TFTP_ROOT=/
供应商= TI

我是否应该使用"K2-FW-initrd.cpio.gz"文件?  

我在这里看到一张类似的票、Soln 提供了:

https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/519725

如果我必须使用"K2-FW-initrd.cpio.gz"、您能解释一下如何将 k2-fw-initrd.cpio.gz 整合到 ramfs 引导序列中。 默认 ramfs 引导变量似乎省略了此文件:

init_fw_rd_ramfs-=setenv rd_spec -

可以帮帮你吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    [引用]我是否应该使用"K2-FW-initrd.cpio.gz"文件? [/报价]
    是的、您应该这样做。 此文件包含 NetCP 和 PCIe 驱动程序所需的 K2 SerDes 和 QMSS 累加器固件。 这些驱动程序基于内核4.4.4.41构建、内核4.4.4.41是 ti-processor-sdk-linux-rt-k2e-evm-03.03.00.04的一部分。 固件现在未内置到内核中。 而是在 k2-fw-initrd.cpio.gz initramfs 中提供这些命令,这些命令作为 bootz 命令的一部分从 u-boot 传递到内核,用于驱动程序,这些驱动程序在引导过程中需要它们的时间很早,最后的 rootfs 才可用。
    您当前使用的文件(arago-console-image-k2e-evm.cpio.gz)是针对旧版内核构建的、您可能会遇到兼容性问题且固件未正确加载、因此会显示以下消息:
    [115.289196] netcp-1.0 2620110.netcp eth0:链路断开

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    谢谢。
    因此、在默认 Uboot env 中的"name_fs"中、我应该使用"k2-fW-initrd.cpio.gz"而不是"arago-console-image-k2e-evm.cpio.gz"、只需加载"k2-fW-initrd.cpio.gz"、而根本不使用"arago-console-gme-gz.gz"? 还是两者都是必需的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉耽误你的时间。

    k2-fw-initrd.cpio.gz 就足够了。

    此致、
    Yordan