Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with GPIO after upgrade bb-cape-overlays #28

Open
xolott opened this issue Jul 18, 2017 · 2 comments
Open

Problem with GPIO after upgrade bb-cape-overlays #28

xolott opened this issue Jul 18, 2017 · 2 comments

Comments

@xolott
Copy link

xolott commented Jul 18, 2017

Hi,

I had a program on my beaglebone that communicate with another one throught Modbus via RS485 (with a Serial to RS485 chip). Before upgrade the bb-cape-overlays package, it run fine. But soon I upgrade it, the program became unable to communicate. I know that the UART works, but the GPIO that drive the chip doesn't

I manage to reduce the issue to this specific upgrade. My /boot/uEnv.txt file have:


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

uname_r=4.4.59-ti-r96
#uuid=
#dtb=

##BeagleBone Black/Green dtb's for v4.1.x (BeagleBone White just works..)

##BeagleBone Black: HDMI (Audio/Video) disabled:
#dtb=am335x-boneblack-emmc-overlay.dtb

##BeagleBone Black: eMMC disabled:
#dtb=am335x-boneblack-hdmi-overlay.dtb

##BeagleBone Black: HDMI Audio/eMMC disabled:
#dtb=am335x-boneblack-nhdmi-overlay.dtb

##BeagleBone Black: HDMI (Audio/Video)/eMMC disabled:
#dtb=am335x-boneblack-overlay.dtb

##BeagleBone Black: wl1835
#dtb=am335x-boneblack-wl1835mod.dtb

##BeagleBone Green: eMMC disabled
#dtb=am335x-bonegreen-overlay.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_addr5=/lib/firmware/<file5>.dtbo
#uboot_overlay_addr6=/lib/firmware/<file6>.dtbo
#uboot_overlay_addr7=/lib/firmware/<file7>.dtbo
#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
###
###Cape Universal Enable
#enable_uboot_cape_universal=1
###
###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...
#uboot_fdt_buffer=0x60000
###U-Boot Overlays###

cmdline=coherent_pool=1M net.ifnames=0 quiet cape_universal=enable

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

##Example v3.8.x
#cape_disable=capemgr.disable_partno=
#cape_enable=capemgr.enable_partno=

##Example v4.1.x
#cape_disable=bone_capemgr.disable_partno=
cape_enable=bone_capemgr.enable_partno=cape-universalh

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

#uuid=542b5a58-6fa3-40c2-ae14-12f512c2869e
#cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh
#uuid=a32bf658-c874-40a4-851d-926615065ada
uuid=46c2a594-8423-44c5-8b3f-373ab153b973
@RobertCNelson
Copy link
Contributor

Hopefully it's still in the log:

cat /var/log/dpkg.log | grep overlays

and can you show:

dmesg | grep bone

Regards,

@xolott
Copy link
Author

xolott commented Jul 22, 2017

Hi,

The log dont have info about "overlays". The dmesg output is:

[    0.000000] Kernel command line: console=ttyO0,115200n8 bone_capemgr.enable_partno=cape-universalh root=UUID=46c2a594-8423-44c5-8b3f-373ab153b973 ro rootfstype=ext4 rootwait coherent_pool=1M net.ifnames=0 quiet cape_universal=enable
[    2.280426] bone_capemgr bone_capemgr: Baseboard: 'A335BNLT,000C,1633BBBG0497'
[    2.280536] bone_capemgr bone_capemgr: compatible-baseboard=ti,beaglebone-black - #slots=4
[    2.320486] bone_capemgr bone_capemgr: slot #0: No cape found
[    2.360480] bone_capemgr bone_capemgr: slot #1: No cape found
[    2.400474] bone_capemgr bone_capemgr: slot #2: No cape found
[    2.440476] bone_capemgr bone_capemgr: slot #3: No cape found
[    2.440505] bone_capemgr bone_capemgr: enabled_partno PARTNO 'cape-universalh' VER 'N/A' PR '0'
[    2.440516] bone_capemgr bone_capemgr: slot #4: override
[    2.440530] bone_capemgr bone_capemgr: Using override eeprom data at slot 4
[    2.440544] bone_capemgr bone_capemgr: slot #4: 'Override Board Name,00A0,Override Manuf,cape-universalh'
[    2.440877] bone_capemgr bone_capemgr: initialized OK.
[    2.858573] bone_capemgr bone_capemgr: slot #4: dtbo 'cape-universalh-00A0.dtbo' loaded; overlay id #0
[   13.735805] systemd[1]: Set hostname to <beaglebone>.
[   23.380544] pinctrl-single 44e10800.pinmux: could not request pin 40 (44e108a0.0) from group nxp_hdmi_bonelt_pins  on device pinctrl-single

I made a patch to fix my problem, doing a 50ms delay after the change on the GPIO output value. If I use another value, less than 50ms, I experiment the same problem.

Regards

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants