Intelligente Lösungen
in neuer Dimension

Raspberry Pi ohne Monitor

In letzter Zeit spiele ich gelegentlich mit ein paar Raspis rum. Lästig ist die Sache mit der Anzeige: Ich brauche relativ häufig einen separaten Monitor, damit ich erkennen kann, was der Raspi gerade so macht.

Hier beschreibe ich ein Verfahren, wie’s für mich einfacher geht mit einem HDMI-Capture-Dongle.

Anleitung erstellt unter Ubuntu-20.04.

Vorarbeiten

Ich habe mir dieses Dongle besorgt: MACROSILICON HDMI CAPTURE DEVICE. Es ist das günstigste Dongle, das ich bei Amazon gefunden habe. Ich habe knapp 8 EUR dafür bezahlt.

Auf meinem Arbeitsplatzreechner habe ich diese Pakete installiert:

  • sudo apt install ffmpeg
  • sudo apt install v4l2loopback-util
  • sudo apt install obs-studio vlc

Aktuell ist unklar, ob man die wirklich alle benötigt!

Zwischenzeitlich habe ich auch mal mit den UDEV-Rules herumgespielt. Das scheint unnötig gewesen zu sein! Details dazu viel weiter unten im Abschnitt “Irrweg – UDEV-Rules”.

Anschluß

Ich verbinde das USB-Dongle mit einer USB-Buchse. Sowohl intern als auch am USB-Hub funktioniert’s. In das Dongle kommt dann noch das HDMI-Kabel, das auf der anderen Seite mit dem Rapi verbunden ist. Soweit kein Problem.

Diagnose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$ sudo lsusb -v
...
Bus 001 Device 008: ID 534d:2109
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x534d
  idProduct          0x2109
  bcdDevice           21.00
  iManufacturer           1 MACROSILICON
  iProduct                2 USB Video
  iSerial                 0
  bNumConfigurations      1
...

$ sudo lsusb
...
Bus 001 Device 010: ID 0bda:5411 Realtek Semiconductor Corp. USB2.1 Hub
Bus 001 Device 034: ID 534d:2109
Bus 001 Device 033: ID 03f0:0941 HP, Inc X500 Optical Mouse
...

VLC

Erste Tests habe ich mit VLC durchgeführt: vlc.

  • Medien
  • Aufnahmegerät öffnen
  • Video-Gerätname: /dev/video2
  • Wiedergabe

Leider ist die Anzeige ziemlich unleserlich:

Unleserliche Anzeige mit VLC

OBS

Nachdem VLC kein gutes Bild darstellen kann, versuche ich es danach mit OBS: obs.

  • Autokonfiguration: Nein
  • Quellen: +
  • Videoaufnahmegerät V4L2
  • Gerät: Video Capture 3 (usb-0000:01:00.0-4.2)
  • Videoformat: YUYV 4:2:2 oder YU12

Damit sieht das Bild ganz ordentlich aus:

Gute Anzeige mit OBS

Arbeit am Raspi

Nachdem die Anzeige OK ist, schließe ich eine Tastatur an den Raspi an und kann problemlos arbeiten. Einzige Schwierigkeit: Nach 5 Minuten schlägt der Bildschirmschoner von meinem Arbeitsplatz zu!

Irrweg – UDEV-Rules

/etc/udev/rules.d/91-hdmi-to-usb-ms2109.rules
1
2
3
4
5
6
# For HDMI-to-USB adaptor:
SUBSYSTEM=="usb", DRIVER=="snd-usb-audio", ATTRS{idProduct}=="2109", ATTRS{idVendor}=="534d", \
    RUN+="/bin/sh -c 'echo -n $kernel > /sys/bus/usb/drivers/snd-usb-audio/unbind'"

SUBSYSTEM=="usb", DRIVER=="snd-usb-audio", ATTRS{idProduct}=="2109", ATTRS{idVendor}=="534d", \
    ATTR{bInterfaceNumber}=="00", RUN+="/bin/sh -c 'sleep 1; echo -n $kernel > /sys/bus/usb/drivers/uvcvideo/bind'"

Nach Änderungen immer dies ausführen: sudo sudo udevadm control --reload-rules

Links

Historie und Anmerkung

  • 2022-03-17: USB-Diagnose-Meldungen
  • 2021-07-23: Preis für den HDMI Catcher, Links
  • 2021-07-18: Erste Version