Tak jsem se rozhoupal a pořídil Evolveo Sigma T2. Spíš na hraní a na cesty, na seznámení s DVB-T2... a pokud by se časem podařilo nějaké trochu komfortní HTPC, bylo by to fajn.
Začal jsem tím, že jsem vzal patch od no_bodyho a vmasíroval ho do vanilky 5.0.8, kterou jsem předem usadil na svůj systém = vzít distribuční .config, protáhnout ho menuconfigem aby se "přisál na aktuální verzi kernelu",
vyhodit "expert options" a vyhodit "kernel debugging", případně vyhodit
"kernel versioning" (verzování může být trochu klacek pod nohy, pokud mastíte drivery out of tree apod.) A zakončit make modules_install && make install .
Čili ten patch od nobodyho: jasně, přidat USB IDčka. Hlavičkový soubor s USB IDčky se nám přestěhoval do include/linux, jinak žádný skandál, je třeba přidat řádek nebo dva pro T230C a T230C2. Zíív. Nepatrně zajímavější to je v cxusb.c : oproti no_bodyho patchi je třeba přidat ještě záznam(y) do "indexového enumu" (nebo co to je) a pak se dají přidat dva další bloky (po jednom pro T230C a T230C2) do
cxusb_mygica_t230_properties.devices
(a nezapomenout zvednout .num_device_descs z 1 na 3 - já to dal až napodruhé).
A ta úprava v konfiguraci front-endu si2168 je jasná věc.
No a když jsem ty ovladače rekompiloval (po úpravě hlavičkového souboru s IDčky se díky závislostem rekompilují prakticky všecky DVB ovladače), nainstaloval a natáhnul, firmware jsem si stáhnul, zasunul dongle, a... všecko vypadalo bezvadně, až na poslední věc: chybová hláška o tuneru. Driver si2157.ko čekal zřejmě čip si2141, místo toho ale zakrákoral že "neznámý tuner si21128" - k čemuž mi Google nabídl dva roky starou poznámku od CrazyCata (asi na to taky narazil) že ten tuner nejspíš hledá na špatné i2c adrese (podle mého možná spíš na špatném i2c portu, soudě podle pozdějších CrazyCatových vlastních úprav ve zdrojácích - viz níže).
No takže jsem se začal pídit, jak se dostat ke CrazyCatovým ovladačům. Mimochodem CrazyCat svoje repo linux_media zřejmě dost nedávno přestěhoval z GitHubu na BitBucket (odkaz níže). Takže odkazy v debatách rok-dva starých už nefungují. Mrknul jsem nejdřív na repo linux_media,
https://bitbucket.org/CrazyCat/linux_mediacož je zřejmě celý kernel cca 5.0-RC7. Prohrábnul jsem se ovladači, zkusil jsem porovnat s patchem od no_bodyho... vida, u CrazyCata vidím dvě oddělené verze frontend_attach:
cxusb_mygica_t230_frontend_attach()
cxusb_mygica_t230c_frontend_attach()
navzájem asi dva drobné rozdíly, jednak se CrazyCat zřejmě postavil čelem k tomu nastavení hodin (zde ts_clock_mode) o kterém mluvil no_body, druhak je tam jakási dynamická detekce tuneru (model tuneru vrací hezky opouzdřená "probe" funkce) - ovšem oproti vanilkové verzi (5.0.
téže funkce je rozdíl poměrně obrovský (hluboký). Nemá smysl uvažovat, že bych tohle všechno jenom po svém transplantoval do vanilky. Není to na pár selektivních zásahů.
Takže celý balík CrazyCatových ovladačů. Nebo spíš celý kernel? Ale mě se nechce fungovat na 5.0-RC7 bůhví od koho... Aha, ono to vypadá, že doporučený postup je takový, že se jenom "out of tree" přeloží prakticky celý subsystém Video4linux. to je taky baťoh, ale aspoň to není celý kernel. A CrazyCat zřejmě udržuje svoje ovladače rozumně kompatibilní s aktuální vanilkou.
Takže kudy na to:
Postup jsem nalezl nečekaně na produktové stránce CZC.
https://www.czc.cz/evolveo-sigma-t2/218951/produktZákazník mradosta zakomponoval správný postup přímo do hodnocení produktu :-D Borec. Copy+paste:
git clone
https://bitbucket.org/CrazyCat/media_buildcd media_build
./build
sudo make install
sudo make rmmod
sudo modprobe dvb_usb_cxusb
Zasunout...
"media: loading out-of-tree module taints kernel."
Ach jo.
"WARNING: You are using an experimental version of the media stack."
Ale našel demodulátor, front-end i tuner. To zní slibně.
w_scan -c CZ > channels.conf
w_scan --output-VLC >>vlc.xspf
A sviští. Sype nalezené kanály.
Trochu mi vrtá hlavou, co přesně znamená hláška "skipped (transponder already known)". To jako že když chytí tentýž mux na jiném kanálu, tak se na něj vykašle? Tady bych si rád vybral kanál s nejvyšší sílou signálu... Takže prohlídnout pásmo pomocí rtl_sdr a nadiktovat konkrétní frekvence.
Je možné, že těch duplicitních kanálů vidí *tolik*? Vždyť to nahlásil asi dvacetkrát... tomu se mi nechce věřit.
Podařilo se mi vyloudit obrázek z VLC. VLC 3.0.6 v Debianu 9. DVB-T MUX1.
Zvláštní je, že tak v 50% pokusů o spuštění TV streamu nebo o přepnutí programu VLC spadne.
To by pro dnešek stačilo, pokračování někdy příště. Na řadě je user space.