Em Tue, 10 Apr 2018 21:14:23 +0200 Josef Wolf <jw@xxxxxxxxxxxxx> escreveu: > On Di, Apr 10, 2018 at 11:58:15 -0300, Mauro Carvalho Chehab wrote: > > Em Tue, 10 Apr 2018 12:43:27 +0200 > > Josef Wolf <jw@xxxxxxxxxxxxx> escreveu: > > > > > > The linuxtv wiki pages state that the current v5 API (also called S2API) is > > > tag/value based: > > > > > > https://www.linuxtv.org/wiki/index.php/Development:_Linux_DVB_API_history_and_future > > > https://www.linuxtv.org/wiki/index.php/S2API > > > > > > But in the API documentation (version 5.10), I can't find anything that looks > > > like tag/value. > > > > That refers basically to DVB frontend API. Please see: > > https://www.linuxtv.org/downloads/v4l-dvb-apis-new/uapi/dvb/dvbproperty.html > > Thanks for the clarification, Mauro! > > So all the other "subsystems" (like demux device etc/pp) still use the struct > based API? Yes. > What about DiSEqC? struct dvb_diseqc_master_cmd seems to still be limited to 6 > bytes. With Unicable/JESS longer sequences are needed. Especially for configuring > multiswitches, sequences of up to 16 bytes are needed. How would this be done > with the limitation to 6 bytes? DiSEqC uses stuct-based ioctl. There is a provision to add support for it via S2API, but this was not implemented yet. That's said, adding suport for DiSEqC with more than 6 bytes should likely be enabled driver per driver, after checking that the device supports it. For example, cx24123 seems to reserve only 6 registers for messages (from cx24123.c driver, at cx24123_regdata[] table): {0x2c, 0x00}, /* DiSEqC Message (0x2c - 0x31) */ Register 0x33 is used for interrupts. {0x33, 0x00}, /* Interrupts off (0x33 - 0x34) */ {0x34, 0x00}, So, clearly this device won't be able to support longer DiSEqC messages. Regards, Mauro