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.

Linux/66AK2E05: K2E EVM error: netcp: Could not open DMA queue for channel "tx-pipe-2620110": 0 ; eth0 is down in Linux

Part Number: 66AK2E05

Tool/software: Linux

Hi,

As a follow-up of the question I posted here:

https://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/610616/2253544#2253544

I tried booting up using "env default -f -a" and in "name_fs", I used "k2-fw-initrd.cpio.gz" instead of "arago-console-image-k2e-evm.cpio.gz" and just loaded "k2-fw-initrd.cpio.gz" and did not use "arago-console-image-k2e-evm.cpio.gz".

The bootcmd in "env default -f -a" is :  

bootcmd=run init_${boot} get_mon_${boot} run_mon init_fw_rd_${boot} get_fdt_${boot} get_kern_${boot} run_kern

The env I have is as below:

=> printenv
addr_mon=0x87000000
addr_secdb_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=0x808080000,80M
args_ubi=setenv bootargs ${bootargs} rootfstype=ubifs root=ubi0:rootfs rootflags=sync rw ubi.mtd=ubifs,2048
baudrate=115200
board=ks2_evm
board_name=ks2_evm
boot=ramfs
boot_fdt=try
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=nand erase.part ubifs; nand write ${addr_ubi} ubifs ${filesize}
burn_uboot_nand=nand erase 0 0x100000; nand write ${loadaddr} 0 ${filesize}
burn_uboot_spi=sf probe; sf erase 0 0x90000; sf write ${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}; run set_rd_spec

init_fw_rd_nfs=nfs ${rdaddr} ${nfs_root}/boot/${name_fw_rd}; run set_rd_spec

init_fw_rd_ramfs=setenv rd_spec -

init_fw_rd_ubi=ubifsload ${rdaddr} ${bootdir}/${name_fw_rd}; run set_rd_spec

init_net=run args_all args_net
init_nfs=setenv autoload no; dhcp; run args_all args_net
init_ramfs=run args_all args_ramfs get_fs_ramfs
init_ubi=run args_all args_ubi; ubi part ubifs; ubifsmount ubi:rootfs;
kernel_addr_r=0x82000000
loadaddr=0x82000000
mem_lpae=1
mtdparts=mtdparts=davinci_nand.0:1024k(bootloader)ro,512k(params)ro,-(ubifs)
name_fdt=keystone-k2e-evm.dtb
name_fs=k2-fw-initrd.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
rdaddr=0x88080000
run_kern=bootz ${loadaddr} ${rd_spec} ${fdtaddr}
run_mon=mon_install ${addr_mon}
scriptaddr=0x80000000
set_rd_spec=setenv rd_spec ${rdaddr}:${filesize}
soc=keystone
tftp_root=/
vendor=ti

Environment size: 3209/262140 bytes
=>

But, I got error "Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)". So, should I use both "k2-fw-initrd.cpio.gz" and"arago-console-image-k2e-evm.cpio.gz"?

If so, how should I run "k2-fw-initrd.cpio.gz"? Currently, in default env, init_fw_rd_ramfs is set as setenv rd_spec -.

So, should I initialize it as below:

init_fw_rd_ramfs=dhcp ${rdaddr} ${tftp_root}/${name_fw_rd}; run set_rd_spec.

Please let me know any changes to be made to " env default -f -a" to tftp both "k2-fw-initrd.cpio.gz" and"arago-console-image-k2e-evm.cpio.gz" images and run them and make linux kernel boot up and eth0 working.

Regards,

Ashwini

  • Hi Ashwini,

    I've forwarded this to the Linux experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Hi,

    I initialized "init_fw_rd_ramfs" as below and used both "k2-fw-initrd.cpio.gz" and "arago-console-image-k2e-evm.cpio.gz".

    init_fw_rd_ramfs=dhcp ${rdaddr} ${tftp_root}/${name_fw_rd}; run set_rd_spec.
    name_fs= arago-console-image-k2e-evm.cpio.gz

    But still got error : 17.472046] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0).

    Please let me know what changes to be done and what files to be used in "env default -f -a" in Uboot to get the Linux kernel UP and ethernet(eth0) working.

  • Hi, Ashwini,

    Just browsing through your post and previous one. There are several issues I saw in your bring up effort.
    1) the kernel and file system shouldn't be mix-matched. If you are doing it, take them from the same release
    2) k2-fw-initrd.cpio.gz is the firmware drivers and can't be used as filesystem as specified by name_fs
    3) I assume you generate the arago cpio.gz file from arago tar.xz file. The args_ramfs specifies the size for the file system. 80M is not enough for arago file system. You need to increase it to solve it if there isn't any other issues.

    I haven't gone through the details of your logs, but want to give some thoughts on those obviously wrong.

    Rex
  • Hi Rex,

    I built kernel image(zImage) from ti-processor-sdk-linux-rt-k2e-evm-03.03.00.04.
    So, should i generate arago cpio.gz file from ti-processor-sdk-linux-rt-k2e-evm-03.03.00.04/filesystem/arago-base-tisdk-image-k2e-evm.tar.xz?

    If so, how to generate cpio.gz from tar.xz?
    Also, please let me know how to use k2-fw-initrd.cpio.gz in bootcmd because without it, I guess, eth0 will not be up.

  • Hi, Ashwini,

    I am exercise it now, please give me time to verify it as well. You need to extract arago file system first, then run cpio then gzip commands to archive the file system. I think for ramfs boot, the k2-fw-initrd is in the file system under /boot directory. For net boot, it needs to download first because the filesystem is not available when kernel boots. That is the difference, and also you can mix-match filesystem and kernel, specially MCSDK and ProcSDK because k2-fww-initrd is not existed in the filesystem, or the whole /boot contents are not in MCSDK file system.

    I'll post back afterI verify it.

    Rex
  • Ok Thanks Rex. Keep me posted after you verify.
  • Hi, Ashwini,

    I noticed that the arago file system does not have k2-fw-initrd in /boot directory, so I need to copy it from tisdk-server-rootfs. Here is the history for generating cpio file.

    2241 cd work/ti-processor-sdk-linux-k2e-evm-03.03.00.04/filesystem/
    2243 mkdir arago
    2244 cd arago
    2246 tar xvf ../arago-base-tisdk-image-k2e-evm.tar.xz
    2259 cd boot
    2261 cp ~/tftpboot/psdk3304-k2e/k2-fw-initrd.cpio.gz .
    2262 cd ..
    2266 find . | sudo cpio -H newc -o -O ../arago.cpio
    2267 cd ..
    2268 gzip arago.cpio
    2269 cp arago.cpio.gz ~/tftpboot/psdk3304-k2e/.
    2270 history


    Below are the u-boot environment variables I changed. I have tftp_root set to psdk3304-k2e

    =>
    => setenv boot ramfs
    => pri args_ramfs
    args_ramfs=setenv bootargs ${bootargs} rdinit=/sbin/init rw root=/dev/ram0 initrd=0x808080000,80M
    => setenv args_ramfs 'setenv bootargs ${bootargs} rdinit=/sbin/init rw root=/dev/ram0 initrd=0x808080000,90M'
    => setenv name_fs arago.cpio.gz
    => boot

    snippets of boot logs:

    [ 3.945867] keystone_irq soc:keystone_irq@26202a0: irqchip registered, nr_irqs 28
    [ 3.946218] ti,keystone-serdes 2326000.phy: init fw ks2_pcie_serdes.bin: version 3.3.0.2c
    [ 3.947069] ti,keystone-serdes 232a000.phy: init fw ks2_gbe_serdes.bin: version 3.3.0.2c
    [ 3.949401] PCI host bridge /soc/pcie@21020000 ranges:
    [ 3.949410] No bus range found for /soc/pcie@21020000, using [bus 00-ff]
    [ 3.949427] MEM 0x60000000..0x6fffffff -> 0x60000000
    [ 3.950746] keystone-pcie 21021000.pcie: PCI host bridge to bus 0000:00
    [ 3.966997] keystone-navigator-qmss soc:qmss@2a40000: qmgr start queue 0, number of queues 8192
    [ 3.967123] keystone-navigator-qmss soc:qmss@2a40000: added qmgr start queue 0, num of queues 8192, reg_peek f0b40000, reg_status f08fc000, reg_config f08fe000, reg_region f0b02000, reg_push f0b80000, reg_pop f0bc0000
    [ 3.967429] keystone-navigator-qmss soc:qmss@2a40000: firmware file ks2_qmss_pdsp_acc48.bin downloaded for pdsp0
    [ 3.967504] keystone-navigator-qmss soc:qmss@2a40000: firmware file ks2_qmss_pdsp_qos.bin downloaded for pdsp3
    [ 3.967573] keystone-navigator-qmss soc:qmss@2a40000: firmware file ks2_qmss_pdsp_qos.bin downloaded for pdsp7
    [ 3.968581] keystone-navigator-qmss soc:qmss@2a40000: qos: sched port @8096, drop sched @8000
    [ 3.970177] keystone-navigator-qmss soc:qmss@2a40000: qos: sched port @6496, drop sched @6400
    [ 3.972298] keystone-navigator-qmss soc:qmss@2a40000: qos version 0x200010b, magic valid
    [ 3.972840] keystone-navigator-qmss soc:qmss@2a40000: qos version 0x200010b, magic valid
    [ 3.973912] keystone-navigator-dma soc:knav_dmas@0: DMA dma_gbe registered 149 logical channels, flows 128, tx chans: 21, rx chans: 91
    [ 3.974030] keystone-navigator-dma soc:knav_dmas@0: DMA dma_xgbe registered 48 logical channels, flows 32, tx chans: 16, rx chans: 16
    [ 4.021133] Serial: 8250/16550 driver, 10 ports, IRQ sharing disabled
    [ 4.021213] platform serial8250: set dma_pfn_offset00780000
    [ 4.023800] console [ttyS0] disabled
    [ 5.163061] spi_davinci 21000800.spi: Controller at 0xf0b6a800
    [ 5.169483] platform Fixed MDIO bus.0: set dma_pfn_offset00780000
    [ 5.175711] libphy: Fixed MDIO Bus: probed
    [ 5.225498] davinci_mdio 24200f00.mdio: davinci mdio revision 1.7
    [ 5.231584] libphy: 24200f00.mdio: probed
    [ 5.241073] davinci_mdio 24200f00.mdio: phy[0]: device 24200f00.mdio:00, driver Marvell 88E1510
    [ 5.249780] davinci_mdio 24200f00.mdio: phy[1]: device 24200f00.mdio:01, driver Marvell 88E1510
    [ 5.259057] ti,keystone-serdes 232a000.phy: Requested PHY is disabled
    [ 7.276993] serdes PLL not locked
    [ 7.792538] ti,keystone-serdes 232a000.phy: Requested PHY is disabled

    [ 9.811798] serdes PLL not locked
    [ 12.339389] serdes PLL not locked
    [ 14.866711] serdes PLL not locked
    [ 17.393724] serdes PLL not locked
    [ 19.921025] serdes PLL not locked
    [ 20.436305] netcp-1.0 2620110.netcp: cpts: overflow check period 300
    [ 20.442655] netcp-1.0 2620110.netcp: CPTS: ref_clk_freq:625000000 calc_mult:3435973837 calc_shift:31 error:0 nsec/sec
    [ 20.453276] netcp-1.0 2620110.netcp: initialized cpsw ale version 1.4
    [ 20.459722] netcp-1.0 2620110.netcp: ALE Table size 8192
    [ 20.466549] netcp-1.0 2620110.netcp: module(netcp-xgbe) not used for device
    [ 20.473518] netcp-1.0 2620110.netcp: module(netcp-pa) not used for device
    [ 20.480356] netcp-1.0 2620110.netcp: No ip-lut-ranges array in dt bindings for PA
    [ 20.489576] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 0
    [ 20.497888] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 1
    [ 20.506162] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 2
    [ 20.514420] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 3
    [ 20.522692] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 4
    [ 20.531005] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 5
    [ 20.539278] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 6
    [ 20.547556] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 7
    [ 20.555828] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 8
    [ 20.564082] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 9
    [ 20.572348] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 10
    [ 20.580704] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 11
    [ 20.589057] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 12
    [ 20.597410] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 13
    [ 20.605763] netcp-1.0 2620110.netcp: Using PA fw version 03.00.02.01:0x03000201 for pdsp 14
    [ 20.614527] netcp-1.0 2620110.netcp: rx_chan_name netrx0-pa for port 1
    [ 20.621078] netcp-1.0 2620110.netcp: rx_chan_name netrx1-pa for port 2

    [ OK ] Started rng-tools.service.
    Starting thermal-zone-init.service...
    [ OK ] Started thermal-zone-init.service.
    [ 24.955484] netcp-1.0 2620110.netcp eth0: Link is Down
    [ 27.745851] netcp-1.0 2620110.netcp eth0: Link is Up - 1Gbps/Full - flow control off
    [ 27.753594] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

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

    Arago Project http://arago-project.org k2e-evm ttyS0

    Arago 2016.12 k2e-evm ttyS0

    k2e-evm login: root
  • Hi, Ashwini,

    I assume your issue has been resolved. If that is the case, could you click verified answer button. If you have new issues, please submit a new thread. Thanks!

    Rex
  • Hi Rex,

    Thanks, I tried this today and it worked. 

    Thanks for your help.