Using the same script for many years I was surprised to notice that all the new recordings did not contain any sound.
For a moment I thought the device was broken but after re-trying with openSuSE 12.2 I concluded that it had to be a software error or setting.
Using the command
sudo v4l2-ctl -d /dev/video1 --log-statusI tried to do some debugging.
This is the output for openSuSE 12.2 where everything works as expected:
[ 1438.650407] pvrusb2: ================= START STATUS CARD #0 =================
[ 1438.652688] cx25840 9-0044: Video signal: present
[ 1438.652693] cx25840 9-0044: Detected format: PAL-BDGHI
[ 1438.652697] cx25840 9-0044: Specified standard: automatic detection
[ 1438.652701] cx25840 9-0044: Specified video input: Composite 7
[ 1438.652704] cx25840 9-0044: Specified audioclock freq: 48000 Hz
[ 1438.658092] cx25840 9-0044: Detected audio mode: mono
[ 1438.658101] cx25840 9-0044: Detected audio standard: A2-BG
[ 1438.658108] cx25840 9-0044: Audio microcontroller: running
[ 1438.658115] cx25840 9-0044: Configured audio standard: automatic detection
[ 1438.658122] cx25840 9-0044: Configured audio system: automatic standard and mode detection
[ 1438.658132] cx25840 9-0044: Specified audio input: Tuner (In8)
[ 1438.658140] cx25840 9-0044: Preferred audio mode: stereo
[ 1438.658149] cx25840 9-0044: Selected 65 MHz format: system DK
[ 1438.658155] cx25840 9-0044: Selected 45 MHz format: chroma
[ 1438.667850] cx25840 9-0044: IR Receiver:
[ 1438.667869] cx25840 9-0044: Enabled: no
[ 1438.667881] cx25840 9-0044: Demodulation from a carrier: disabled
[ 1438.667894] cx25840 9-0044: FIFO: disabled
[ 1438.667905] cx25840 9-0044: Pulse timers' start/stop trigger: disabled
[ 1438.667917] cx25840 9-0044: FIFO data on pulse timer overflow: overflow marker
[ 1438.667929] cx25840 9-0044: FIFO interrupt watermark: half full or greater
[ 1438.667941] cx25840 9-0044: Loopback mode: normal receive
[ 1438.667958] cx25840 9-0044: Max measurable pulse width: 318144512 us, 318144512000 ns
[ 1438.667974] cx25840 9-0044: Low pass filter: disabled
[ 1438.667990] cx25840 9-0044: Pulse width timer timed-out: no
[ 1438.668026] cx25840 9-0044: Pulse width timer time-out intr: enabled
[ 1438.668038] cx25840 9-0044: FIFO overrun: no
[ 1438.668048] cx25840 9-0044: FIFO overrun interrupt: enabled
[ 1438.668064] cx25840 9-0044: Busy: no
[ 1438.668076] cx25840 9-0044: FIFO service requested: no
[ 1438.668089] cx25840 9-0044: FIFO service request interrupt: enabled
[ 1438.668101] cx25840 9-0044: IR Transmitter:
[ 1438.668111] cx25840 9-0044: Enabled: no
[ 1438.668123] cx25840 9-0044: Modulation onto a carrier: disabled
[ 1438.668135] cx25840 9-0044: FIFO: disabled
[ 1438.668147] cx25840 9-0044: FIFO interrupt watermark: half full or less
[ 1438.668159] cx25840 9-0044: Carrier polarity: space:noburst mark:burst
[ 1438.668174] cx25840 9-0044: Max pulse width: 318144512 us, 318144512000 ns
[ 1438.668187] cx25840 9-0044: Busy: no
[ 1438.668200] cx25840 9-0044: FIFO service requested: yes
[ 1438.668211] cx25840 9-0044: FIFO service request interrupt: enabled
[ 1438.668227] cx25840 9-0044: Brightness: 128
[ 1438.668244] cx25840 9-0044: Contrast: 68
[ 1438.668262] cx25840 9-0044: Saturation: 64
[ 1438.668279] cx25840 9-0044: Hue: 0
[ 1438.668296] cx25840 9-0044: Volume: 62225
[ 1438.668313] cx25840 9-0044: Mute: false
[ 1438.668331] cx25840 9-0044: Balance: 0
[ 1438.668350] cx25840 9-0044: Bass: 0
[ 1438.668365] cx25840 9-0044: Treble: 0
[ 1438.668384] pvrusb2: cx2341x config:
[ 1438.668396] pvrusb2: Stream: MPEG-2 Program Stream
[ 1438.668412] pvrusb2: VBI Format: No VBI
[ 1438.668424] pvrusb2: Video: 720x480, 30 fps
[ 1438.668438] pvrusb2: Video: MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
[ 1438.668460] pvrusb2: Video: GOP Size 12, 2 B-Frames, GOP Closure
[ 1438.668475] pvrusb2: Audio: 48 kHz, MPEG-1/2 Layer II, 224 kbps, Stereo, No Emphasis, No CRC
[ 1438.668494] pvrusb2: Spatial Filter: Manual, Luma 1D Horizontal, Chroma 1D Horizontal, 0
[ 1438.668509] pvrusb2: Temporal Filter: Manual, 8
[ 1438.668522] pvrusb2: Median Filter: Off, Luma [0, 255], Chroma [0, 255]
[ 1438.668541] pvrusb2_a driver: <ok> <init> <connected> <mode=analog>
[ 1438.668555] pvrusb2_a pipeline: <idle> <configok>
[ 1438.668567] pvrusb2_a worker: <decode:quiescent> <encode:virgin> <encode:waitok> <usb:stop> <pathway:ok>
[ 1438.668581] pvrusb2_a state: ready
[ 1438.668597] pvrusb2_a Hardware supported inputs: television, dtv, composite, s-video; allowed inputs: television, composite, s-video
[ 1438.668622] pvrusb2_a Bytes streamed=0 URBs: queued=0 idle=0 ready=0 processed=0 failed=0
[ 1438.668636] pvrusb2_a ir scheme: id=2 Zilog
[ 1438.668650] pvrusb2_a Associated v4l2-subdev drivers and I2C clients:
[ 1438.668664] pvrusb2_a cx25840: cx25840 @ 44
[ 1438.668676] pvrusb2_a tuner: tuner @ 42
[ 1438.668686] pvrusb2: ================== END STATUS CARD #0 ==================
And this is the output for openSuSE 12.3... let's look for the difference!
[31341.497675] pvrusb2: ================= START STATUS CARD #0 =================
[31341.500021] cx25840 0-0044: Video signal: not present
[31341.500041] cx25840 0-0044: Detected format: NTSC-M
[31341.500053] cx25840 0-0044: Specified standard: automatic detection
[31341.500065] cx25840 0-0044: Specified video input: Composite 7
[31341.500077] cx25840 0-0044: Specified audioclock freq: 48000 Hz
[31341.515412] cx25840 0-0044: Detected audio mode: forced mode
[31341.515423] cx25840 0-0044: Detected audio standard: forced audio standard
[31341.515429] cx25840 0-0044: Audio microcontroller: detecting
[31341.515436] cx25840 0-0044: Configured audio standard: undefined
[31341.515443] cx25840 0-0044: Configured audio mode: MONO1 (LANGUAGE A/Mono L+R channel for BTSC, EIAJ, A2)
[31341.515449] cx25840 0-0044: Specified audio input: Tuner (In8)
[31341.515455] cx25840 0-0044: Preferred audio mode: mono/language A
[31341.523377] cx25840 0-0044: IR Receiver:
[31341.523383] cx25840 0-0044: Enabled: no
[31341.523387] cx25840 0-0044: Demodulation from a carrier: disabled
[31341.523391] cx25840 0-0044: FIFO: disabled
[31341.523395] cx25840 0-0044: Pulse timers' start/stop trigger: disabled
[31341.523399] cx25840 0-0044: FIFO data on pulse timer overflow: overflow marker
[31341.523404] cx25840 0-0044: FIFO interrupt watermark: half full or greater
[31341.523407] cx25840 0-0044: Loopback mode: normal receive
[31341.523422] cx25840 0-0044: Max measurable pulse width: 318144512 us, 318144512000 ns
[31341.523427] cx25840 0-0044: Low pass filter: disabled
[31341.523431] cx25840 0-0044: Pulse width timer timed-out: no
[31341.523435] cx25840 0-0044: Pulse width timer time-out intr: enabled
[31341.523440] cx25840 0-0044: FIFO overrun: no
[31341.523443] cx25840 0-0044: FIFO overrun interrupt: enabled
[31341.523447] cx25840 0-0044: Busy: no
[31341.523451] cx25840 0-0044: FIFO service requested: no
[31341.523454] cx25840 0-0044: FIFO service request interrupt: enabled
[31341.523457] cx25840 0-0044: IR Transmitter:
[31341.523460] cx25840 0-0044: Enabled: no
[31341.523464] cx25840 0-0044: Modulation onto a carrier: disabled
[31341.523467] cx25840 0-0044: FIFO: disabled
[31341.523471] cx25840 0-0044: FIFO interrupt watermark: half full or less
[31341.523475] cx25840 0-0044: Carrier polarity: space:noburst mark:burst
[31341.523483] cx25840 0-0044: Max pulse width: 318144512 us, 318144512000 ns
[31341.523487] cx25840 0-0044: Busy: no
[31341.523490] cx25840 0-0044: FIFO service requested: yes
[31341.523493] cx25840 0-0044: FIFO service request interrupt: enabled
[31341.523509] cx25840 0-0044: Brightness: 128
[31341.523515] cx25840 0-0044: Contrast: 68
[31341.523522] cx25840 0-0044: Saturation: 64
[31341.523528] cx25840 0-0044: Hue: 0
[31341.523534] cx25840 0-0044: Volume: 62225
[31341.523541] cx25840 0-0044: Mute: false
[31341.523547] cx25840 0-0044: Balance: 0
[31341.523553] cx25840 0-0044: Bass: 0
[31341.523559] cx25840 0-0044: Treble: 0
[31341.523565] pvrusb2: cx2341x config:
[31341.523576] pvrusb2: Stream: MPEG-2 Program Stream
[31341.523582] pvrusb2: VBI Format: No VBI
[31341.523590] pvrusb2: Video: 720x480, 30 fps
[31341.523605] pvrusb2: Video: MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000
[31341.523610] pvrusb2: Video: GOP Size 12, 2 B-Frames, GOP Closure
[31341.523627] pvrusb2: Audio: 48 kHz, MPEG-1/2 Layer II, 224 kbps, Stereo, No Emphasis, No CRC
[31341.523636] pvrusb2: Spatial Filter: Manual, Luma 1D Horizontal, Chroma 1D Horizontal, 0
[31341.523641] pvrusb2: Temporal Filter: Manual, 8
[31341.523649] pvrusb2: Median Filter: Off, Luma [0, 255], Chroma [0, 255]
[31341.523663] pvrusb2_a driver: <ok> <init> <connected> <mode=analog>
[31341.523669] pvrusb2_a pipeline: <idle> <configok>
[31341.523681] pvrusb2_a worker: <decode:quiescent> <encode:virgin> <encode:waitok> <usb:stop> <pathway:ok>
[31341.523687] pvrusb2_a state: ready
[31341.523703] pvrusb2_a Hardware supported inputs: television, dtv, composite, s-video; allowed inputs: television, composite, s-video
[31341.523715] pvrusb2_a Bytes streamed=0 URBs: queued=0 idle=0 ready=0 processed=0 failed=0
[31341.523721] pvrusb2_a ir scheme: id=2 Zilog
[31341.523736] pvrusb2_a Associated v4l2-subdev drivers and I2C clients:
[31341.523739] pvrusb2_a cx25840: cx25840 @ 44
[31341.523743] pvrusb2_a tuner: tuner @ 42
[31341.523747] pvrusb2: ================== END STATUS CARD #0 ==================
The second line of the output reveals the cause of the problem.
For some strange reason, the default format for the cx25840 was changed from PAL-BDGHI to NTSC-M. (probably some default setting change between kernel 3.4 and 3.6/3.7)
This results in the behaviour described above. You still get a decent image but no sound.
To change the format back to PAL I added the following line to my script:
v4l2-ctl -s pal-BSeems like an unimportant post but when looking for the problem I found a lot of people with a similar problem but no fix.
I hope some people use the to resolve the same problem... quicker... ;-)