Motion Webcam Server Plugin apparmor Error
-
I am getting the following error in the syslog when I try to start the webcam server plugin:
Mar 30 10:30:30 TRONXY-X5SA-Pro DuetPluginService[688]: [info] Plugin MotionWebcamServer: Process has been started (pid 986) Mar 30 10:30:30 TRONXY-X5SA-Pro kernel: [ 110.702719] audit: type=1400 audit(1648661430.736:18): apparmor="DENIED" operation="open" profile="/opt/dsf/plugins/MotionWebcamServer/**" name="/opt/vc/lib/libvchiq_arm.so" pid=986 comm="motion" requested_mask="r" denied_mask="r" fsuid=996 ouid=0 Mar 30 10:30:30 TRONXY-X5SA-Pro DuetPluginService[688]: [error] Plugin MotionWebcamServer: /opt/dsf/plugins/MotionWebcamServer/dsf/arm/motion: error while loading shared libraries: libvchiq_arm.so: cannot open shared object file: No such file or directory Mar 30 10:30:30 TRONXY-X5SA-Pro DuetPluginService[688]: [info] Plugin MotionWebcamServer: Process has been stopped with exit code 127
I have a Duet 3 with a Tool Board with an SBC running the official image.
Any help would be appreciated.
-
Can you provide the results of M122 please?
-
@phaedrux Here you go
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.4.0 (2022-03-15 18:57:24) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956L2-G43S8-6J9FA-3SJ6M-1B0UG Used output buffers: 1 of 40 (12 max) === RTOS === Static ram: 151000 Dynamic ram: 66280 of which 128 recycled Never used RAM 133192, free system stack 154 words Tasks: SBC(resourceWait:,17.1%,474) HEAT(notifyWait,0.4%,321) Move(notifyWait,0.1%,262) CanReceiv(notifyWait,0.7%,772) CanSender(notifyWait,0.0%,356) CanClock(delaying,0.2%,339) TMC(notifyWait,257.6%,92) MAIN(running,3003.1%,923) IDLE(ready,0.4%,30), total 3279.5% Owned mutexes: HTTP(MAIN) === Platform === Last reset 01:38:26 ago, cause: software Last software reset at 2022-03-30 10:18, reason: User, GCodes spinning, available RAM 133480, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 134 MCU temperature: min 39.0, current 40.2, max 40.4 Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.7, current 12.0, max 12.6, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, mspos 328, reads 16547, writes 24 timeouts 0 Driver 1: standstill, SG min 0, mspos 888, reads 16548, writes 24 timeouts 0 Driver 2: standstill, SG min 0, mspos 600, reads 16553, writes 19 timeouts 0 Driver 3: standstill, SG min 0, mspos 824, reads 16553, writes 19 timeouts 0 Driver 4: standstill, SG min 0, mspos 8, reads 16561, writes 11 timeouts 0 Driver 5: standstill, SG min 0, mspos 8, reads 16561, writes 11 timeouts 0 Date/time: 2022-03-30 11:56:50 Slowest loop: 55.18ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 3, maxWait 4478021ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 11, completed 11, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === Filament sensors === Extruder 0: no data received === CAN === Messages queued 53162, received 121055, lost 0, boc 0 Longest wait 2ms for reply type 6026, peak Tx sync delay 264, free buffers 50 (min 49), ts 29534/29533/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 4, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 9912/9912 SPI underruns 0, overruns 0 State: 5, disconnects: 2, timeouts: 2, IAP RAM available 0x2b880 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server v3.4.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 39.02, max time between full transfers: 56.3ms, max pin wait times: 53.6ms/4.2ms Codes per second: 0.01 Maximum length of RX/TX data transfers: 3184/252
-
Have you done a sudo apt update sudo apt upgrade?
-
@phaedrux yes
-
I wonder if your problem is related to this one.
https://forum.duet3d.com/topic/27500/motionwebcamserver-plugin-missing-library?_=1648667030984
Take a look and see what you think.
-
@phaedrux I didn't find that forum post when I searched for this error, weird. Thank you for your help.
This was the fix:
@chrishamm said in MotionWebcamServer plugin - Missing library:@adammhaile @luckyflyer Very odd, it looks like something changed because this definitely worked for me before on another image. The problem is indeed that motion cannot open
/opt/vc/lib/libvchiq_arm.so
. To fix this, you can edit/etc/apparmor.d/dsf.MotionWebcamServer
and insert a new line below/usr/local/lib
...:/opt/vc/lib/** rm,
Then reboot the Pi or run
sudo apparmor_parser -r /etc/apparmor.d/dsf.MotionWebcamServer
and you should be able to start the plugin from DWC.It looks like there is also an issue with Motion's custom log file location for permission:
motion[1762]: [0:motion] [EMG] [ALL] motion_startup: Exit motion, cannot create log file /var/log/motion/motion.log: Permission denied
This is an optional configuration item though so the short-term fix is to just disable the feature.
-
-