Hi Mike, Thanks for the response.
On 8 Apr 2013, at 11:43, Mike Isely <[email protected]> wrote: > In times past when I've dealt with bugs involving "no captured audio", > the usual suspect was that the pvrusb2 hardware was being told to use > the wrong broadcast standard. It's possible to choose a standard that > is "close enough" for, say, video to work but not audio. There are > different modulation standards and frequencies for the embedded audio > and if that is set wrong, then of course there will be no audio. > > Making matters somewhat more confusing is that in many cases, the > hardware can successfully guess the correct audio configuration even > when the wrong standard is set. So you can get cases where, for > example, someone with a 24xxx series device will get working audio using > standard "XYZ" while someone else in the same country but using a 29xxx > device with the same "XYZ" standard still won't hear any audio :-( I'm about 98% certain of the broadcast standard I'm setting (PAL-Nc). Our regular TV (which is both NTSC- and PAL-capable) displays "PAL-N" and "SAP" when changing channels (not very technical I know!), and my testing (included below) would seem to point to PAL-Nc being the correct variation. To verify, I checked all supported standards as follows: root@rasptune ~# rmmod pvrusb2 root@rasptune ~# modprobe pvrusb2 debug=1 (waiting a moment for RF tracking filter calibration...) root@rasptune ~# cd /sys/class/pvrusb2/sn-7836611 root@rasptune:/sys/class/pvrusb2/sn-7836611# echo "PAL-Nc" > ctl_video_standard_mask_active/cur_val root@rasptune:/sys/class/pvrusb2/sn-7836611# v4l2-ctl --set-freq 163.25 Frequency set to 2612 (163.250000 MHz) root@rasptune:/sys/class/pvrusb2/sn-7836611# v4l2-ctl --log-status Status Log: [ 9525.734707] pvrusb2: ================= START STATUS CARD #0 ================= [ 9525.737103] cx25840 0-0044: Video signal: present [ 9525.737124] cx25840 0-0044: Detected format: PAL-Nc [ 9525.737137] cx25840 0-0044: Specified standard: automatic detection [ 9525.737165] cx25840 0-0044: Specified video input: Composite 7 [ 9525.737180] cx25840 0-0044: Specified audioclock freq: 48000 Hz [ 9525.745622] cx25840 0-0044: Detected audio mode: forced mode [ 9525.745665] cx25840 0-0044: Detected audio standard: forced audio standard [ 9525.745680] cx25840 0-0044: Audio microcontroller: detecting [ 9525.745692] cx25840 0-0044: Configured audio standard: undefined [ 9525.745704] cx25840 0-0044: Configured audio mode: MONO1 (LANGUAGE A/Mono L+R channel for BTSC, EIAJ, A2) [ 9525.745715] cx25840 0-0044: Specified audio input: Tuner (In8) [ 9525.745726] cx25840 0-0044: Preferred audio mode: stereo [ 9525.756834] cx25840 0-0044: IR Receiver: [ 9525.756866] cx25840 0-0044: Enabled: no [ 9525.756878] cx25840 0-0044: Demodulation from a carrier: disabled [ 9525.756887] cx25840 0-0044: FIFO: disabled [ 9525.756912] cx25840 0-0044: Pulse timers' start/stop trigger: disabled [ 9525.756924] cx25840 0-0044: FIFO data on pulse timer overflow: overflow marker [ 9525.756934] cx25840 0-0044: FIFO interrupt watermark: half full or greater [ 9525.756943] cx25840 0-0044: Loopback mode: normal receive [ 9525.756960] cx25840 0-0044: Max measurable pulse width: 318144512 us, 318144512000 ns [ 9525.756970] cx25840 0-0044: Low pass filter: disabled [ 9525.756979] cx25840 0-0044: Pulse width timer timed-out: no [ 9525.756988] cx25840 0-0044: Pulse width timer time-out intr: enabled [ 9525.756997] cx25840 0-0044: FIFO overrun: no [ 9525.757005] cx25840 0-0044: FIFO overrun interrupt: enabled [ 9525.757014] cx25840 0-0044: Busy: no [ 9525.757034] cx25840 0-0044: FIFO service requested: no [ 9525.757045] cx25840 0-0044: FIFO service request interrupt: enabled [ 9525.757054] cx25840 0-0044: IR Transmitter: [ 9525.757061] cx25840 0-0044: Enabled: no [ 9525.757070] cx25840 0-0044: Modulation onto a carrier: disabled [ 9525.757079] cx25840 0-0044: FIFO: disabled [ 9525.757088] cx25840 0-0044: FIFO interrupt watermark: half full or less [ 9525.757097] cx25840 0-0044: Carrier polarity: space:noburst mark:burst [ 9525.757110] cx25840 0-0044: Max pulse width: 318144512 us, 318144512000 ns [ 9525.757119] cx25840 0-0044: Busy: no [ 9525.757127] cx25840 0-0044: FIFO service requested: yes [ 9525.757135] cx25840 0-0044: FIFO service request interrupt: enabled [ 9525.757159] cx25840 0-0044: Brightness: 128 [ 9525.757179] cx25840 0-0044: Contrast: 68 [ 9525.757192] cx25840 0-0044: Saturation: 64 [ 9525.757204] cx25840 0-0044: Hue: 0 [ 9525.757215] cx25840 0-0044: Volume: 62225 [ 9525.757227] cx25840 0-0044: Mute: false [ 9525.757238] cx25840 0-0044: Balance: 0 [ 9525.757249] cx25840 0-0044: Bass: 0 [ 9525.757259] cx25840 0-0044: Treble: 0 [ 9525.757283] pvrusb2: cx2341x config: [ 9525.757299] pvrusb2: Stream: MPEG-2 Program Stream [ 9525.757314] pvrusb2: VBI Format: No VBI [ 9525.757327] pvrusb2: Video: 720x480, 30 fps [ 9525.757342] pvrusb2: Video: MPEG-2, 4x3, Variable Bitrate, 6000000, Peak 8000000 [ 9525.757359] pvrusb2: Video: GOP Size 12, 2 B-Frames, GOP Closure [ 9525.757376] pvrusb2: Audio: 48 kHz, MPEG-1/2 Layer II, 224 kbps, Stereo, No Emphasis, No CRC [ 9525.757399] pvrusb2: Spatial Filter: Manual, Luma 1D Horizontal, Chroma 1D Horizontal, 0 [ 9525.757425] pvrusb2: Temporal Filter: Manual, 8 [ 9525.757440] pvrusb2: Median Filter: Off, Luma [0, 255], Chroma [0, 255] [ 9525.757458] pvrusb2_a driver: <ok> <init> <connected> <mode=analog> [ 9525.757473] pvrusb2_a pipeline: <idle> <configok> [ 9525.757490] pvrusb2_a worker: <decode:quiescent> <encode:virgin> <encode:waitok> <usb:stop> <pathway:ok> [ 9525.757501] pvrusb2_a state: ready [ 9525.757522] pvrusb2_a Hardware supported inputs: television, dtv, composite, s-video; allowed inputs: television, composite, s-video [ 9525.757553] pvrusb2_a Bytes streamed=0 URBs: queued=0 idle=0 ready=0 processed=0 failed=0 [ 9525.757566] pvrusb2_a ir scheme: id=2 Zilog [ 9525.757587] pvrusb2_a Associated v4l2-subdev drivers and I2C clients: [ 9525.757596] pvrusb2_a cx25840: cx25840 @ 44 [ 9525.757605] pvrusb2_a tuner: tuner @ 42 [ 9525.757614] pvrusb2: ================== END STATUS CARD #0 ================== root@rasptune:/sys/class/pvrusb2/sn-7836611# for std in $(cat ctl_video_standard_mask_available/cur_val); \ do echo $std; echo $std > ctl_video_standard_mask_active/cur_val; \ timeout 10 cat /dev/video0 > /home/pi/test_$std.mpg; \ done PAL-B PAL-B1 PAL-G PAL-H PAL-I PAL-D PAL-D1 PAL-K PAL-N PAL-Nc SECAM-B SECAM-D SECAM-G SECAM-H SECAM-K SECAM-K1 SECAM-L SECAM-LC ATSC-8VSB ATSC-16VSB I've uploaded all the generated mpegs to http://bone.buckleycomputers.ie/hvr1900pvrusb2/ The only one with valid video is test_PAL-Nc.mpg. All are silent (but there is a very slight static in PAL-G, PAL-L, SECAM-G, and SECAM-LC). > > The pvrusb2 driver does not directly program the audio configuration in > the capture device. That job is left to the various chip drivers, e.g. > cx25840.ko in your case. What the pvrusb2 driver does do however is to > communicate the chosen standard out to the various chip drivers; then it > is up to each chip driver to use that information to create the > appropriate local configuration in the hardware. Do you know if there's a way I can force the cx25840 to use a particular standard? Looking through cx25840-core.c, there aren't very many of them - it'd be worth trying them all if I knew how. Also, one very specific question: In pvrusb2-hdw.c a comment mentions that: // Enable PAL-N for PAL-capable devices. One user in // Argentina has encountered this. Assuming that this is *your* comment - does this mean that someone else has broken this ground before? Do you know if they were successful? Once again, appreciate any help you can offer. Regards Dermot _______________________________________________ pvrusb2 mailing list [email protected] http://www.isely.net/cgi-bin/mailman/listinfo/pvrusb2
