p9.11 and p9.13 not available in BB Industrial - RJ485

Hi, following your instructions to use RJ485 communication (for modbus) I’m getting the following error when trying to configure UART4

(penv39) debian@beaglebone:/opt/source/beagle-tester$ config-pin p9.11 uart
ERROR: open() for /sys/devices/platform/ocp/ocp:P9_11_pinmux/state failed, No such file or directory
(penv39) debian@beaglebone:/opt/source/beagle-tester$ config-pin p9.13 uart
ERROR: open() for /sys/devices/platform/ocp/ocp:P9_13_pinmux/state failed, No such file or directory

I’m using kernel Linux beaglebone 4.19.94-ti-r74 #1buster SMP PREEMPT Tue Jun 27 20:53:24 UTC 2023 armv7l GNU/Linux and this is my /boot/uEnv.txt file

#Docs: http://elinux.org/Beagleboard:U-boot_partitioning_layout_2.0

uname_r=4.19.94-ti-r74
#uuid=
#dtb=

###U-Boot Overlays###
###Documentation: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#U-Boot_Overlays
###Master Enable
enable_uboot_overlays=1
###
###Overide capes with eeprom
#uboot_overlay_addr0=/lib/firmware/<file0>.dtbo
#uboot_overlay_addr1=/lib/firmware/<file1>.dtbo
#uboot_overlay_addr2=/lib/firmware/<file2>.dtbo
#uboot_overlay_addr3=/lib/firmware/<file3>.dtbo
###
###Additional custom capes
#uboot_overlay_addr4=/lib/firmware/<file4>.dtbo
#uboot_overlay_addr4=/lib/firmware/BB-UART4-RS485-00A0.dtbo
#uboot_overlay_addr5=/lib/firmware/<file5>.dtbo
#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
###
###Custom Cape
#dtb_overlay=/lib/firmware/<file8>.dtbo
###
###Disable auto loading of virtual capes (emmc/video/wireless/adc)
#disable_uboot_overlay_emmc=1
disable_uboot_overlay_video=1
disable_uboot_overlay_audio=1
disable_uboot_overlay_wireless=1
disable_uboot_overlay_adc=1
###
###PRUSS OPTIONS
###pru_rproc (4.14.x-ti kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-14-TI-00A0.dtbo
###pru_rproc (4.19.x-ti kernel)
uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-TI-00A0.dtbo
###pru_uio (4.14.x-ti, 4.19.x-ti & mainline/bone kernel)
#uboot_overlay_pru=/lib/firmware/AM335X-PRU-UIO-00A0.dtbo
###
###Cape Universal Enable
enable_uboot_cape_universal=0
###
###Debug: disable uboot autoload of Cape
#disable_uboot_overlay_addr0=1
#disable_uboot_overlay_addr1=1
#disable_uboot_overlay_addr2=1
#disable_uboot_overlay_addr3=1
###
###U-Boot fdt tweaks... (60000 = 384KB)
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet

#In the event of edid real failures, uncomment this next line:
#cmdline=coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet video=HDMI-A-1:1024x768@60e

##enable Generic eMMC Flasher:
##make sure, these tools are installed: dosfstools rsync
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

I also tried using overlay pointing to /lib/firmware/BB-UART4-00A0.dtbo|BB-UART4-RS485-00A0.dtbo, but still can’t see the pins there.
The config-pin run ok in beagle bone black, but no on my industrial board. Is there something missing to enable UART4?

Can you share the serial boot log?

Regards,

hey!, thanks for reaching out
this is the outout for dmesg

(penv39) debian@beaglebone:~$ dmesg | grep cape
[    0.000000] Kernel command line: console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait uboot_detected_capes=BBORG_COMMS, coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet
[    0.990103] gpio-of-helper ocp:cape-universal: ready

and my version output

sudo /opt/scripts/tools/version.sh
[sudo] password for debian: 
git:/opt/scripts/:[39e66ba124a2f42838e6069e16f1f394b2bdef6c]
eeprom:[A335BNLTEIA02410SBI01342]
model:[TI_AM335x_BeagleBone_Black]
dogtag:[BeagleBoard.org Debian Buster IoT Image 2020-04-06]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot SPL 2019.04-00002-g07d5700e21 (Mar 06 2020 - 11:24:55 -0600)]:[location: dd MBR]
bootloader:[microSD-(push-button)]:[/dev/mmcblk0]:[U-Boot 2019.04-00002-g07d5700e21]:[location: dd MBR]
UBOOT: Booted Device-Tree:[am335x-boneblack-uboot-univ.dts]
UBOOT: Loaded Overlay:[AM335X-PRU-RPROC-4-19-TI-00A0]
UBOOT: Loaded Overlay:[BB-ADC-00A0.bb.org-overlays]
UBOOT: Loaded Overlay:[BB-BONE-eMMC1-01-00A0.bb.org-overlays]
UBOOT: Loaded Overlay:[BB-NHDMI-TDA998x-00A0]
UBOOT: Loaded Overlay:[BBORG_COMMS-00A2]
kernel:[4.19.94-ti-r74]
nodejs:[v10.24.0]
/boot/uEnv.txt Settings:
uboot_overlay_options:[enable_uboot_overlays=1]
uboot_overlay_options:[disable_uboot_overlay_audio=1]
uboot_overlay_options:[uboot_overlay_pru=/lib/firmware/AM335X-PRU-RPROC-4-19-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.14.20210821.0-0~buster+20210821]
pkg:[bb-customizations]:[1.20240119.0-0~buster+20240119]
pkg:[bb-usb-gadgets]:[1.20230414.0-0~buster+20230414]
pkg:[bb-wl18xx-firmware]:[1.20230414.0-0~buster+20230414]
pkg:[kmod]:[26-1]
pkg:[roboticscape]:[0.4.4-git20180608.0-0rcnee0~buster+20180609]:[GOT_REPLACED_BY_NEXT]
pkg:[librobotcontrol]:[1.0.5-git20200715.0-0~buster+20200716]
pkg:[firmware-ti-connectivity]:[20190717-2rcnee1~buster+20200305]
groups:[debian : debian adm tty kmem dialout cdrom floppy audio dip video plugdev users systemd-journal bluetooth netdev i2c gpio pwm eqep remoteproc admin spi iio docker tisdk weston-launch xenomai cloud9ide niwviu]
cmdline:[console=ttyO0,115200n8 bone_capemgr.uboot_capemgr_enabled=1 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait uboot_detected_capes=BBORG_COMMS, coherent_pool=1M net.ifnames=0 lpj=1990656 rng_core.default_quality=100 quiet]
dmesg | grep remote
[   55.589844] remoteproc remoteproc0: 4a334000.pru is available
[   55.686246] remoteproc remoteproc1: 4a338000.pru is available
[   61.882508] remoteproc remoteproc2: wkup_m3 is available
[   61.896072] remoteproc remoteproc2: powering up wkup_m3
[   61.896101] remoteproc remoteproc2: Booting fw image am335x-pm-firmware.elf, size 217148
[   61.896362] remoteproc remoteproc2: remote processor wkup_m3 is now up
dmesg | grep pru
[   55.589844] remoteproc remoteproc0: 4a334000.pru is available
[   55.590035] pru-rproc 4a334000.pru: PRU rproc node pru@4a334000 probed successfully
[   55.686246] remoteproc remoteproc1: 4a338000.pru is available
[   55.686448] pru-rproc 4a338000.pru: PRU rproc node pru@4a338000 probed successfully
dmesg | grep pinctrl-single
[    0.976902] pinctrl-single 44e10800.pinmux: 142 pins, size 568
dmesg | grep gpio-of-helper
[    0.990103] gpio-of-helper ocp:cape-universal: ready
lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
END

Uart4 is already loaded… thus config-pin isn’t useful…

Regards,

Ok, although I’m not able to communicate over the serial cable, and there is a small difference in the boot log between BBB and Industrial
BB black: UBOOT: Loaded Overlay:[BBORG_COMMS-00A2.kernel] <====
BB Industrial: UBOOT: Loaded Overlay:[BBORG_COMMS-00A2]

is this relevant?

Yeap, you want the overlays with the [*.kernel] hint, as those were built against the actual device-tree. you probally have different versions of u-boot…

you are right, I just upgraded my BB black and now I get the same version loaded
UBOOT: Loaded Overlay:[BBORG_COMMS-00A2]

although, still not luck on communicating over RJ485