PRU remoteproc[12] not appearing under /sys/class/remoteproc/

532 views
Skip to first unread message

eth...@uw.edu

unread,
Apr 9, 2019, 10:06:45 PM4/9/19
to BeagleBoard

I've just set up a new Debian 9.5 (kernel 14.4.71-ti-r80) image and made the following changes to /boot/uEnv.txt:

disable_uboot_overlay_video=1
uboot_overlay_pru
=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo

I've also disabled loading of the uio modules. (/etc/modprobe.d/pruss-blacklist.conf)
blacklist uio
blacklist uio_pdrv_genirq

However, I don't see any evidence that the rproc module has loaded the PRU:
"uio\|pru"

Specifically, there is no module for the PRU in /sys/class/remoteproc/. remoteproc0 appears, but this is for the M3 power management unit.

Am I doing anything wrong? or is there an additional step to allow use of the PRUs? What should I look at to debug this issue?

eth...@uw.edu

unread,
Apr 11, 2019, 3:52:15 PM4/11/19
to BeagleBoard
Looks like Google groups cut off the diagnostic information. Here's my lack of evidence that rproc loaded the PRU:
debian@beaglebone:/var/lib/cloud9$ lsmod | grep "pru\|uio"
pru_rproc              
28672  0
pruss                  
16384  1 pru_rproc
pruss_intc            
16384  1 pru_rproc
debian@beaglebone
:/var/lib/cloud9$ dmesg | grep "pru\|uio"
debian@beaglebone
:/var/lib/cloud9$ ls /sys/class/remoteproc/
remoteproc0


Robert Nelson

unread,
Apr 11, 2019, 4:18:22 PM4/11/19
to Beagle Board, eth...@uw.edu
Please run this command and share the output:

sudo /opt/scripts/tools/version.sh

Regards,

--
Robert Nelson
https://rcn-ee.com/

eth...@uw.edu

unread,
Apr 11, 2019, 5:25:30 PM4/11/19
to BeagleBoard
Hi Robert,

Here's the output:
debian@beaglebone:/var/lib/cloud9$ sudo /opt/scripts/tools/version.sh
git
:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7]
]eprom:[A335BNLTBBG036Q
model
:[TI_AM335x_BeagleBone_Black]
dogtag
:[BeagleBoard.org Debian Image 2018-10-07]
bootloader
:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR]
bootloader
:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2016.03-00001-gd12d09f]:[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
:[disable_uboot_overlay_audio=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>]
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 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet]
dmesg
| grep pinctrl-single
[    1.039228] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg
| grep gpio-of-helper
[    1.040791] gpio-of-helper ocp:cape-universal: ready
END

Thanks!

Robert Nelson

unread,
Apr 11, 2019, 5:41:20 PM4/11/19
to Beagle Board, eth...@uw.edu
On Thu, Apr 11, 2019 at 4:25 PM <eth...@uw.edu> wrote:
>
> Hi Robert,
>
> Here's the output:
> debian@beaglebone:/var/lib/cloud9$ sudo /opt/scripts/tools/version.sh
> git:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7]
> ]eprom:[A335BNLTBBG036Q

I'm a little worried about your eeprom value, it's a BeagleBone Black
board right???

> model:[TI_AM335x_BeagleBone_Black]
> dogtag:[BeagleBoard.org Debian Image 2018-10-07]
> bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2018.09-00002-g0b54a51eee]:[location: dd MBR]
> bootloader:[eMMC-(default)]:[/dev/mmcblk1]:[U-Boot 2016.03-00001-gd12d09f]:[location: dd MBR]

Your version of u-boot in the eMMC is too old, thus blocking u-boot
overlays from working..

Just run:

sudo dd if=/dev/zero of=/dev/mmcblk1 bs=1M count=10

and reboot.

eth...@uw.edu

unread,
Apr 11, 2019, 6:54:32 PM4/11/19
to BeagleBoard
Zeroing out that part of the eMMC fixed the issue, thanks so much!

And yes, I am running a BeagleBone Black although it might be very old and has probabaly been used on different projects. It's colored black and there's only one sticker on the ethernet port and it says "5V Rev C". Also, the board only has a beagleboard.org logo in the silkscreen where the beaglebone logo appears in newer models, and there is no logo above the USB port. Additionally, the memory is manufactured by Kingston.

For others reading this, here's the new version.sh output. What's strange is that it now reports being a BeagleBone Green despite definitely being colored black.
debian@beaglebone:/var/lib/cloud9$ sudo /opt/scripts/tools/version.sh
git
:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7]
]eprom:[
A335BNLTBBG036Q
model
:[TI_AM335x_BeagleBone_Green]

dogtag
:[BeagleBoard.org Debian Image 2018-10-07]
bootloader
:[microSD-(push-button)]:[/dev/mmcblk0]:[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
:[disable_uboot_overlay_audio=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>]
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/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet]
dmesg
| grep pinctrl-single
[    1.103422] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg
| grep gpio-of-helper
[    1.115386] gpio-of-helper ocp:cape-universal: ready
END


Robert Nelson

unread,
Apr 11, 2019, 7:41:08 PM4/11/19
to Beagle Board, eth...@uw.edu
On Thu, Apr 11, 2019 at 5:54 PM <eth...@uw.edu> wrote:
>
> Zeroing out that part of the eMMC fixed the issue, thanks so much!
>
> And yes, I am running a BeagleBone Black although it might be very old and has probabaly been used on different projects. It's colored black and there's only one sticker on the ethernet port and it says "5V Rev C". Also, the board only has a beagleboard.org logo in the silkscreen where the beaglebone logo appears in newer models, and there is no logo above the USB port. Additionally, the memory is manufactured by Kingston.
>
> For others reading this, here's the new version.sh output. What's strange is that it now reports being a BeagleBone Green despite definitely being colored black.
> debian@beaglebone:/var/lib/cloud9$ sudo /opt/scripts/tools/version.sh
> git:/opt/scripts/:[1aa73453b2c980b75e31e83dab7dd8b6696f10c7]
> ]eprom:[A335BNLTBBG036Q
> model:[TI_AM335x_BeagleBone_Green]

So what you have is a mis-programmed BeagleBone Black from GHI

To fix this, run these commands:

1st: update the files in this local repo:

debian@test-bbb-2:~$ cd /opt/scripts/
debian@test-bbb-2:/opt/scripts$ git pull

2nd, Take a wire and Connect TP4 (between Ethernet and Barrel Plug) to GND

3rd as "root" run this "one line" dd command (between #########).. (as
gmail/google and most email mailers will word wrap it in 2 or 3 lines,
but it's one line)

##########
dd if=/opt/scripts/device/bone/bbb-eeprom.dump
of=/sys/devices/platform/ocp/44e0b000.i2c/i2c-0/0-0050/eeprom
##########

and reboot...

eth...@uw.edu

unread,
Apr 11, 2019, 8:57:56 PM4/11/19
to BeagleBoard
I've updated the eeprom, ensuring TP4 is grounded while the eeprom is flashed. Everything looks correct now. Thanks again!

debian@beaglebone:/var/lib/cloud9$ sudo /opt/scripts/tools/version.sh                                                                                                                                                            

git
:/opt/scripts/:[9df8deb6b2ae7570c9102ab58f795d3bed592194]
eeprom
:[A335BNLT000CyywwBBoxxxx]
model
:[TI_AM335x_BeagleBone_Black]

dogtag
:[BeagleBoard.org Debian Image 2018-10-07]
bootloader
:[microSD-(push-button)]:[/dev/mmcblk0]:[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
:[disable_uboot_overlay_audio=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>]
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/mmcblk0p1 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet]

dmesg
| grep remote
[    1.453518] remoteproc remoteproc0: wkup_m3 is available
[    1.534952] remoteproc remoteproc0: powering up wkup_m3
[    1.535074] remoteproc remoteproc0: Booting fw image am335x-pm-firmware.elf, size 217168
[    1.539499] remoteproc remoteproc0: remote processor wkup_m3 is now up
[   97.943644] remoteproc remoteproc1: 4a334000.pru is available
[   97.945495] remoteproc remoteproc2: 4a338000.pru is available
dmesg
| grep pru
[   97.922748] pruss 4a300000.pruss: creating PRU cores and other child platform devices
[   97.943644] remoteproc remoteproc1: 4a334000.pru is available
[   97.943770] pru-rproc 4a334000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@34000 probed successfully
[   97.945495] remoteproc remoteproc2: 4a338000.pru is available
[   97.945604] pru-rproc 4a338000.pru: PRU rproc node /ocp/pruss_soc_bus@4a326004/pruss@0/pru@38000 probed successfully
dmesg
| grep pinctrl-single
[    1.104119] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
dmesg
| grep gpio-of-helper
[    1.116293] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END


hugh....@gmail.com

unread,
May 7, 2019, 11:17:31 AM5/7/19
to BeagleBoard
I have the exact same issue, except my output from version.sh indicates the board id eeprom is programmed correctly? Any other ideas Robert?... I'm playing around with migrating our device from 8.7 with 4.4 kernel up to something more recent and am coming up against this PRU issue...

jonre...@gmail.com

unread,
May 23, 2019, 8:53:07 PM5/23/19
to BeagleBoard
Same issue with brand new beaglebone black wireless -- just flashed with latest version of stretch.

debian@beaglebone:~$ ls /sys/class/remoteproc/
remoteproc0
Reply all
Reply to author
Forward
0 new messages