MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    1. Home
    2. smegbadger
    3. Posts
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.
    S
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 24
    • Groups 0

    Posts

    Recent Best Controversial
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      @karsten13 perfect, thank you. The Docker container has gpiomon at v2.2.1. It never occurred to me the container would update things unannounced!

      Many thanks for your help

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'
      magicm@magicmirror:/opt/mm/mounts/config $ gpiomon --help
      Usage: gpiomon [OPTIONS] <chip name/number> <offset 1> <offset 2> ...
      
      Wait for events on GPIO lines and print them to standard output
      
      Options:
        -h, --help:           display this message and exit
        -v, --version:        display the version and exit
        -l, --active-low:     set the line active state to low
        -B, --bias=[as-is|disable|pull-down|pull-up] (defaults to 'as-is'):
                      set the line bias
        -n, --num-events=NUM: exit after processing NUM events
        -s, --silent:         don't print event info
        -r, --rising-edge:    only process rising edge events
        -f, --falling-edge:   only process falling edge events
        -b, --line-buffered:  set standard output as line buffered
        -F, --format=FMT      specify custom output format
      
      Biases:
        as-is:        leave bias unchanged
        disable:      disable bias
        pull-up:      enable pull-up
        pull-down:    enable pull-down
      
      Format specifiers:
        %o:  GPIO line offset
        %e:  event type (0 - falling edge, 1 rising edge)
        %s:  seconds part of the event timestamp
        %n:  nanoseconds part of the event timestamp
      magicm@magicmirror:/opt/mm/mounts/config $ gpiomon -v
      gpiomon (libgpiod) v1.6.3
      Copyright (C) 2017-2018 Bartosz Golaszewski
      License: LGPLv2.1
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      

      -r is listed in the library help for v1.6.3

      posted in Troubleshooting
      S
      smegbadger
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      The Docker log shows
      [2026-02-10 11:30:10.955] [ERROR] [MMM-Universal-Pir] stderr: gpiomon: invalid option -- 'r' gpiomon: try gpiomon --help

      but gpiomon -r -b gpiochip0 23 works in a terminal when pasted from the config.js file, very strange

      It’s just stopped working!

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      Snag_1ee4e5ea.png

      posted in Troubleshooting
      S
      smegbadger
    • MMM-Universal-PIR - ‘GPIOcommand exited with error!'

      Hi

      With no warning (I haven’t carried out any updates) MMM-Universal-Pir is now failing. It shows under the ‘PIR SENSOR’ heading on the MM screen ‘gpioCommand exited with error!’

      Config is:

                          module: "MMM-Universal-Pir",
                              position: "bottom_right",
                              config: {
                                  gpioCommand: "gpiomon -r -b gpiochip0 23",
                                  onCommand: "wlr-randr --output HDMI-A-1 --on --transform 90",
                                  offCommand: "wlr-randr --output HDMI-A-1 --off",
                                  deactivateDelay: 120 * 1000,
                                  }
      

      and in a terminal gpiomon -r -b gpiochip0 23 shows events when the PIR is triggered and

      wlr-randr --output HDMI-A-1 --on --transform 90 and wlr-randr --output HDMI-A-1 --off still control the screen.

      gpiomon is v1.6.3

      What can have changed?

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • Family Kitchen Calendar

      Got this up and running thanks to @karsten13 's help with screen blanking. Also had start-up issues as detailed here.

      Runs on a RPi 4B I had lying around with MagicMirrorOS driving the fabulous RPi monitor with a PIR sensor to sense people in the room for screen blanking. Viewing angle on this screen is very impressive, very sharp and crisp display.

      The Pi is in the boiler cupboard and wiring is hidden in 25x16mm trunking painted to match the wall. PIR sensor is in the tiniest project box I could find. Screen is on a VESA mount.

      MagicMirror modules:

      • MMM-Universal-Pir - controlling HDMI for screen sleep
      • clock
      • calendar - hidden, pulling UK Holidays and Family Google calendar feeding:
      • MMM-CalendarExt3Agenda with CSS mods so it fills most of the screen
      • MMM-MyGarbage
      • weather showing current and forecasts from UK met office
      • newsfeed showing BBC news

      MagicMirror1_1.jpg
      MagicMirror1_2.jpg
      MagicMirror1_3.jpg

      posted in Show your Mirror
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 thank you for all the effort you are putting into this issue. I agree, let’s go back to the version that will kill and restart the container if the display doesn’t respond to wlr-randr (and then waits for a MMM-Universal-Pir cycle to sleep it again).

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 unfortunately that didn’t work.
      In the morning the screen was off and could not be restored with docker rm -f labwc && docker compose up -d or docker compose up -d --force-recreate. In both cases the console briefly came back and then the the monitor slept again. Only when i when into the labwc container and did wlr-randr --output HDMI-A-1 --on --transform 90 did the display return. At that point the MMM-Universal-Pir started counting down too and it works as normal.

      magicm@magicmirror:/opt/mm/run $ docker rm -f labwc && docker compose up -d
      labwc
      [+] Running 2/2
       ✔ Container mm     Running                                                                                        0.0s
       ✔ Container labwc  Started                                                                                        0.5s
      magicm@magicmirror:/opt/mm/run $ docker compose up -d --force-recreate
      [+] Running 2/2
       ✔ Container mm     Started                                                                                        1.7s
       ✔ Container labwc  Started                                                                                        1.8s
      magicm@magicmirror:/opt/mm/run $
           >>> still no screen output <<<
      magicm@magicmirror:/opt/mm/run $ docker exec -it labwc bash
      pi@3f4fb5c07c91:/$ wlr-randr
      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: 81005568472
        Physical size: 350x190 mm
        Enabled: no
        Modes:
          1920x1080 px, 60.000000 Hz (preferred)
          1920x1080 px, 60.000000 Hz
          1920x1080 px, 59.939999 Hz
          1920x1080 px, 50.000000 Hz
          1920x1080 px, 48.000000 Hz
          1920x1080 px, 47.952000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 59.939999 Hz
          1280x720 px, 50.000000 Hz
          1280x720 px, 48.000000 Hz
          1280x720 px, 47.952000 Hz
          720x576 px, 50.000000 Hz
          720x480 px, 60.000000 Hz
          720x480 px, 59.939999 Hz
          640x480 px, 60.000000 Hz
          640x480 px, 59.939999 Hz
          640x480 px, 59.939999 Hz
      pi@3f4fb5c07c91:/$ wlr-randr --output HDMI-A-1 --on --transform 90
           >>> screen returns <<<
      pi@3f4fb5c07c91:/$
      

      Please check I did the pull etc correctly

      magicm@magicmirror:/opt/mm $ git status
      On branch master
      Your branch is up to date with 'origin/master'.
      
      Changes not staged for commit:
        (use "git add <file>..." to update what will be committed)
        (use "git restore <file>..." to discard changes in working directory)
              modified:   install/install.sh
      
      Untracked files:
        (use "git add <file>..." to include in what will be committed)
              install/install.sh.old
              run/douglas.env
      
      no changes added to commit (use "git add" and/or "git commit -a")
      magicm@magicmirror:/opt/mm $ git switch develop
      M       install/install.sh
      branch 'develop' set up to track 'origin/develop'.
      Switched to a new branch 'develop'
      magicm@magicmirror:/opt/mm $ git pull
      remote: Enumerating objects: 32, done.
      remote: Counting objects: 100% (32/32), done.
      remote: Compressing objects: 100% (22/22), done.
      remote: Total 22 (delta 14), reused 0 (delta 0), pack-reused 0 (from 0)
      Unpacking objects: 100% (22/22), 2.66 KiB | 247.00 KiB/s, done.
      From https://gitlab.com/khassel/magicmirror
         f4542dd..4891458  develop    -> origin/develop
         a4a4748..c4bb59c  master     -> origin/master
       * [new tag]         v2.31.0    -> v2.31.0
      Updating f4542dd..4891458
      Fast-forward
       .gitlab-ci.yml            |  2 +-
       build/labwc/Dockerfile    |  2 +-
       build/labwc/entrypoint.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
       run/includes/labwc.yaml   |  4 +++-
       run/original.env          |  4 ++--
       5 files changed, 57 insertions(+), 13 deletions(-)
      magicm@magicmirror:/opt/mm $ cd /opt/mm/run
      magicm@magicmirror:/opt/mm/run $ docker compose pull
      [+] Pulling 15/15
       ✔ labwc Pulled                                                                                                  107.9s
         ✔ f07a03696dcc Already exists                                                                                   0.0s
         ✔ 98d9f29a8bdf Pull complete                                                                                  106.0s
         ✔ 6c9aae6d02f4 Pull complete                                                                                  106.1s
         ✔ 9d496899b308 Pull complete                                                                                  106.2s
       ✔ magicmirror Pulled                                                                                            171.5s
         ✔ d9b636547744 Already exists                                                                                   0.0s
         ✔ 2fb5eed0caf7 Already exists                                                                                   0.0s
         ✔ f51205ec4ac4 Already exists                                                                                   0.0s
         ✔ d7b57be0135b Already exists                                                                                   0.0s
         ✔ 813d7d6819ab Already exists                                                                                   0.0s
         ✔ 9e1af87e1f78 Pull complete                                                                                    1.1s
         ✔ 27001e96a2b0 Pull complete                                                                                    1.3s
         ✔ deb26dbf1268 Pull complete                                                                                  110.8s
         ✔ 1b7abece8518 Pull complete                                                                                  169.7s
      magicm@magicmirror:/opt/mm/run $ docker compose up -d --force-recreate
      [+] Running 2/2
       ✔ Container labwc  Started                                                                                       24.9s
       ✔ Container mm     Started
      

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 I thought that would be the case. I tried changing the initial RANDR_PARAMS="--output HDMI-A-1 --transform 90" in the .env file to RANDR_PARAMS="--output HDMI-A-1 --off" so that the MMM-Universal-Pir module would be responsible for the first switch on of the display but then I got no display on restart at all.

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13, thank you for this. It worked well overnight last night. One question: when the wlr-randr command fails, the labwc container is then killed and then automatically restarts - will the screen be turned on then until the next PIR activity and subsequent timeout of MMM-Universal-Pir?

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 the display failed today as before but we have timestamps in the labwc docker logs

      magicm@magicmirror:~ $ docker logs labwc
      00:00:00.000 [INFO] [seatd/seat.c:48] Created VT-bound seat seat0
      00:00:00.000 [INFO] [seatd/seatd.c:194] seatd started
      00:00:00.052 [INFO] [seatd/server.c:145] New client connected (pid: 17, uid: 1000, gid: 1000)
      00:00:00.052 [INFO] [seatd/seat.c:239] Added client 1 to seat0
      00:00:00.052 [INFO] [seatd/seat.c:563] Opened client 1 on seat0
      00:00:00.120 [ERROR] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
      00:00:00.120 [ERROR] [EGL] command: eglQueryDeviceStringEXT, error: EGL_BAD_PARAMETER (0x300c), message: "eglQueryDeviceStringEXT"
      executing: wlr-randr --output HDMI-A-1 --transform 90
      Sat Mar 29 08:14:25 UTC 2025
      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: 81005568472
        Physical size: 350x190 mm
        Enabled: yes
        Modes:
          1920x1080 px, 60.000000 Hz (preferred, current)
          1920x1080 px, 60.000000 Hz
          1920x1080 px, 59.939999 Hz
          1920x1080 px, 50.000000 Hz
          1920x1080 px, 48.000000 Hz
          1920x1080 px, 47.952000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 59.939999 Hz
          1280x720 px, 50.000000 Hz
          1280x720 px, 48.000000 Hz
          1280x720 px, 47.952000 Hz
          720x576 px, 50.000000 Hz
          720x480 px, 60.000000 Hz
          720x480 px, 59.939999 Hz
          640x480 px, 60.000000 Hz
          640x480 px, 59.939999 Hz
          640x480 px, 59.939999 Hz
        Position: 0,0
        Transform: 90
        Scale: 1.000000
        Adaptive Sync: disabled
      Sat Mar 29 08:29:25 UTC 2025
      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: 81005568472
        Physical size: 350x190 mm
        Enabled: yes
        Modes:
          1920x1080 px, 60.000000 Hz (preferred, current)
          1920x1080 px, 60.000000 Hz
          1920x1080 px, 59.939999 Hz
          1920x1080 px, 50.000000 Hz
          1920x1080 px, 48.000000 Hz
          1920x1080 px, 47.952000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 59.939999 Hz
          1280x720 px, 50.000000 Hz
          1280x720 px, 48.000000 Hz
          1280x720 px, 47.952000 Hz
          720x576 px, 50.000000 Hz
          720x480 px, 60.000000 Hz
          720x480 px, 59.939999 Hz
          640x480 px, 60.000000 Hz
          640x480 px, 59.939999 Hz
          640x480 px, 59.939999 Hz
        Position: 0,0
        Transform: 90
        Scale: 1.000000
        Adaptive Sync: disabled
        
        ...
        
      Sat Mar 29 13:14:26 UTC 2025
      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: 81005568472
        Physical size: 350x190 mm
        Enabled: yes
        Modes:
          1920x1080 px, 60.000000 Hz (preferred, current)
          1920x1080 px, 60.000000 Hz
          1920x1080 px, 59.939999 Hz
          1920x1080 px, 50.000000 Hz
          1920x1080 px, 48.000000 Hz
          1920x1080 px, 47.952000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 59.939999 Hz
          1280x720 px, 50.000000 Hz
          1280x720 px, 48.000000 Hz
          1280x720 px, 47.952000 Hz
          720x576 px, 50.000000 Hz
          720x480 px, 60.000000 Hz
          720x480 px, 59.939999 Hz
          640x480 px, 60.000000 Hz
          640x480 px, 59.939999 Hz
          640x480 px, 59.939999 Hz
        Position: 0,0
        Transform: 90
        Scale: 1.000000
        Adaptive Sync: disabled
      Sat Mar 29 13:29:26 UTC 2025
      failed to connect to display
      Sat Mar 29 13:44:26 UTC 2025
      failed to connect to display
      Sat Mar 29 13:59:26 UTC 2025
      failed to connect to display
      Sat Mar 29 14:14:26 UTC 2025
      failed to connect to display
      Sat Mar 29 14:29:26 UTC 2025
      failed to connect to display
      Sat Mar 29 14:44:26 UTC 2025
      failed to connect to display
      Sat Mar 29 14:59:26 UTC 2025
      failed to connect to display
      Sat Mar 29 15:14:26 UTC 2025
      failed to connect to display
      Sat Mar 29 15:29:26 UTC 2025
      failed to connect to display
      Sat Mar 29 15:44:26 UTC 2025
      failed to connect to display
      Sat Mar 29 15:59:26 UTC 2025
      failed to connect to display
      Sat Mar 29 16:14:26 UTC 2025
      failed to connect to display
      
      There's also a new item in the `mm` docker logs when I restarted the docker containers on my return
      Gdk-Message: 16:25:24.348: Error reading events from display: Broken pipe
      [entrypoint 16:25:25.533] [INFO]   ***WARNING*** could write to /etc/localtime
      [entrypoint 16:25:25.539] [INFO]   copy default modules
      [entrypoint 16:25:25.603] [INFO]   copy css files
      

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 my apologies, I see the transform is not needed as you have taken the rotation into account

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 I left it running overnight with the MMM-Universal-Pir config lines commented out and the monitor physically switched off and this morning MM was still working fine when I switched the monitor back on again. When I looked at docker logs labwc the wlr-randr command was failing (still being triggered every fifteen mins) which suggests the connection between the MMM-Universal-Pir and the display driver is the issue rather than the display actually going off. I will try your new build today although i will have to add --transform 90 to the onCommand to get my screen rotation.

      magicm@magicmirror:/opt/mm/mounts/config $ docker logs labwc
      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: 81005568472
        Physical size: 350x190 mm
        Enabled: yes
        Modes:
          1920x1080 px, 60.000000 Hz (preferred, current)
          1920x1080 px, 60.000000 Hz
          1920x1080 px, 59.939999 Hz
          1920x1080 px, 50.000000 Hz
          1920x1080 px, 48.000000 Hz
          1920x1080 px, 47.952000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 60.000000 Hz
          1280x720 px, 59.939999 Hz
          1280x720 px, 50.000000 Hz
          1280x720 px, 48.000000 Hz
          1280x720 px, 47.952000 Hz
          720x576 px, 50.000000 Hz
          720x480 px, 60.000000 Hz
          720x480 px, 59.939999 Hz
          640x480 px, 60.000000 Hz
          640x480 px, 59.939999 Hz
          640x480 px, 59.939999 Hz
        Position: 0,0
        Transform: 90
        Scale: 1.000000
        Adaptive Sync: disabled
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      failed to connect to display
      magicm@magicmirror:/opt/mm/mounts/config $ docker exec -it labwc bash
      pi@c7c64f70849e:/$ wlr-randr
      failed to connect to display
      pi@c7c64f70849e:/$
      

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 unfortunately that change did not prevent the display from dropping. There’s no time timestamp in the docker logs for labwc but when i looked this morning there were some 40 calls to wlr-randr that had failed. If they are every 15mins that’s about 10:00 it failed. I will make a more accurate observation tonight

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @karsten13 i have disabled the init container as suggested.

      When the display fails I can get it back with docker rm -f labwc && docker compose up -d (docker compose up -d --force-recreate also works but docker compose up -d on it’s own doesn’t). I am running it today with the MMM-Universal-Pir module disabled as another test (although when sitting at a login prompt it never went off).

      Note that the display fails after a few hours of no PIR trigger, it doesn’t have to be overnight.

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      @sdetweil I stopped docker at 9:30 last night with docker compose down leaving the screen at the magicmirror login prompt. This morning the screen was still showing the login prompt . MM was reinstated perfectly with docker compose up -d --force-recreate. @karsten13 I notice there are now four objects that start:

      [+] Running 4/4
       ✔ Network magicmirror_default  Created                                                                            0.1s
       ✔ Container mm                 Started                                                                            0.9s
       ✔ Container init               Started                                                                            1.0s
       ✔ Container labwc              Started                                                                            1.0s
      

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: I cannot disable screen blanking with MagicMirrorOS

      Hi

      I don’t know where that would be. The RPi boots to a login prompt. Then docker takes over and launches MM in electron. There is no GUI for me to fiddle with

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • I cannot disable screen blanking with MagicMirrorOS

      Hi

      I am running MM via MagicMirrorOS on a RPi4B with an RPi monitor in portrait. I use MMM-Universal-Pir to turn the screen on and off during the day (with wlr-randr commands) which works great but the screen switches off for good overnight, the PIR cannot wake it up. I have disabled Screen Blanking with raspi-config but that makes no difference.

      If I run wlr-randr in the labwc container (access via docker exec -it labwc bash) I normally get (some resolutions removed for brevity):

      HDMI-A-1 "Raspberry PI RPI MON156 81005568472 (HDMI-A-1)"
        Make: Raspberry PI
        Model: RPI MON156
        Serial: xxxxxxxxxxxx
        Physical size: 350x190 mm
        Enabled: yes
        Modes:
          1920x1080 px, 60.000000 Hz (preferred, current)
      ...
          640x480 px, 59.939999 Hz
        Position: 0,0
        Transform: 90
        Scale: 1.000000
        Adaptive Sync: disabled
      

      However, once the display has gone to sleep that same wlr-randr command gives

      failed to connect to display
      

      this make me feel it is something in the docker set up but i see nothing in the docker logs

      Note that I also have RANDR_PARAMS="--output HDMI-A-1 --transform 90" in the .env file to rotate the display at boot.

      Cheers
      Steve

      posted in Troubleshooting
      S
      smegbadger
    • RE: Getting MMM-CalendarExt3Agenda to show more than 10 days out

      Hi

      I’ve discovered the CSS for the agenda module has a hard height limit

      .CX3A .agenda {
        max-height: 600px;
      }
      

      increasing that to 1325px fills the screen height . I can’t tell if that was the problem all along as the patch is in place now!

      overriding the font and width as follows has given me the size of agenda I wanted.

      .CX3A {
        font-size: 30px; 
        max-width: 600px;
      }
      .CX3A .event .headline.useSymbol .symbol {
        font-size: 25px; 
      }
      

      many thanks for your help

      posted in Troubleshooting
      S
      smegbadger
    • RE: Getting MMM-CalendarExt3Agenda to show more than 10 days out

      Hi

      I ran npm run install-mm in the docker container as the above commands and rebooted. The agenda is still truncated

      Steve

      posted in Troubleshooting
      S
      smegbadger
    • 1
    • 2
    • 1 / 2