PRU does not start.

Hello.
I need help regarding PRU.
I tried to enable the PRU by a command below.

root@beaglebone:/sys/class/remoteproc/remoteproc1# echo ‘start’ > state
-bash: echo: write error: No such file or directory

But I get above result and PRU does not start.
I also tried sudo sh -c “echo ‘start’ > state” but I got an I/O error.

Please help me.
Below are related information.

debian@beaglebone:~$ dmesg |grep pru
[ 82.512558] pruss 4a300000.pruss: creating PRU cores and other child platform devices
[ 82.531307] remoteproc remoteproc1: 4a334000.pru is available
[ 82.531436] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully
[ 82.539513] remoteproc remoteproc2: 4a338000.pru is available
[ 82.539647] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a32600

[ 1864.134156] remoteproc remoteproc1: powering up 4a334000.pru
[ 1864.134336] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

root@beaglebone:/sys/class/remoteproc/remoteproc1# sudo /opt/scripts/tools/version.sh
git:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7]
eeprom:[A335BNLTBWA51712EW004500]
model:[TI_AM335x_BeagleBone_Black_Wireless]
dogtag:[BeagleBoard.org Debian Image 2018-10-07]
bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR]
kernel:[4.14.71-ti-r80]
nodejs:[v6.14.4]
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_video=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo]
uboot_overlay_options:[enable_uboot_cape_universal=1]
pkg check: to individually upgrade run: [sudo apt install --only-upgrade ]
pkg:[bb-cape-overlays]:[4.4.20180928.0-0rcnee0~stretch+20180928]
pkg:[bb-wl18xx-firmware]:[1.20180517-0rcnee0~stretch+20180517]
pkg:[kmod]:[23-2rcnee1~stretch+20171005]
pkg:[librobotcontrol]:[1.0.3-git20181005.0-0rcnee0~stretch+20181005]
pkg:[firmware-ti-connectivity]:[20170823-1rcnee1~stretch+20180328]
groups:[debian : debian adm kmem dialout cdrom floppy audio dip video plugdev users systemd-journal i2c bluetooth netdev cloud9ide gpio pwm eqep admin spi tisdk weston-launch xenomai]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk1p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet]
dmesg | grep pinctrl-single
[ 1.115968] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg | grep gpio-of-helper
[ 1.127852] gpio-of-helper ocp:cape-universal: ready
END

Your PRU isn’t running code so remoteproc has nothing to control. Either the firmware file is missing from /lib/firmware or it isn’t valid code.

Could you post the output of “dmesg | tail -40” so that we can see the other remoteproc related kernel messages?

Are you by any chance using pru-gcc? If yes, you would need to upgrade your kernel to 4.14.94-ti-r96 . If you are using clpru then you should be fine.

Regards,
Dimitar

I’m having the same issue and wondering if this was resolved? I’m getting the exact same error message when trying to start and here is my tail of dmesg

[ 86.179253] pruss 4a300000.pruss: creating PRU cores and other child platform devices

[ 86.211623] remoteproc remoteproc1: 4a334000.pru is available

[ 86.211753] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully

[ 86.219632] remoteproc remoteproc2: 4a338000.pru is available

[ 86.219765] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed successfully

[ 112.609040] remoteproc remoteproc1: powering up 4a334000.pru

[ 112.614874] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 112.614903] remoteproc remoteproc1: request_firmware failed: -2

[ 112.624747] remoteproc remoteproc1: Boot failed: -2

[ 120.185318] remoteproc remoteproc1: powering up 4a334000.pru

[ 120.185412] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 120.185431] remoteproc remoteproc1: request_firmware failed: -2

[ 120.197453] remoteproc remoteproc1: Boot failed: -2

[ 140.249570] remoteproc remoteproc1: powering up 4a334000.pru

[ 140.249661] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 140.249678] remoteproc remoteproc1: request_firmware failed: -2

[ 140.262930] remoteproc remoteproc1: Boot failed: -2

[ 189.299778] remoteproc remoteproc1: powering up 4a334000.pru

[ 189.299866] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 189.299884] remoteproc remoteproc1: request_firmware failed: -2

[ 189.311901] remoteproc remoteproc1: Boot failed: -2

[ 351.346600] remoteproc remoteproc1: powering up 4a334000.pru

[ 351.346699] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 351.346716] remoteproc remoteproc1: request_firmware failed: -2

[ 351.357944] remoteproc remoteproc1: Boot failed: -2

[ 376.604021] remoteproc remoteproc1: powering up 4a334000.pru

[ 376.604110] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 376.604128] remoteproc remoteproc1: request_firmware failed: -2

[ 376.615227] remoteproc remoteproc1: Boot failed: -2

[ 414.102771] remoteproc remoteproc1: powering up 4a334000.pru

[ 414.102862] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 414.102879] remoteproc remoteproc1: request_firmware failed: -2

[ 414.113818] remoteproc remoteproc1: Boot failed: -2

[ 620.182892] remoteproc remoteproc1: powering up 4a334000.pru

[ 620.182982] remoteproc remoteproc1: Direct firmware load for am335x-pru0-fw failed with error -2

[ 620.183003] remoteproc remoteproc1: request_firmware failed: -2

[ 620.193899] remoteproc remoteproc1: Boot failed: -2

Following the setup exactly in Exploring BBB D Molloy chp15