Skip to content
This repository has been archived by the owner on Sep 15, 2020. It is now read-only.

make on beagleboard black; prussdrv_open failed #2

Open
sjw1066 opened this issue Jun 18, 2013 · 17 comments
Open

make on beagleboard black; prussdrv_open failed #2

sjw1066 opened this issue Jun 18, 2013 · 17 comments

Comments

@sjw1066
Copy link

sjw1066 commented Jun 18, 2013

Ran linuxbuild for pasm, make in root directory. Was able to issue modprobe uio_pruss, but when I tried to run the dmx server output is as follows:

INFO: Starting dmx example.
prussdrv_open open failed

Any idea as to what I've done wrong? Do I need to change the pin b/c of eMMC on the BBB?

@boxysean
Copy link
Owner

Haven't got a bb black yet and will be a month or two until I get my first.
Perhaps team up with joehohman (issue #1) to see if you can get it to work?
On Jun 18, 2013 4:13 PM, "sjw1066" [email protected] wrote:

Ran linuxbuild for pasm, make in root directory. Was able to issue
modprobe uio_pruss, but when I tried to run the dmx server output is as
follows:

INFO: Starting dmx example.
prussdrv_open open failed

Any idea as to what I've done wrong?


Reply to this email directly or view it on GitHubhttps://github.com//issues/2
.

@jessecobra
Copy link

I do not have a DMX light with me at the moment to fully test this but I was able to get past this issue on BeagleBone Black by following these instructions: http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2
It was in the other issues thread: #1 (comment)

Specifically I just enabled PRUSS in the device tree per the instructions:

cd /boot
cp am335x-boneblack.dtb am335x-boneblack.dtb_orig
dtc -I dtb -O dts am335x-boneblack.dtb > am335x-boneblack.dts_orig

The change to the dts file:
pruss@4a300000 {
...
status = "disabled";
...
};

To:
pruss@4a300000 {
...
status = "okay";
...
};

After any modifications have been made (maybe copy the file first so that you have a backup), it can be converted back into binary form using:

dtc -I dts -O dtb am335x-boneblack.dts_pru > am335x-boneblack.dtb_pru
cp am335x-boneblack.dtb_pru am335x-boneblack.dtb

Reboot, now no errors!

root@beaglebone:~/bbdmx/bin# ./dmx
INFO: Starting dmx example.
AM33XX
INFO: Initializing example.
INFO: Executing example.
File ./dmx.bin open passed

Boxysean, I owe you a beer :)

@jessecobra
Copy link

Ok got home, took my BB white DMX cape, attached it to my BB Black instead and while the dmx server runs, my light is not receiving any DMX data. Need to troubleshoot some more...

@monirsabbagh
Copy link

on (http://github.jfet.org/BBKNotes2.html) try the code under "Getting the PRUSS working" this works for me, so the error "prussdrv_open open failed" disappear. but still no output on the given pin!!!

@monirsabbagh
Copy link

All examples worked on BeagleBone Black except DMX. DMX example compiled and run with no errors, but no output on pin 3, any idea why?

@jessecobra
Copy link

I am going to post in the other issues thread, as this specific error is resolved by enabling PRUSS in the device tree for kernel 3.8. As for not actually sending any DMX data on pin 3 that is a different issue.

@rcalderon821
Copy link

thanks for the information!! I got the PRU working only by changing the am335x-boneblack.dtb file as mentioned!

@jessecobra
Copy link

I am still stuck where you are though. PRUSS working but I need to figure out how to change the DMX output from P8 pin 3 to another pin. I'll be working on it over the weekend but please if someone else has figured out how to move pins, share! :)

@jessecobra
Copy link

Ok moving pins was much simpler than I had imagined. Again, this was to work around a BeagleBone black dependency on P8 pin 3 for the emmc flash to work properly, something the original BeagleBone never had.

I took a fresh BeagleBone Black running Angstrom 3.8.13 out of the box, enabled PRUSS using the methods explained above in this thread.

Then in /src/dmx.c

Change the DMX_PIN define from (6) to (12).
Also change LOCAL_export_pin(38) to (44) to change the gpio numbers correctly. Also change the unexport.

Now for both BeagleBone white and black it "just works" off header P8 pin 12 (instead of P8 pin 3 from the original design).

I will post a video of this working shortly...

Both issues can be closed as far as I am concerned.

@jessecobra
Copy link

BBB doing DMX on P8 pin 12: http://www.youtube.com/watch?v=zv1aAT-f78c

I will work on getting the README and dmx.c updated for others to use.

@andrelutza
Copy link

I got the same error ("prussdrv_open open failed"), I changed the .dts file as you said, but now I got the stupid error after running a simple example:

INFO: Starting PRU_memAccessPRUDataRam example.
AM33XX
INFO: Initializing example.
INFO: Executing example.
Segmentation fault
Does anyone have any idea on where could it come from? Thank you.

@jessecobra
Copy link

Do you have anything else using PRUSS at the moment? I get a seg fault if say I run two instances of ./dmx

@andrelutza
Copy link

I actually don't know. How can I verify that?

@ESINC
Copy link

ESINC commented May 17, 2016

Hey Jesse - I've got a brand new BBG. I'm stuck with the error 'prussdrv_open failed.' I know it's been a while since you've been active here, but would appreciate any advice. My .dts file is set to 'okay' as above, and it shows up in the cape manager slot 5.

@jessecobra
Copy link

Does your kernel otherwise support the PRUSS?

@ESINC
Copy link

ESINC commented May 17, 2016

It ought to - it's a Beaglebone Green, Debian 2015-10-20. Only difference
between it and -Black should be that the HDMI circuitry is removed.

On Tue, May 17, 2016 at 9:40 AM, Jesse [email protected] wrote:

Does your kernel otherwise support the PRUSS?


You are receiving this because you commented.
Reply to this email directly or view it on GitHub
#2 (comment)

@jessecobra
Copy link

jessecobra commented May 17, 2016

I would get one of the standard PRU example working first to establish where the issue is?
I doubt its HW related....

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

No branches or pull requests

7 participants