Hi John, thank you very much for your answer.
I am using the 4.1.15-ti-rt-r43 kernel. It's the kernel that came with the debian image from the beaglebone website. Only the pruss_remoteproc module seems to be loaded on boot: # lsmod Module Size Used by 8021q 17336 0 garp 5975 1 8021q mrp 7322 1 8021q stp 1911 1 garp llc 5257 2 stp,garp pruss_remoteproc 15296 2 omap_rng 4358 0 rng_core 7437 1 omap_rng usb_f_acm 7180 1 u_serial 10596 3 usb_f_acm usb_f_rndis 22734 1 g_multi 5316 0 usb_f_mass_storage 42745 2 g_multi u_ether 12028 2 usb_f_rndis,g_multi libcomposite 43810 4 usb_f_acm,usb_f_rndis,g_multi,usb_f_mass_storage snd_soc_davinci_mcasp 17266 0 snd_soc_edma 1150 1 snd_soc_davinci_mcasp spi_omap2_mcspi 10681 0 uio_pdrv_genirq 3521 0 Although the other modules do exist in the driver directory. ls /lib/modules/4.1.15-ti-rt-r43/kernel/drivers/rpmsg rpmsg_pru.ko rpmsg-rpc.ko virtio_rpmsg_bus.ko I cannot modprob the modules: # modprobe virtio_rpmsg_bus.ko root@beaglebone:/lib/modules/4.1.15-ti-rt-r43/kernel/drivers/rpmsg# modprobe virtio_rpmsg_bus.ko But I can use insmod root@beaglebone:/lib/modules/4.1.15-ti-rt-r43/kernel/drivers/rpmsg# insmod virtio_rpmsg_bus.ko root@beaglebone:/lib/modules/4.1.15-ti-rt-r43/kernel/drivers/rpmsg# lsmod Module Size Used by virtio_rpmsg_bus 13437 0 8021q 17336 0 garp 5975 1 8021q ... Should I try to switch to the kernel version you are using? Is there an image or should I recompile the kernel? Any other ideas? Lucas On Tuesday, March 22, 2016 at 7:40:56 PM UTC+1, john3909 wrote: > > Hi Lucas, > > This seems to work just fine for me. What kernel version are you using? > > I’m using V4.1.13-ti-r33. As you can see, all remoteproc/rpmsg kernel > modules are loaded automatically at boot time. > > [ 16.251480] pruss-rproc 4a300000.pruss: 8 PRU interrupts parsed > > [ 16.251567] pruss-rproc 4a300000.pruss: memory dram0: pa 0x4a300000 > size 0x2000 va e0ca0000 > [ 16.251595] pruss-rproc 4a300000.pruss: memory dram1: pa 0x4a302000 > size 0x2000 va e0ca4000 > [ 16.251621] pruss-rproc 4a300000.pruss: memory shrdram2: pa 0x4a310000 > size 0x3000 va e0ca8000 > [ 16.251644] pruss-rproc 4a300000.pruss: memory intc: pa 0x4a320000 > size 0x2000 va e0cac000 > [ 16.251672] pruss-rproc 4a300000.pruss: memory cfg: pa 0x4a326000 > size 0x2000 va e0cb0000 > [ 16.252174] pruss-rproc 4a300000.pruss: creating platform devices for > PRU cores > [ 16.374800] pru-rproc 4a334000.pru0: memory iram: pa 0x4a334000 > size 0x2000 va e0cb4000 > [ 16.374858] pru-rproc 4a334000.pru0: memory control: pa 0x4a322000 > size 0x400 va e0876000 > [ 16.374901] pru-rproc 4a334000.pru0: memory debug: pa 0x4a322400 > size 0x100 va e0c9e400 > [ 16.375152] remoteproc1: 4a334000.pru0 is available > > [ 16.380153] remoteproc1: Note: remoteproc is still under development > and considered experimental. > [ 16.572902] remoteproc1: THE BINARY FORMAT IS NOT YET FINALIZED, and > backward compatibility isn't yet guaranteed. > [ 16.778752] remoteproc1: registered virtio0 (type 7) > > [ 16.811201] pru-rproc 4a334000.pru0: PRU rproc node > /ocp/pruss@4a300000/pru@4a334000 probed successfully > [ 16.932818] pru-rproc 4a338000.pru1: memory iram: pa 0x4a338000 > size 0x2000 va e0ccc000 > [ 16.932891] pru-rproc 4a338000.pru1: memory control: pa 0x4a324000 > size 0x400 va e0cd0000 > [ 16.932918] pru-rproc 4a338000.pru1: memory debug: pa 0x4a324400 > size 0x100 va e0cd2400 > [ 16.933190] remoteproc2: 4a338000.pru1 is available > > [ 16.938192] remoteproc2: Note: remoteproc is still under development > and considered experimental. > [ 17.081421] remoteproc2: THE BINARY FORMAT IS NOT YET FINALIZED, and > backward compatibility isn't yet guaranteed. > [ 17.114912] remoteproc2: registered virtio1 (type 7) > > [ 17.131205] pru-rproc 4a338000.pru1: PRU rproc node > /ocp/pruss@4a300000/pru@4a338000 probed successfully > [ 17.231951] remoteproc1: powering up 4a334000.pru0 > > [ 17.243111] remoteproc1: Booting fw image am335x-pru0-fw, size 78652 > > [ 17.271252] pru-rproc 4a334000.pru0: version 0 event_chnl_map_size 1 > event_chnl_map 0000039c > [ 17.271289] pru-rproc 4a334000.pru0: sysevt-to-ch[60] -> 0 > > [ 17.271305] pru-rproc 4a334000.pru0: chnl-to-host[0] -> 0 > > [ 17.271318] pru-rproc 4a334000.pru0: skip intr mapping for chnl 1 > > [ 17.271330] pru-rproc 4a334000.pru0: skip intr mapping for chnl 2 > > [ 17.271343] pru-rproc 4a334000.pru0: skip intr mapping for chnl 3 > > [ 17.271355] pru-rproc 4a334000.pru0: skip intr mapping for chnl 4 > > [ 17.271367] pru-rproc 4a334000.pru0: skip intr mapping for chnl 5 > > [ 17.271379] pru-rproc 4a334000.pru0: skip intr mapping for chnl 6 > > [ 17.271391] pru-rproc 4a334000.pru0: skip intr mapping for chnl 7 > > [ 17.271404] pru-rproc 4a334000.pru0: skip intr mapping for chnl 8 > > [ 17.271416] pru-rproc 4a334000.pru0: skip intr mapping for chnl 9 > > [ 17.271434] pruss-rproc 4a300000.pruss: SYSEV60 -> CH0 (CMR15 > 0x00000000) > [ 17.271449] pruss-rproc 4a300000.pruss: CH0 -> HOST0 (HMR0 0x00000000) > > [ 17.271465] pruss-rproc 4a300000.pruss: configured system_events = > 0x1000000000000000 intr_channels = 0x00000001 host_intr = 01 > [ 17.309385] remoteproc1: starting PRU0: entry-point = 0x0 > > [ 17.309420] remoteproc1: remote processor 4a334000.pru0 is now up > > [ 17.352939] remoteproc1: mbox msg: 0x0 > > [ 17.353069] virtio_rpmsg_bus virtio0: creating channel > rpmsg-client-sample addr 0x1e > [ 17.361804] remoteproc1: kicking vqid 0 on PRU0 > > [ 17.361904] virtio_rpmsg_bus virtio0: rpmsg host is online > > [ 17.394061] remoteproc1: kicking vqid 0 on PRU0 > > [ 17.410206] remoteproc2: powering up 4a338000.pru1 > > [ 17.463473] remoteproc2: Booting fw image am335x-pru1-fw, size 78644 > > [ 17.470075] pru-rproc 4a338000.pru1: version 0 event_chnl_map_size 1 > event_chnl_map 00000394 > [ 17.470094] pru-rproc 4a338000.pru1: sysevt-to-ch[59] -> 1 > > [ 17.470108] pru-rproc 4a338000.pru1: skip intr mapping for chnl 0 > > [ 17.470122] pru-rproc 4a338000.pru1: chnl-to-host[1] -> 1 > > [ 17.470134] pru-rproc 4a338000.pru1: skip intr mapping for chnl 2 > > [ 17.470145] pru-rproc 4a338000.pru1: skip intr mapping for chnl 3 > > [ 17.470158] pru-rproc 4a338000.pru1: skip intr mapping for chnl 4 > > [ 17.470170] pru-rproc 4a338000.pru1: skip intr mapping for chnl 5 > > [ 17.470182] pru-rproc 4a338000.pru1: skip intr mapping for chnl 6 > > [ 17.470194] pru-rproc 4a338000.pru1: skip intr mapping for chnl 7 > > [ 17.470206] pru-rproc 4a338000.pru1: skip intr mapping for chnl 8 > > [ 17.470218] pru-rproc 4a338000.pru1: skip intr mapping for chnl 9 > > [ 17.470235] pruss-rproc 4a300000.pruss: SYSEV59 -> CH1 (CMR14 > 0x01000000) > [ 17.470249] pruss-rproc 4a300000.pruss: SYSEV60 -> CH0 (CMR15 > 0x00000000) > [ 17.470264] pruss-rproc 4a300000.pruss: CH0 -> HOST0 (HMR0 0x00000000) > > [ 17.470279] pruss-rproc 4a300000.pruss: CH1 -> HOST1 (HMR0 0x00000100) > > [ 17.470294] pruss-rproc 4a300000.pruss: configured system_events = > 0x1800000000000000 intr_channels = 0x00000003 host_intr = 03 > [ 17.621116] remoteproc2: starting PRU1: entry-point = 0x0 > > [ 17.621151] remoteproc2: remote processor 4a338000.pru1 is now up > > [ 17.690894] remoteproc2: mbox msg: 0x0 > > [ 17.691124] virtio_rpmsg_bus virtio1: creating channel rpmsg-pru addr > 0x1f > [ 17.698850] remoteproc2: kicking vqid 0 on PRU1 > > [ 17.698906] virtio_rpmsg_bus virtio1: rpmsg host is online > > [ 17.723089] remoteproc2: kicking vqid 0 on PRU1 > > [ 17.966768] rpmsg_pru rpmsg1: new rpmsg_pru device: /dev/rpmsg_pru31 > > > root@beaglebone:~# lsmod > Module Size Used by > usb_f_acm 8098 0 > u_serial 12463 1 usb_f_acm > usb_f_rndis 26352 0 > usb_f_mass_storage 50100 0 > u_ether 13493 1 usb_f_rndis > libcomposite 53637 3 usb_f_acm,usb_f_rndis,usb_f_mass_storage > rpmsg_pru 5295 0 > virtio_rpmsg_bus 15318 1 rpmsg_pru > pruss_remoteproc 17160 2 > tilcdc 30557 0 > omap_rng 5239 0 > rng_core 8893 1 omap_rng > snd_soc_davinci_mcasp 20886 0 > snd_soc_edma 1174 1 snd_soc_davinci_mcasp > tda998x 14298 0 > snd_soc_hdmi_codec 2522 0 > > > The remoteproc/rpmsg modules should be located here. > > root@beaglebone:/lib/modules/4.1.13-ti-r33/kernel/drivers/rpmsg# ls > rpmsg_pru.ko rpmsg-rpc.ko virtio_rpmsg_bus.ko > root@beaglebone:/lib/modules/4.1.13-ti-r33/kernel/drivers/rpmsg# cd > ../remoteproc/ > root@beaglebone:/lib/modules/4.1.13-ti-r33/kernel/drivers/remoteproc# ls > omap_remoteproc.ko pruss_remoteproc.ko > > > To load them manually, use modprobe which detects module dependencies > automatically. > > modprobe rpmsg_pru > > Regards, > John > > > > > On Mar 22, 2016, at 7:24 AM, lucas <lucas....@gmail.com <javascript:>> > wrote: > > I am trying to use rpmsg from user space. I am following the PRU training > of TI ( > http://processors.wiki.ti.com/index.php/PRU_Training:_Hands-on_Labs#Part_1:_Linux_Command_Line_LED_Toggling > ) > > I use the latest beaglebone black image (Debian 8.3 2016-01-24 from > https://beagleboard.org/latest-images). > > The three kernel modules that are needed appear to be already part of this > image (virtio_rpmsg_bus.ko, pruss_remoteproc.ko,rpmsg_pru.ko). It seems > like I have to load them in this exact order. Unfortunately > pruss_remoteproc.ko is already loaded and there seem to be a bug that > prevents reloading the module ( > https://groups.google.com/forum/#!topic/beagleboard/EXBjL4TkBiU). So what > could be a solution for this problem? > > - Can I load the modules in the right order on boot? (I cannot find the > point where pruss_remoteproc.ko gets loaded) > - Can I prevent pruss_remoteproc.ko from being loaded on boot and insmod > it later on? > - Or, is my problem something completely different and rpmsg doesn't work > like that from user space out of the box with the image that I am using > i.e. I have to recompile the kernel? > > Thank you! > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to beagleboard...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.