[linux-dvb] Rationalisation of /dev/adapterX/caY devices
Andrew de Quincey
adq_dvb at lidskialf.net
Mon Apr 10 16:28:09 CEST 2006
Currently there is a slightly weird behaviour with DVB CA devices. Say you
have an adapter with three CI slots. You would expect to see:
/dev/adapter0/ca0
/dev/adapter0/ca1
/dev/adapter0/ca2
However, what you actually see is
/dev/adapter0/ca0
Then each message sent to and from that ca0 (using read()/write()) has a two
byte header prepended:
byte0: slot_id
byte1: transport_connection_id.
Where slot_id will vary from 0->2. This complicates writing CA related
things.. Its not possible to just check a specific slot for data. And when
you start to support multiple adapters each with multiple slots, you have to
have a sort of virtual device layer. It also complicates the kernel
dvb_ca_en50221.c generic link level CA device driver.
I would like to change this so that:
1) We create a caX device per slot on the adapters.
2) We'll keep the two byte header for back compatability (the
transport_connection_id is useful still). However, the slot_id will always be
set to 0.
Does anyone have any thoughts on this?
More information about the linux-dvb
mailing list