úterý 4. února 2020

Pluginy Kodi (Python3)

V souvislosti s ukončením podpory Pythonu 2 přechází i LibreElec na Python 3. Pro provizorní opravu pluginu TelevizeSeznamu

by mělo stačit automaticky převést na verzi 3 pomocí 2to3.

Ve složce /storage/.kodi/addons/plugin.video.televizeseznam.cz spustíme.

LibreELEC:~/.kodi/addons/plugin.video.televizeseznam.cz # 2to3-3.7 -w client.py
LibreELEC:~/.kodi/addons/plugin.video.televizeseznam.cz # 2to3-3.7 -w addon.py

a je to. :-)

sobota 18. ledna 2020

Symlinky pro více tiskáren pod OpenWRT

Tiskárny se přesunuly do /dev/usb/lp*, udev byl nahrazen procd. Konfigurační soubory jsou podobné jako u hotplug, tedy v /etc/hotplug.d/ pro USB je to například /etc/hotplug.d/usbmisc/20-p910nd

konfigurační soubor by mělo stačit upravit takto:

skriptík v podstatě načte z /sys/class/usbmisc/lpX/device/ ze souboru ieee1284_id informace o tiskárně a podle názvu tiskárny vytvoří smylink do /dev. Například tedy /dev/ML-1520/dev/CLP-320.

Edit: Tak ještě jedna úprava, původní skript nechával symlinky a pokud uživatel znovu zapnul tiskárny ve špatném pořadí, tak to nefungovalo (soubor ieee1284_id v době odpojování neexistoval). Nově si skript vytváří v /tmp/printers soubory s názvy tiskáren, tak aby věděl kterou při odebrání smazat (uznávám šlo by to jistě i lépe).

vyzobneme název tiskárny (MFG:Samsung;CMD:GDI;MDL:ML-1520;CLS:PRINTER;MODE:GDI;STATUS:IDLE;CODE:10003)

cut -d: -f4 /sys/class/usbmisc/$DEVICENAME/device/ieee1284_id

odebereme ";CLS"
sed -e 's/;.*//'
odebere mezeru a vše za ní (příklad názvu "CLP-320 Series") sed -e 's/ .*//'


A nyní kompletní skript:
#!/bin/sh case "$ACTION" in add) [ -n "${DEVNAME}" ] && [ "${DEVNAME##usb/lp*}" = "" ] && { chmod 660 /dev/"$DEVNAME" chgrp lp /dev/"$DEVNAME" PRINTERNAME=`cut -d: -f4 /sys/class/usbmisc/$DEVICENAME/device/ieee1284_id | sed -e 's/;.*//' | sed -e 's/ .*//'` ln -s /dev/$DEVNAME /dev/$PRINTERNAME mkdir /tmp/printers echo "/dev/$PRINTERNAME" > /tmp/printers/$DEVICENAME } ;; remove) [ -n "${DEVNAME}" ] && [ "${DEVNAME##usb/lp*}" = "" ] && { # device is gone PRINTERNAME=`cat /tmp/printers/$DEVICENAME` rm $PRINTERNAME rm /tmp/printers/$DEVICENAME } ;; esac




sobota 11. ledna 2020

Nový DVB-T2 tuner

Tak to přišlo, po odchodu na zasloužený odpočinek analogové vysílání odchází na odpočinek i standart DVB-T. Pro hrátky s příjmem digitální TV jsem si musel koupit nový USB tuner.

kmod-media-tuner-r820t
kmod-dvb-usb-rtl28xxu
rtl-ais






RTL2832P, SONY CXD2887ER, Rafael Micro R828D


29881.210626] r820t 17-003a: destroying instance
[29881.210953] dvb_usb_v2: 'Astrometa DVB-T2:2-1.2' successfully deinitialized and disconnected
[29883.780263] usb 2-1.2: new high-speed USB device number 5 using ehci-pci
[29883.899164] usb 2-1.2: New USB device found, idVendor=15f4, idProduct=0131, bcdDevice= 1.00
[29883.899171] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[29883.899175] usb 2-1.2: Product: dvbt2
[29883.899179] usb 2-1.2: Manufacturer: astrometadvbt2
[29883.906786] usb 2-1.2: dvb_usb_v2: found a 'Astrometa DVB-T2' in warm state
[29884.053298] usb 2-1.2: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
[29884.053317] dvbdev: DVB: registering new adapter (Astrometa DVB-T2)
[29884.053327] usb 2-1.2: media controller created
[29884.053949] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[29884.061026] i2c i2c-16: Added multiplexed i2c bus 17
[29884.061032] rtl2832 16-0010: Realtek RTL2832 successfully attached
[29884.061085] i2c i2c-16: cxd2841er_attach(): I2C adapter 00000000ae7d58ea SLVX addr 6e SLVT addr 6c
[29884.065637] i2c i2c-16: cxd2841er_attach(): attaching CXD2837ER DVB-C/T/T2 frontend
[29884.065644] i2c i2c-16: cxd2841er_attach(): chip ID 0xb1 OK.
[29884.065656] usb 2-1.2: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
[29884.065672] dvbdev: dvb_create_media_entity: media entity 'Realtek RTL2832 (DVB-T)' registered.
[29884.065999] usb 2-1.2: DVB: registering adapter 0 frontend 1 (Sony CXD2837ER DVB-T/T2/C demodulator)...
[29884.066009] dvbdev: dvb_create_media_entity: media entity 'Sony CXD2837ER DVB-T/T2/C demodulator' registered.
[29884.066281] r820t 17-003a: creating new instance
[29884.073613] r820t 17-003a: Rafael Micro r820t successfully identified
[29884.073638] r820t 17-003a: attaching existing instance
[29884.091830] r820t 17-003a: Rafael Micro r820t successfully identified
[29884.104867] rtl2832_sdr rtl2832_sdr.1.auto: Registered as swradio0
[29884.104872] rtl2832_sdr rtl2832_sdr.1.auto: Realtek RTL2832 SDR attached
[29884.104875] rtl2832_sdr rtl2832_sdr.1.auto: SDR API is still slightly experimental and functionality changes may follow
[29884.112782] Registered IR keymap rc-empty
[29884.112917] rc rc0: Astrometa DVB-T2 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/rc/rc0
[29884.113045] input: Astrometa DVB-T2 as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/rc/rc0/input17
[29884.113585] rc rc0: lirc_dev: driver dvb_usb_rtl28xxu registered at minor = 0, raw IR receiver, no transmitter
[29884.113963] usb 2-1.2: dvb_usb_v2: schedule remote query interval to 200 msecs
[29884.122402] usb 2-1.2: dvb_usb_v2: 'Astrometa DVB-T2' successfully initialized and connected