Dieses Wiki ist ein Archiv bis 2023. Das aktuelle Wiki findet sich unter https://wiki.hamburg.ccc.de/
Licht
Hardware
Da sind ein paar Licht-Dinge an der Decke. Die werden über DMX-512 angesprochen.
- Leiste Tafel/Fenster
- Leiste Tafel/Tür
- …
Ansteuerung
Es hängt ein ENTTEC Open DMX USB-Gerät rum und bespielt den DMX-Bus. ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
. Ist also im Prinzip ein normaler FTDI USB-Seriell-Wandler.
Hypervisor-Config
Da der bei uns in einer VM (mit dem Namen licht</lich>) hängt ist noch einiges nötig.
Auf dem Hypervisor das
ftdi_sio
-Modul blacklisten:
root@red.bikeshed.hamburg.ccc.de:~# cat /etc/modprobe.d/blacklist.conf
blacklist ftdi_sio
Device der VM mitgeben:
<hostdev mode='subsystem' type='usb' managed='no'>
<source startupPolicy='optional'>
<vendor id='0x0403'/>
<product id='0x6001'/>
</source>
</hostdev>
Man beachte das startupPolicy
. Das ist ein USB-Gerät, das könnten Leute abziehen, und wir wollen trotzdem, dass die VM dann startet. Genau aus dem Grund müssen wir auch noch mehr tun. Obigen XML-Code in eine Datei tun, z.B. /root/dmxcontroller.xml</conf>. Dann legen wir eine udev-Regeln an, dass beim anstöpseln des Gerätes das auch direkt an die VM geht:
# /etc/udev/rules.d/90-libvirt-usb.rules
ACTION=="add", \
SUBSYSTEM=="usb", \
ENV{ID_VENDOR_ID}=="0403", \
ENV{ID_MODEL_ID}=="6001", \
RUN+="/usr/bin/virsh attach-device licht /root/dmxcontroller.xml"
ACTION=="remove", \
SUBSYSTEM=="usb", \
ENV{ID_VENDOR_ID}=="0403", \
ENV{ID_MODEL_ID}=="6001", \
RUN+="/usr/bin/virsh detach-device licht /root/dmxcontroller.xml"
Lustig, nech? Bitte bitte Bescheid sagen, falls ich da ne Funktion in libvirt übersehen hab.
Rechner-Config