Home Forum Software discussion Wiki info for using musdk is broken

Viewing 1 post (of 1 total)
  • Author
    Posts
  • #6825
    warmcat
    Participant

    The current instructions at

    http://wiki.macchiatobin.net/tiki-index.php?page=Getting+Started+with+MUSDK

    do not work at all. The 17.04 kernel branch cannot accept the kernel patches that are part of the 17.04 musdk branch; some later versions of the patches in the 17.04 musdk tree are already applied to the 17.04 kernel tree creating conflicts.

    Using the 17.10 kernel branch + 17.10 musdk branch patches, which do apply, get an apparently working kernel which then chokes following the rest of the musdk wiki page flow.

    (The name of the e cho sample in musdk has also changed in 17.10 musdk, compared to the wiki page written for 17.04…)

    My test s cript is this

    # ! / bin/sh
    
    sudo insmod /lib/modules/musdk_uio.ko
    sudo insmod /lib/modules/mv_pp_uio.ko
    #sudo insmod /lib/modules/mv_sam_uio.ko
    
    sudo ifconfig eth0 up ; sudo ifconfig eth0 promisc
    sudo ifconfig eth1 up ; sudo ifconfig eth1 promisc
    
    sudo musdk_pp2_pkt_echo -i eth0,eth1 -c 1 -m f:1 --no-echo

    Under gdb…

    Starting program: /usr/local/bin/musdk_pp2_pkt_echo -i eth0,eth1 -c 1 -m f:1 –no-echo
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library “/lib/aarch64-linux-gnu/libthread_db.so.1”.
    pkt-echo is started in Bridge mode – SW buffer release – Tx Retry enabled
    Marvell Armada US (Build: Jun 3 2018 18:36:54)
    Global initializations …
    done
    Local initializations …
    pool-0:3: buff_size 384, num_buffs 4096
    pool-0:4: buff_size 2048, num_buffs 1024
    pool-1:3: buff_size 384, num_buffs 4096
    pool-1:4: buff_size 2048, num_buffs 1024
    [ERROR] pp2_port_rxqs_create: tc 0: num_in_qs: 1
    —- GOP ID 0 configuration —-
    Port mode : KR
    Link status : link up
    Port speed : 10G
    Port duplex : full
    [ERROR] pp2_port_rxqs_create: tc 0: num_in_qs: 1
    —- GOP ID 0 configuration —-
    Port mode : KR
    Link status : link up
    Port speed : 10G
    Port duplex : full
    done
    [New Thread 0x7fb5363200 (LWP 2373)]
    [New Thread 0x7fb4b22200 (LWP 2374)]
    [ERROR] pp2_ppio_recv: NULL rxq, qid 1
    [ERROR] pp2_ppio_recv: NULL rxq, qid 1
    [ERROR] pp2_ppio_recv: NULL rxq, qid 2
    [ERROR] pp2_ppio_recv: NULL rxq, qid 2

    The [ERROR] things are just my pr_err() in there for debugging.

    This forum won’t allow me to post the backtrace. It crashes in pp2_ppio_recv, drivers/ppv2/pp2_ppio.c:359.

    I am using the dts unchanged from the kernel commit. It seems to feel both eth0 and eth1 end up being GOP ID 0.

    And it seems to feel GOP ID 0 has only one rx queue, it seems to actually have 4. Because these other three are not initialized, when it receives something on a nonzero queue (qid is more than 0) it blows up.

    
            /* TODO: After validation, delete recv_req variable */
            log_rxq = port->tc[tc].first_log_rxq + qid;
            rxq = port->rxqs[log_rxq];
    

    I guess it does not extract the correct information from the kernel. But I only have a small diagnostic patch on top of musdk 982400481d6a0c855267b2974611ab26c5efcb1a (origin/musdk-armada-17.10) and exactly the commit 4961bb4f6abbd44de6f5cc06d11823cad14b2d12 (linux-4.4.52-armada-17.10) for the kernel pieces.

    So… the stuff on the current wiki page cannot be done; the patches do not apply. Replacing it with 17.10 kernel + musdk the result does not work.

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.

Technical specification tables can not be displayed on mobile. Please view on desktop