Bug 206867

Summary: Kernel up to 2.6.17-1.2187_FC5 misses support for FlexCop based DVB-C card
Product: [Fedora] Fedora Reporter: Peter Bieringer <pb>
Component: kernelAssignee: Dave Jones <davej>
Status: CLOSED UPSTREAM QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 5CC: pfrields, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-09-17 14:32:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Bieringer 2006-09-17 13:18:16 UTC
Description of problem:
Current kernels up to misses support of FlexCop based DVB-T cards

Version-Release number of selected component (if applicable):
kernel-2.6.17-1.2187_FC5 and below

How reproducible:
Always

Steps to Reproduce:
1. buy card
2. insert card
3. reboot
  
Actual results:
Card is not supported

Kernel log:
Sep 17 14:57:53 vdr kernel: Linux video capture interface: v1.00
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV
receiver chip loaded successfully
Sep 17 14:57:53 vdr kernel: flexcop-pci: will use the HW PID filter.
Sep 17 14:57:53 vdr kernel: flexcop-pci: card revision 2
Sep 17 14:57:53 vdr kernel: ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 9
Sep 17 14:57:53 vdr kernel: PCI: setting IRQ 9 as level-triggered
Sep 17 14:57:53 vdr kernel: ACPI: PCI Interrupt 0000:00:10.0[A] -> Link [LNKC]
-> GSI 9 (level, low) -> IRQ 9
Sep 17 14:57:53 vdr kernel: DVB: registering new adapter (FlexCop Digital TV
device).
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:3a
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr last message repeated 2 times
Sep 17 14:57:53 vdr kernel: mt352_read_register: readreg error (reg=127, ret==-121)
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr kernel: nxt200x: nxt200x_readbytes: i2c read error (addr
0x0a, err == -121)
Sep 17 14:57:53 vdr kernel: Unknown/Unsupported NXT chip: 00 00 00 00 00
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr kernel: lgdt330x: i2c_read_demod_bytes: addr 0x59 select
0x02 error (ret == -121)
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr kernel: stv0297_readreg: readreg error (reg == 0x80, ret == -22)
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 14:57:53 vdr kernel: mt312_read: ret == -121
Sep 17 14:57:53 vdr kernel: b2c2-flexcop: no frontend driver found for this
B2C2/FlexCop adapter




Expected results:
Card is supported, like using kernel-2.6.16-1.2069_FC4 and updated module source
code v4l-dvb-20060717.tar.gz from http://linuxtv.org/downloads/snapshots/

Sep 17 15:00:15 vdr kernel: DVB: registering new adapter (FlexCop Digital TV
device).
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:3a
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: stradis: disagrees about version of symbol video_devdata
Sep 17 15:00:15 vdr kernel: stradis: Unknown symbol video_devdata
Sep 17 15:00:15 vdr kernel: stradis: disagrees about version of symbol
video_unregister_device
Sep 17 15:00:15 vdr kernel: stradis: Unknown symbol video_unregister_device
Sep 17 15:00:15 vdr kernel: stradis: disagrees about version of symbol
video_register_device
Sep 17 15:00:15 vdr kernel: stradis: Unknown symbol video_register_device
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: mt352_read_register: readreg error (reg=127, ret==-121)
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: nxt200x: nxt200x_readbytes: i2c read error (addr
0x0a, err == -121)
Sep 17 15:00:15 vdr kernel: Unknown/Unsupported NXT chip: 00 00 00 00 00
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: lgdt330x: i2c_read_demod_bytes: addr 0x59 select
0x02 error (ret == -121)
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: found the stv0297 at i2c address: 0x1c
Sep 17 15:00:15 vdr kernel: DVB: registering frontend 1 (ST STV0297 DVB-C)...
Sep 17 15:00:15 vdr kernel: b2c2-flexcop: initialization of 'Cable2PC/CableStar
2 DVB-C' at the 'PCI' bus controlled by a 'FlexCopIIb' complete

Additional info:

Unfortunately, for at least 2.6.17-1.2187_FC5 the provided snapshot from LinuxTV
didn't work anymore. So snapshot can't be used anymore.

# make
make -C /usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l
make[1]: Entering directory `/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l'
scripts/make_makefile.pl /lib/modules/2.6.17-1.2187_FC5/build
creating symbolic links...
echo srcdir
srcdir
make -C /lib/modules/2.6.17-1.2187_FC5/build
SUBDIRS=/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l  modules
make[2]: Entering directory `/usr/src/kernels/2.6.17-1.2187_FC5-i686'
  CC [M]  /usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l/dvb_net.o
/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l/dvb_net.c: In function
'wq_set_multicast_list':
/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l/dvb_net.c:1141: error: 'struct
net_device' has no member named 'xmit_lock'
/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l/dvb_net.c:1170: error: 'struct
net_device' has no member named 'xmit_lock'
make[3]: *** [/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l/dvb_net.o] Error 1
make[2]: *** [_module_/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l] Error 2
make[2]: Leaving directory `/usr/src/kernels/2.6.17-1.2187_FC5-i686'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/usr/local/src/v4l-dvb/v4l-dvb-20060717/v4l'
make: *** [all] Error 2


Same happen using a CVS/Mercurial snapshot from today :-(

Comment 1 Peter Bieringer 2006-09-17 13:25:38 UTC
Grmml, got confused and found at least, that the DVB-C card in the system was
not recognized...

2.6.17-1.2187_FC5:

Sep 17 15:14:31 vdr kernel: b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV
receiver chip loaded successfully
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:3a
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: no frontend driver found for this
B2C2/FlexCop adapter
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:b4
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:14:31 vdr kernel: b2c2-flexcop: found the mt352 at i2c address: 0x0f
Sep 17 15:14:32 vdr kernel: b2c2-flexcop: initialization of 'Air2PC/AirStar 2
DVB-T' at the 'PCI' bus controlled by a 'FlexCopIIb' complete

2.6.16-1.2069_FC4 with updated driver:

Sep 17 15:18:16 vdr kernel: b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV
receiver chip loaded successfully
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:3a
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: found the stv0297 at i2c address: 0x1c
Sep 17 15:18:16 vdr kernel: b2c2-flexcop: initialization of 'Cable2PC/CableStar
2 DVB-C' at the 'PCI' bus controlled by a 'FlexCopIIb' complete
Sep 17 15:18:17 vdr kernel: b2c2-flexcop: MAC address = 00:d0:d7:**:**:b4
Sep 17 15:18:17 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:17 vdr kernel: b2c2-flexcop: i2c master_xfer failed
Sep 17 15:18:17 vdr kernel: b2c2-flexcop: found the mt352 at i2c address: 0x0f
Sep 17 15:18:17 vdr kernel: b2c2-flexcop: initialization of 'Air2PC/AirStar 2
DVB-T' at the 'PCI' bus controlled by a 'FlexCopIIb' complete


lcpci -v shows:

00:10.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip /
Technisat SkyStar2 DVB card (rev 02)
        Subsystem: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip /
Technisat SkyStar2 DVB card
        Flags: bus master, slow devsel, latency 64, IRQ 9
        Memory at dffb0000 (32-bit, non-prefetchable) [size=64K]
        I/O ports at cc00 [size=32]


00:12.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip /
Technisat SkyStar2 DVB card (rev 02)
        Subsystem: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip /
Technisat SkyStar2 DVB card
        Flags: bus master, slow devsel, latency 64, IRQ 10
        Memory at dff50000 (32-bit, non-prefetchable) [size=64K]
        I/O ports at c400 [size=32]



Comment 2 Dave Jones 2006-09-17 14:32:21 UTC
Fedora will support this when it gets upstream.  There's a 2.6.18 rebase coming
soon.