Troubles loading BB-BONE-REPLICAP

Hi! I’m trying to enable the PRUSS on my beaglebone running:
Debian Image 2015-11-12
and uname -r
4.1.13-ti-r35

After the boot-up dmesg gives me:

[ 15.756474] remoteproc1: Direct firmware load for am335x-pru0-fw failed with rror -2
[ 15.756559] remoteproc1: failed to load am335x-pru0-fw
[ 15.809366] pru-rproc 4a334000.pru0: booting the PRU core manually
[ 15.809408] remoteproc1: powering up 4a334000.pru0
[ 15.809495] remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2
[ 15.809512] remoteproc1: request_firmware failed: -2
[ 16.023483] pru-rproc 4a334000.pru0: rproc_boot failed

`
(this is the whole dmesg output)
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 4.1.13-ti-r35 (root@b3-jetson-tk1-2gb) (gcc version
4.9.2 (Debian 4.9.2-10) ) #1 SMP PREEMPT Thu Dec 3 20:56:01 UTC 2015
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructio
n cache
[ 0.000000] Machine model: TI AM335x BeagleBone Black
[ 0.000000] cma: Reserved 24 MiB at 0x9e000000
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] On node 0 totalpages: 130560
[ 0.000000] free_area_init_node: node 0, pgdat c0f9b480, node_mem_map df96d00 0
[ 0.000000] Normal zone: 1152 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 130560 pages, LIFO batch:31
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon )
[ 0.000000] PERCPU: Embedded 13 pages/cpu @df925000 s23104 r8192 d21952 u5324 8
[ 0.000000] pcpu-alloc: s23104 r8192 d21952 u53248 alloc=13*4096
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pag
es: 129408
[ 0.000000] Kernel command line: console=tty0 console=ttyO0,115200n8 bone_capemgr.enable_partno= BB-REPLICAP$
root=/dev/mmcblk0p2 rootfstype=ext4 rootwait coherent_pool=1M quiet cape_universal=enable
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 471124K/522240K available (10746K kernel code, 936K rwdata, 3712K rodata, 684K init, 901K bss, 26540K reserved, 24576K cma-reserved, 0K h ighmem)
[ 0.000000] Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc0e26b7c (14459 kB)
.init : 0xc0e27000 - 0xc0ed2000 ( 684 kB)
.data : 0xc0ed2000 - 0xc0fbc1ac ( 937 kB)
.bss : 0xc0fbf000 - 0xc10a0618 ( 902 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[ 0.000000] RCU restricting CPUs from NR_CPUS=2 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 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] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000014] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000036] clocksource timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000050] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000427] Console: colour dummy device 80x30
[ 0.000582] console [tty0] enabled
[ 0.000607] WARNING: Your ‘console=ttyO0’ has been replaced by ‘ttyS0’
[ 0.000616] This ensures that you still see kernel messages. Please
[ 0.000624] update your kernel commandline.
[ 0.000646] Calibrating delay loop… 996.14 BogoMIPS (lpj=4980736)
[ 0.088767] pid_max: default: 32768 minimum: 301
[ 0.088947] Security Framework initialized
[ 0.089033] AppArmor: AppArmor disabled by boot time parameter
[ 0.089044] Yama: becoming mindful.
[ 0.089265] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.089280] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.090214] Initializing cgroup subsys blkio
[ 0.090245] Initializing cgroup subsys memory
[ 0.090299] Initializing cgroup subsys devices
[ 0.090319] Initializing cgroup subsys freezer
[ 0.090345] Initializing cgroup subsys net_cls
[ 0.090363] Initializing cgroup subsys perf_event
[ 0.090380] Initializing cgroup subsys net_prio
[ 0.090443] CPU: Testing write buffer coherency: ok
[ 0.090508] ftrace: allocating 34883 entries in 103 pages
[ 0.184520] CPU0: thread -1, cpu 0, socket -1, mpidr 0
[ 0.184654] Setting up static identity map for 0x80008280 - 0x800082d8
[ 0.238852] Brought up 1 CPUs
[ 0.238881] SMP: Total of 1 processors activated (996.14 BogoMIPS).
[ 0.238891] CPU: All CPU(s) started in SVC mode.
[ 0.239820] devtmpfs: initialized
[ 0.259000] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.279923] omap_hwmod: tptc0 using broken dt data from edma
[ 0.280161] omap_hwmod: tptc1 using broken dt data from edma
[ 0.280377] omap_hwmod: tptc2 using broken dt data from edma
[ 0.286346] omap_hwmod: debugss: _wait_target_disable failed
[ 0.341203] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.343367] xor: measuring software checksum speed
[ 0.438863] arm4regs : 1219.600 MB/sec
[ 0.538793] 8regs : 1092.400 MB/sec
[ 0.638795] 32regs : 1082.800 MB/sec
[ 0.738793] neon : 1674.000 MB/sec
[ 0.738803] xor: using function: neon (1674.000 MB/sec)
[ 0.738968] pinctrl core: initialized pinctrl subsystem
[ 0.741108] NET: Registered protocol family 16
[ 0.744880] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[ 0.768841] cpuidle: using governor ladder
[ 0.798823] cpuidle: using governor menu
[ 0.804015] OMAP GPIO hardware version 0.1
[ 0.818747] No ATAGs?
[ 0.818890] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.821007] omap4_sram_init:Unable to allocate sram needed to handle errata I 688
[ 0.821031] omap4_sram_init:Unable to get sram pool needed to handle errata I 688
[ 1.028984] raid6: int32x1 gen() 234 MB/s
[ 1.198949] raid6: int32x1 xor() 176 MB/s
[ 1.368997] raid6: int32x2 gen() 304 MB/s
[ 1.538909] raid6: int32x2 xor() 199 MB/s
[ 1.709013] raid6: int32x4 gen() 283 MB/s
[ 1.878894] raid6: int32x4 xor() 202 MB/s
[ 2.049008] raid6: int32x8 gen() 286 MB/s
[ 2.218869] raid6: int32x8 xor() 187 MB/s
[ 2.388809] raid6: neonx1 gen() 1464 MB/s
[ 2.558819] raid6: neonx2 gen() 1884 MB/s
[ 2.728812] raid6: neonx4 gen() 1925 MB/s
[ 2.898823] raid6: neonx8 gen() 812 MB/s
[ 2.898832] raid6: using algorithm neonx4 gen() 1925 MB/s
[ 2.898842] raid6: using intx1 recovery algorithm
[ 2.908929] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 2.912556] vgaarb: loaded
[ 2.913357] SCSI subsystem initialized
[ 2.913773] libata version 3.00 loaded.
[ 2.914169] usbcore: registered new interface driver usbfs
[ 2.914253] usbcore: registered new interface driver hub
[ 2.914370] usbcore: registered new device driver usb
[ 2.915032] omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wk up@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
[ 2.915096] omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wk up@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
[ 2.915256] pps_core: LinuxPPS API ver. 1 registered

Hi! I’m trying to enable the PRUSS on my beaglebone running:
Debian Image 2015-11-12
and uname -r
4.1.13-ti-r35

After the boot-up dmesg gives me:

[ 15.756474] remoteproc1: Direct firmware load for am335x-pru0-fw failed with rror -2
[ 15.756559] remoteproc1: failed to load am335x-pru0-fw
[ 15.809366] pru-rproc 4a334000.pru0: booting the PRU core manually
[ 15.809408] remoteproc1: powering up 4a334000.pru0
[ 15.809495] remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2
[ 15.809512] remoteproc1: request_firmware failed: -2
[ 16.023483] pru-rproc 4a334000.pru0: rproc_boot failed

Are you sure you have am335x-pru0-fw in your /lib/firmware folder?

These need to be built from here:

https://git.ti.com/pru-software-support-package

After building examples/am335x/PRU_RPMsg_Echo_Interrupt0 the output is renamed to am335x-pru0-fw and placed in the /lib/firmware folder.

Regards,
John

I placed the .o file renamed as am335-pru1-fw but dmesg still gives me the same warning… and I get the same I/O error when trying to load BB-REPLICAP, but it seems like cape-universaln is loaded at boot but is not in cat /boot/uenv.txt,if I try to remove it the beaglebone reboots

YOu have an extra space: bone_capemgr.enable_partno= BB-REPLICAP

[ 0.000000] Kernel command line: console=tty0
console=ttyO0,115200n8 bone_capemgr.enable_partno= BB-REPLICAP$
root=/dev/mmcblk0p2 rootfstype=ext4 rootwait coherent_pool=1M quiet
cape_universal=enable

get rid of it..

Remove "cape_universal=enable" from /boot/uEnv.txt and you won't

btw, replicape was setup to use uio-pruss, so change from the ti kernel to:

sudo apt-get update ; sudo apt-get install linux-image-4.1.14-bone17 ;
sudo reboot

till it's upgrade for remoteproc_prus..

Regards,

Have you tried the Kamikaze image that is setup for the Replicape?

http://wiki.thing-printer.com/index.php?title=Kamikaze