Ik ben bezig een applicatie te maken die draait onder Linux/RTAI. De applicatie bestaat uit twee delen, een kernel module die het real-time werk doet en een user space applicatie die zorgt voor de weergave en de controle van de kernel module. Om wat instellingen en data te delen tussen de kernel module en de user space applicatie heb ik wat shared memory aangemaakt. Nu moet ik echter de user space applicatie als root draaien, anders heb ik geen toegang tot het shared memory. Dit wil ik liever niet en daarom vraag ik me af of iemand weet of het mogelijk is toegang tot het shared memory te krijgen als non-root gebruiker.
Ik heb uiteraard al gezocht naar een oplossing en wat ik gevonden heb is dat de /dev/rtai_shm character device toegankelijk moet zijn. De rechten hierop staan op lezen/schrijven voor iedereen. Dit zou dus het probleem niet mogen zijn.
Verder vind ik alleen iemand die hetzelfde probleem had maar geen oplossing.
Ook heb ik even in de sourcecode van RTAI gekeken en daar zie ik dus inderdaad:
Duidelijk, ik moet read en write toegang hebben. Vervolgens:
Daar wordt dus wat aangeroepen in de character device, ik kan wel volgen waar dat heen gaat maar er gebeurt daar zo veel dat ik al snel door de bomen het bos niet meer zie.
Ik gebruik trouwens RTAI 3.4-cv.
Alle hulp is welkom
Ik heb uiteraard al gezocht naar een oplossing en wat ik gevonden heb is dat de /dev/rtai_shm character device toegankelijk moet zijn. De rechten hierop staan op lezen/schrijven voor iedereen. Dit zou dus het probleem niet mogen zijn.
Verder vind ik alleen iemand die hetzelfde probleem had maar geen oplossing.
Ook heb ik even in de sourcecode van RTAI gekeken en daar zie ik dus inderdaad:
code:
1
2
3
4
5
| #define RTAI_SHM_DEV "/dev/rtai_shm"
....
....
if ((hook = open(RTAI_SHM_DEV, O_RDWR)) <= 0) {
.... |
Duidelijk, ik moet read en write toegang hebben. Vervolgens:
code:
1
| if ((size = ioctl(hook, SHM_ALLOC, (unsigned long)(&arg)))) { |
Daar wordt dus wat aangeroepen in de character device, ik kan wel volgen waar dat heen gaat maar er gebeurt daar zo veel dat ik al snel door de bomen het bos niet meer zie.
Ik gebruik trouwens RTAI 3.4-cv.
Alle hulp is welkom
De beste ideeën komen als je bezig bent.