Re: v4l2-ctl does not show all parameters for HVR-1900

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Mike,
Is there an existing roadmap to address these issues?

regards,
Koen

----- Oorspronkelijk bericht -----
Van: "Hans Verkuil" <hverkuil@xxxxxxxxx>
Aan: "de witte koen" <de_witte_koen@xxxxxxxxxx>, linux-media@xxxxxxxxxxxxxxx
Cc: "Mike Isely" <isely@xxxxxxxxx>
Verzonden: Dinsdag 6 september 2016 12:00:06
Onderwerp: Re: v4l2-ctl does not show all parameters for HVR-1900

On 09/05/16 21:01, de_witte_koen@xxxxxxxxxx wrote:
>
> In short:
> Is it normal that I can use the v4l2-ctl command to adjust brightness, saturation, hue, etc but not to adjust more interesting parameters like bitrate, aspect ration, etc?
>
> Working:
> pi@raspberrypi:~ $ cat /sys/class/pvrusb2/sn-4034395926/ctl_hue/cur_val
> 0
> pi@raspberrypi:~ $ v4l2-ctl -c hue=1
> pi@raspberrypi:~ $ cat /sys/class/pvrusb2/sn-4034395926/ctl_hue/cur_val
> 1
>
>
> Not working:
> pi@raspberrypi:~ $ cat /sys/class/pvrusb2/sn-4034395926/ctl_video_bitrate/cur_val
> 6000000
> pi@raspberrypi:~ $ v4l2-ctl -c bitrate=6000000
> unknown control 'bitrate'
> pi@raspberrypi:~ $ v4l2-ctl -c video_bitrate=6000000
> unknown control 'video_bitrate'
> pi@raspberrypi:~ $ v4l2-ctl -c ctl_video_bitrate=6000000
> unknown control 'ctl_video_bitrate'
>
> the pvrusb2 driver has created all sysfs parameters and they work using the "echo" method but I thought this was also the purpose of the v4l2-ctl command, correct?
>
> Some details, let me know if you need more.

The problem here is that the pvrusb2 driver predates the V4L2 control 
framework for handling controls. Instead it has its own implementation 
and that is known to be buggy. For a variety of reasons it is not easy 
to rework this driver to use the control framework.

I've CC-ed the maintainer, perhaps he can make a patch that at least 
exposes these controls through the QUERYCTRL ioctl (they don't seem to 
turn up when enumerating the controls, which is why the above fails).

Regards,

	Hans

>
> Regards,
> Koen
>
>
> pi@raspberrypi:~ $ uname -a
> Linux raspberrypi 4.4.13+ #894 Mon Jun 13 12:43:26 BST 2016 armv6l GNU/Linux
> pi@raspberrypi:~ $
>
>
>
> pi@raspberrypi:~ $ v4l2-ctl --all
> Driver Info (not using libv4l2):
>         Driver name   : pvrusb2
>         Card type     : WinTV HVR-1900 Model 73xxx
>         Bus info      : usb-20980000.usb-1.3
>         Driver version: 4.4.13
>         Capabilities  : 0x81270001
>                 Video Capture
>                 Tuner
>                 Audio
>                 Radio
>                 Read/Write
>                 Extended Pix Format
>                 Device Capabilities
>         Device Caps   : 0x01230001
>                 Video Capture
>                 Tuner
>                 Audio
>                 Read/Write
>                 Extended Pix Format
> Priority: 2
> Frequency for tuner 0: 980 (61.250000 MHz)
> Tuner 0:
>         Name                 :
>         Capabilities         : 62.5 kHz multi-standard stereo lang1 lang2 freq-bands
>         Frequency range      : 44.000 MHz - 958.000 MHz
>         Signal strength/AFC  : 0%/0
>         Current audio mode   : stereo
>         Available subchannels: mono lang2
> Video input : 0 (television: ok)
> Audio input : 0 (PVRUSB2 Audio)
> Video Standard = 0x00000000
> Format Video Capture:
>         Width/Height  : 720/480
>         Pixel Format  : ''
>         Field         : Interlaced
>         Bytes per Line: 0
>         Size Image    : 32768
>         Colorspace    : Unknown (00000000)
>         Flags         :
> Crop Capability Video Capture:
>         Bounds      : Left 0, Top 0, Width 0, Height 0
>         Default     : Left 0, Top 0, Width 0, Height 0
>         Pixel Aspect: 0/0
> Crop: Left 0, Top 0, Width 720, Height 480
> Streaming Parameters Video Capture:
>         Frames per second: 25.000 (25/1)
>         Read buffers     : 2
>                      brightness (int)    : min=0 max=255 step=1 default=128 value=128
>                        contrast (int)    : min=0 max=127 step=1 default=68 value=68
>                      saturation (int)    : min=0 max=127 step=1 default=64 value=64
>                             hue (int)    : min=-128 max=127 step=1 default=0 value=0
>                          volume (int)    : min=0 max=65535 step=1 default=62000 value=62000
>                         balance (int)    : min=-32768 max=32767 step=1 default=0 value=0
>                            bass (int)    : min=-32768 max=32767 step=1 default=0 value=0
>                          treble (int)    : min=-32768 max=32767 step=1 default=0 value=0
>                            mute (bool)   : default=0 value=0
>
> dmesg output:
>
>
> [    4.162258] scsi host0: usb-storage 1-1.2:1.0
> [    4.258220] usb 1-1.3: new high-speed USB device number 5 using dwc_otg
> [    4.382814] usb 1-1.3: New USB device found, idVendor=2040, idProduct=7300
> [    4.391713] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [    4.400866] usb 1-1.3: Product: WinTV
> [    4.406259] usb 1-1.3: Manufacturer: Hauppauge
> [    4.412471] usb 1-1.3: SerialNumber: 7300-00-F077FF16
> ...
> [   10.463517] media: Linux media interface: v0.10
> [   10.547654] Linux video capture interface: v2.00
> [   10.660771] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
> [   10.781359] pvrusb2: Hardware description: WinTV HVR-1900 Model 73xxx
> [   10.798664] usbcore: registered new interface driver pvrusb2
> [   10.798702] pvrusb2: V4L in-tree version:Hauppauge WinTV-PVR-USB2 MPEG2 Encoder/Tuner
> [   10.798721] pvrusb2: Debug mask is 1 (0x1)
> [   11.484744] systemd-journald[117]: Received request to flush runtime journal from PID 1
> [   11.782401] pvrusb2: Device microcontroller firmware (re)loaded; it should now reset and reconnect.
> [   11.974683] usb 1-1.3: USB disconnect, device number 5
> [   13.748236] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
> [   13.858748] usb 1-1.3: New USB device found, idVendor=2040, idProduct=7300
> [   13.858790] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> [   13.858810] usb 1-1.3: Product: WinTV
> [   13.858827] usb 1-1.3: Manufacturer: Hauppauge
> [   13.858844] usb 1-1.3: SerialNumber: 7300-00-F077FF16
> [   13.868612] pvrusb2: Hardware description: WinTV HVR-1900 Model 73xxx
> [   13.921561] pvrusb2: Binding ir_rx_z8f0811_haup to i2c address 0x71.
> [   13.921787] pvrusb2: Binding ir_tx_z8f0811_haup to i2c address 0x70.
> [   14.099430] cx25840 3-0044: cx25843-24 found @ 0x88 (pvrusb2_a)
> [   14.118546] pvrusb2: Attached sub-driver cx25840
> [   14.415416] tuner 3-0042: Tuner -1 found with type(s) Radio TV.
> [   14.415503] pvrusb2: Attached sub-driver tuner
> ...
> [   16.664488] cx25840 3-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
> [   16.786299] tveeprom 3-00a2: Hauppauge model 73219, rev D2F5, serial# 4034395926
> [   16.786337] tveeprom 3-00a2: MAC address is 00:0d:fe:77:ff:16
> [   16.786356] tveeprom 3-00a2: tuner model is NXP 18271C2 (idx 155, type 54)
> [   16.786377] tveeprom 3-00a2: TV standards PAL(B/G) PAL(I) SECAM(L/L') PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xf4)
> [   16.786393] tveeprom 3-00a2: audio processor is CX25843 (idx 37)
> [   16.786410] tveeprom 3-00a2: decoder processor is CX25843 (idx 30)
> [   16.786426] tveeprom 3-00a2: has radio, has IR receiver, has IR transmitter
> [   16.786522] pvrusb2: Device initialization completed successfully.
> [   16.833872] pvrusb2: registered device video0 [mpeg]
> [   16.833917] DVB: registering new adapter (pvrusb2-dvb)
> [   17.724319] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup
> [   17.725055] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
> [   19.185810] cx25840 3-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
> [   19.318894] tda829x 3-0042: setting tuner address to 60
> [   19.336993] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
> [   19.348636] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> [   19.408700] tda18271 3-0060: creating new instance
> [   19.458819] TDA18271HD/C2 detected @ 3-0060
> [   20.358789] tda18271: performing RF tracking filter calibration
> [   39.498969] tda18271: RF tracking filter calibration complete
> [   39.568994] tda829x 3-0042: type set to tda8295+18271
> [   46.439239] cx25840 3-0044: 0x0000 is not a valid video input!
> [   46.498783] usb 1-1.3: DVB: registering adapter 0 frontend 0 (NXP TDA10048HN DVB-T)...
> [   46.507172] tda829x 3-0042: type set to tda8295
> [   46.547113] tda18271 3-0060: attaching existing instance
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux