Opened 17 years ago

Last modified 17 years ago

#737 assigned defect

selection of DVB-T channel not possible anymore with vanilla kernel 2.6.19.2

Reported by: jiri@… Owned by: nsabbi@…
Priority: normal Component: streaming
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

I used mplayer dvb://CT_1 (or more precisely mencoder for recording) to choose channel with 2.6.15-26-k7 kernel (kubuntu version). After upgrade to newest version, it's not working any more. I tested the vanilla 2.6.19.2 kernel and mplayer SVN version dev-SVN-r22119-4.1.2, but without success. After reboot to previous kernel, it's working again.

/usr/local/bin/mplayer dvb://CT_1
MPlayer dev-SVN-r22119-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Mobile AMD Sempron(tm) Processor 3300+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2

Playing dvb://CT_1.
dvb_tune Freq: 506000000
ERROR IN SETTING DMX_FILTER 257 for fd 4: ERRNO: 38ERROR, COULDN'T SET CHANNEL 9: Failed to open dvb://CT_1.

Exiting... (End of file)

A workaround exist:

tzap -r CT_1 # running in one terminal
# and in parrallel run
/usr/local/bin/mplayer /dev/dvb/adapter0/dvr0

# this unfortunatelly do not provide me with the flexibility for scheduled recording via at command (only recording from channel with tzap running is possible)

---
longer error message:

/usr/local/bin/mplayer -v dvb://CT_1
MPlayer dev-SVN-r22119-4.1.2 (C) 2000-2007 MPlayer Team
CPU: Mobile AMD Sempron(tm) Processor 3300+ (Family: 15, Model: 44, Stepping: 2)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
get_path('codecs.conf') -> '/home/navratil/.mplayer/codecs.conf'
Reading /home/navratil/.mplayer/codecs.conf: Can't open '/home/navratil/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --enable-largefiles --language=en cs --charset=UTF-8 --disable-termcap --enable-dvb
CommandLine: '-v' 'dvb://CT_1'
get_path('font/font.desc') -> '/home/navratil/.mplayer/font/font.desc'
font: can't open file: /home/navratil/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using nanosleep() timing
get_path('input.conf') -> '/home/navratil/.mplayer/input.conf'
Can't open input config file /home/navratil/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('CT_1.conf') -> '/home/navratil/.mplayer/CT_1.conf'

Playing dvb://CT_1.
get_path('sub/') -> '/home/navratil/.mplayer/sub/'
TUNER TYPE SEEMS TO BE DVB-T
get_path('channels.conf.ter') -> '/home/navratil/.mplayer/channels.conf.ter'
get_path('channels.conf') -> '/home/navratil/.mplayer/channels.conf'
CONFIG_READ FILE: /home/navratil/.mplayer/channels.conf, type: 2
TER, NUM: 0, NUM_FIELDS: 11, NAME: CT_SPORT, FREQ: 506000000 PIDS: 1025 1041 0
TER, NUM: 1, NUM_FIELDS: 11, NAME: CRo1-Radiozurnal, FREQ: 506000000 PIDS: 0 4113
TER, NUM: 2, NUM_FIELDS: 11, NAME: CRo2-Praha, FREQ: 506000000 PIDS: 0 4369
TER, NUM: 3, NUM_FIELDS: 11, NAME: CRo3-Vltava, FREQ: 506000000 PIDS: 0 4625
TER, NUM: 4, NUM_FIELDS: 11, NAME: CRo4-Radio_Wave, FREQ: 506000000 PIDS: 0 4881
TER, NUM: 5, NUM_FIELDS: 11, NAME: CRo_D-dur, FREQ: 506000000 PIDS: 0 5137
TER, NUM: 6, NUM_FIELDS: 11, NAME: CRo_Leonardo, FREQ: 506000000 PIDS: 0 5393
TER, NUM: 7, NUM_FIELDS: 11, NAME: CRo_Radio_Cesko, FREQ: 506000000 PIDS: 0 5649
TER, NUM: 8, NUM_FIELDS: 11, NAME: Aplikace_MHP, FREQ: 506000000 PIDS: 0 0
TER, NUM: 9, NUM_FIELDS: 11, NAME: CT_1, FREQ: 506000000 PIDS: 257 273 0
TER, NUM: 10, NUM_FIELDS: 11, NAME: CT_2, FREQ: 506000000 PIDS: 513 529 0
TER, NUM: 11, NUM_FIELDS: 11, NAME: CT_24, FREQ: 506000000 PIDS: 769 785 0
TER, NUM: 12, NUM_FIELDS: 11, NAME: NOVA, FREQ: 506000000 PIDS: 1281 1297 0
TER, NUM: 13, NUM_FIELDS: 11, NAME: CLASSIC_FM, FREQ: 674000000 PIDS: 0 130
TER, NUM: 14, NUM_FIELDS: 11, NAME: Proglas, FREQ: 674000000 PIDS: 0 180
TER, NUM: 15, NUM_FIELDS: 11, NAME: Evropa_2, FREQ: 674000000 PIDS: 0 110
TER, NUM: 16, NUM_FIELDS: 11, NAME: Prima_TV, FREQ: 674000000 PIDS: 161 84 0
TER, NUM: 17, NUM_FIELDS: 11, NAME: OCKO-TV, FREQ: 674000000 PIDS: 164 96 0
TER, NUM: 18, NUM_FIELDS: 11, NAME: TOP_TV, FREQ: 674000000 PIDS: 2601 2602 0
TER, NUM: 19, NUM_FIELDS: 11, NAME: 24cz, FREQ: 674000000 PIDS: 1026 1027 0
TER, NUM: 20, NUM_FIELDS: 11, NAME: TA3, FREQ: 674000000 PIDS: 205 206 0
TER, NUM: 21, NUM_FIELDS: 11, NAME: Noe_TV, FREQ: 674000000 PIDS: 2501 2502 0
TER, NUM: 22, NUM_FIELDS: 11, NAME: - Test1, FREQ: 818000000 PIDS: 1101 1102 0
TER, NUM: 23, NUM_FIELDS: 11, NAME: - Test2, FREQ: 818000000 PIDS: 1201 1202 0
TER, NUM: 24, NUM_FIELDS: 11, NAME: - Ocko, FREQ: 818000000 PIDS: 1301 1302 0
TER, NUM: 25, NUM_FIELDS: 11, NAME: - MHP/SMS HRY, FREQ: 818000000 PIDS: 1635 1630 0
TER, NUM: 26, NUM_FIELDS: 11, NAME: - Test5, FREQ: 818000000 PIDS: 0 0
DVB_CONFIG, can't open device /dev/dvb/adapter1/frontend0, skipping
DVB_CONFIG, can't open device /dev/dvb/adapter2/frontend0, skipping
DVB_CONFIG, can't open device /dev/dvb/adapter3/frontend0, skipping
OPEN_DVB: prog=CT_1, card=1, type=2, vid=0, aid=0

dvb_streaming_start(PROG: CT_1, CARD: 1, VID: 0, AID: 0, TYPE: , FILE: (null))
PROGRAM NUMBER 9: name=CT_1, freq=506000000
DVB_OPEN_DEVICES(3)
OPEN(0), file /dev/dvb/adapter0/demux0: FD=4, CNT=0
OPEN(1), file /dev/dvb/adapter0/demux0: FD=5, CNT=1
OPEN(2), file /dev/dvb/adapter0/demux0: FD=7, CNT=2
DVB_SET_CHANNEL: new channel name=CT_1, card: 0, channel 9
dvb_tune Freq: 506000000
TUNE_IT, fd_frontend 3, fd_sec 0
freq 506000000, srate 0, pol Using DVB card "TechnoTrend/Hauppauge DEC2000-t Frontend"
tuning DVB-T to 506000000 Hz, bandwidth: 0
Getting frontend status
FE_STATUS: FE_HAS_SIGNAL FE_HAS_LOCK FE_HAS_CARRIER FE_HAS_VITERBI FE_HAS_SYNC
ERROR IN SETTING DMX_FILTER 257 for fd 4: ERRNO: 38ERROR, COULDN'T SET CHANNEL 9: DVBIN_CLOSE, close(2), fd=7, COUNT=2
DVBIN_CLOSE, close(1), fd=5, COUNT=1
DVBIN_CLOSE, close(0), fd=4, COUNT=0
Failed to open dvb://CT_1.

Exiting... (End of file)
====
Could I change something on my side to make it working?

Thank you for any help in advance.

Jiri

Change History (4)

comment:1 by reimar, 17 years ago

errno 38 is

#define ENOSYS 38 /* Function not implemented */

Which is a very rare error in the dvb sources, so my best guess is you forgot to install/load some module or something like that.

comment:2 by jiri@…, 17 years ago

(In reply to comment #1)

errno 38 is

#define ENOSYS 38 /* Function not implemented */

Which is a very rare error in the dvb sources, so my best guess is you forgot
to install/load some module or something like that.

I hope, that relevant modules are running. In lsmod I see (shortened):

ttusb_dec 23820 0
dvb_core 85288 1 ttusb_dec
ttusbdecfe 5888 1 ttusb_dec
usbcore 144004 5 hci_usb,ttusb_dec,ehci_hcd,ohci_hcd

From dmesg
[ 21.724000] DVB: registering new adapter (DEC2000-t).
[ 21.728000] DVB: registering frontend 0 (TechnoTrend/Hauppauge DEC2000-t Frontend)...

find /dev/dvb/
/dev/dvb/
/dev/dvb/adapter0
/dev/dvb/adapter0/net0
/dev/dvb/adapter0/frontend0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/demux0

Firmware for was also uploaded well.

with tzap I can tune channels fine

tzap -r CT_1
status 1f | signal 0002 | snr 0000 | ber b7e234fc | unc b7e1dff8 | FE_HAS_LOCK

and with
tzap -r CT_1 # running in one terminal
# and in parrallel I can run
/usr/local/bin/mplayer /dev/dvb/adapter0/dvr0
# but with /dev/dvb/adapter0/dvr0 only not dvb://CT_1

My guess is that:

  • implementation in kernel has changed?
  • my device Hauppauge DEC2000-t do not support some functionality which mplayer expected, but tzap (but then why this worked fine with older kernel?)
  • I'm using wrong config files / syntax (but then why this worked fine with older kernel?)

Please let me know, which kind of information can be helpful.

comment:3 by reimar, 17 years ago

Owner: changed from r_togni@… to nsabbi@…

I do not know enough about dvb stuff, combined with the fact that at least the driver for your card is almost 100% devoid of any and all comments makes it hard to help.
If you feel like kernel hacking you could of course add printks before the
return -ENOSYS; in ttusb_dec.c and try to find out what exactly causes that, but even with loadable modules that's not really fun.

comment:4 by nsabbi@…, 17 years ago

Status: newassigned

it seems obvious that something has changed in the drivers, in which
case the changelog in the kernel will help you to identify what.
The problem seems in the setting of the demux (pid) filter.
IIRC the 2000t is an usb full-featured decoder (with hardware mpeg2 decoder);
in this case the pid types will likely need to be DMX_TYPE_VIDEO and DMX_TYPE_AUDIO instead of DMX_TYPE_OTHER;
try to change it in dvb_tune.c and zero all other pids in channels.conf (audio etc.)
If it works then the driver author should be shot for having introduced such an
evident regression

Note: See TracTickets for help on using tickets.