On 2/11/07, Marko Ristola <marko.ristola@xxxxxxxxxxx> wrote:
Hi I just read your thread. I have a bit different suggestion. This is a hierarcial naming scheme. I also suggest Tuner numbering with 1 and 2, instead of 0 and 1. How to separate different devices? The device drivers aren't supposed to know anything about other devices. Udev tries to handle device separation and name aliasing. Applications and libraries could do that separation also. How to do "device frontend" - "RF component" separation? Before I bought a PCI card, I wanted to know that how many RF components (or tuners) it had. It was important, because then I know that how many different channels I can see or record at a same time. Then I decided to buy a card with one tuner. Usually the RF input is same for both tuners on a card. There aren't more than one TV antenna or satellite dish. A single tuner or multiple tuners are always on one card (PCI/USB). Thus this is my naming suggestion: Card 1 (two RF components, hierarcial naming scheme): "TerraTec/qanu USB2.0 Highspeed DVB-T Receiver / Tuner 1" "TerraTec/qanu USB2.0 Highspeed DVB-T Receiver / Tuner 2" Card 2 (single RF component): "TerraTec/qanu USB2.0 Highspeed DVB-T Receiver" The hierarcial naming scheme would thus work with single and multiple frontends. Tuner separation is done only when it is necessary.
I did work on something similarly .. It needs some more cleanups before i can present it out. In the crudest way, it looks something of this sort, a dump of all the information currently it looks like this, the device nodes .. /dev/dvb/adapter0/ /adapter0 /frontend0 /dvr0 /demux0 /dev/dvb/adapter1/ /adapter0 /frontend0 /dvr0 /demux0 Feb 8 14:18:40 testbox kernel: [17280831.736000] ACPI: PCI Interrupt 0000:02:0a.0[A] -> GSI 22 (level, low) -> IRQ 18 Feb 8 14:18:40 testbox kernel: [17280831.736000] irq: 18, latency: 64 Feb 8 14:18:40 testbox kernel: [17280831.736000] memory: 0xefeff000, mmio: 0xe5908000 Feb 8 14:18:40 testbox kernel: [17280831.736000] found a VP-1041 PCI DVB-S/DSS/DVB-S2 Multistandard device on (02:0a.0), Feb 8 14:18:40 testbox kernel: [17280831.736000] Mantis Rev 1 [1822:0031], irq: 18, latency: 64 Feb 8 14:18:40 testbox kernel: [17280831.736000] memory: 0xefeff000, mmio: 0xe5908000 Feb 8 14:18:40 testbox kernel: [17280831.740000] MAC Address=[00:00:00:00:00:00] Feb 8 14:18:40 testbox kernel: [17280831.740000] mantis_alloc_buffers (0): DMA=0x19930000 cpu=0xd9930000 size=65536 Feb 8 14:18:40 testbox kernel: [17280831.740000] mantis_alloc_buffers (0): RISC=0x42c3000 cpu=0xc42c3000 size=1000 Feb 8 14:18:40 testbox kernel: [17280831.740000] DVB: registering new adapter (Mantis dvb adapter). Feb 8 14:18:40 testbox kernel: [17280831.740000] DVB: registering adaptor (0) (Mantis Rev 1 on a VP-1041) Feb 8 14:18:40 testbox kernel: [17280832.260000] mantis_frontend_init (0): Probing for STB0899 (DVB-S/DSS/DVB-S2) Feb 8 14:18:40 testbox kernel: [17280832.264000] stb0899_read_reg: Reg=[0xf000], data=82 Feb 8 14:18:40 testbox kernel: [17280832.264000] stb0899_get_dev_id: Device ID=[8], Release=[2] Feb 8 14:18:40 testbox kernel: [17280832.276000] stb0899_get_dev_id: Demodulator Core ID=[DMD1], Version=[1] Feb 8 14:18:40 testbox kernel: [17280832.288000] stb0899_get_dev_id: FEC Core ID=[FEC1], Version=[1] Feb 8 14:18:40 testbox kernel: [17280832.288000] stb0899_attach: Attaching STB0899 Feb 8 14:18:40 testbox kernel: [17280832.288000] mantis_frontend_init (0): found STB0899 DVB-S/DSS/DVB-S2 frontend @0x68 Feb 8 14:18:40 testbox kernel: [17280832.288000] mantis_frontend_init (0): Probing for STB6100 tuner Feb 8 14:18:40 testbox kernel: [17280832.288000] stb6100_attach: Attaching Feb 8 14:18:40 testbox kernel: [17280832.288000] mantis_frontend_init (0): found STB6100 tuner @0x60 Feb 8 14:18:40 testbox kernel: [17280832.288000] mantis_frontend_init (0): Probing for LNBP21 SEC Feb 8 14:18:40 testbox kernel: [17280832.292000] DVB: registering frontend 0 (STB0899 Multistandard)...
The average user doesn't need technical numbering starting from zero. Unfortunately the separate technical (frontend 0) and user numbering scheme (Tuner 1 ) would cause confusion with user support. Those who don't need technical support, are less confused with "Tuner 1" and "Tuner 2". The application or udev would be responsible to make names look different if there are two exactly identical cards.
Yep, true .. the overall idea was to have this information to sysfs, thus solving another issue of device ordering, which some people were getting very frustrated with as well. regards, manu _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb