Kworld USB HDTV Tuner

Simple question. I bough a HDTV Tuner from Kworld. I wanted to set it up, but the TV Card option that used to be in YAST in openSUSE 12.3 and prior versions, is no longer there. I have tried installing different TV apps and nothing seems to work. Where should I go to set it up?

Any Ideas?

Running openSUSE 13.1 64bit.

On 2014-07-17 01:26 (GMT) cepiolidus composed:

> Simple question. I bough a HDTV Tuner from Kworld. I wanted to set it
> up, but the TV Card option that used to be in YAST in openSUSE 12.3 and
> prior versions, is no longer there. I have tried installing different TV
> apps and nothing seems to work. Where should I go to set it up?

> Any Ideas?

> Running openSUSE 13.1 64bit.

http://software.opensuse.org/package/yast2-tv?search_term=yast2-tv shows
yast2-tv exists for both 12.3 and Factory at same noarch version, so I’d be
rather surprised if it would not work by downloading from 12.3 or Factory
repo and installing manually with rpm.

“The wise are known for their understanding, and pleasant
words are persuasive.” Proverbs 16:21 (New Living Translation)

Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!

Felix Miata *** http://fm.no-ip.com/

Are you suggesting to install a 12.3 libary into a 13.1? what about all the dependencies and any other stability issues?

This is no library, it is just a YaST module written in YCP, a scripting language.

And the 12.3 version works fine on 13.1.

But, I don’t think it will help you.

The Tuner should be detected automatically by the kernel and the correct driver loaded anyway.
If the driver does not work, it won’t work after you force it to be loaded via YaST (by creating a modprobe.d file) either.

Unfortunately I do not know your tuner card. Is it DVB or analog?
Could you please post the output of “lsusb”?
Which applications have you tried to use?

I had absolutely no problem with both here. Everything is detected automatically, without having to configure anything.

lsusb
Bus 001 Device 017: ID 1b80:e43f Afatech

There are more devices but this is the usb tv tuner.

This is the tuner I have.
http://global.kworld-global.com/main/prod_in.aspx?mnuid=1248&modid=6&fcid=32&pcid=288&ifid=439&prodid=1825

I have tried it on tvtime & xawtv

On 07/19/2014 07:56 AM, cepiolidus wrote:
>
> Code:
> --------------------
> lsusb
> Bus 001 Device 017: ID 1b80:e43f Afatech
> --------------------
>
>
> There are more devices but this is the usb tv tuner.
>
> This is the tuner I have.
> http://tinyurl.com/mnoec83
>
> I have tried it on tvtime & xawtv

No TV program will work unless you have loaded the driver and get file
/dev/video0 created.

My search of the kernel sources shows no driver for the USB ID you posted above.
In
http://linuxtv.org/wiki/index.php/KWorld_UB445-U2_ATSC_Hybrid_TV_Stick#Making_it_Work,
the active chip is described as a Conexant CX23102-11Z. Most of these chips are
supported by driver cx231xx.

My time is limited now, but later I will post some commands that might help
determine if this device will work with that driver.

On 07/19/2014 09:51 AM, Larry Finger wrote:
> On 07/19/2014 07:56 AM, cepiolidus wrote:
>>
>> Code:
>> --------------------
>> lsusb
>> Bus 001 Device 017: ID 1b80:e43f Afatech
>> --------------------
>>
>>
>> There are more devices but this is the usb tv tuner.
>>
>> This is the tuner I have.
>> http://tinyurl.com/mnoec83
>>
>> I have tried it on tvtime & xawtv
>
> No TV program will work unless you have loaded the driver and get file
> /dev/video0 created.
>
> My search of the kernel sources shows no driver for the USB ID you posted above.
> In
> http://linuxtv.org/wiki/index.php/KWorld_UB445-U2_ATSC_Hybrid_TV_Stick#Making_it_Work,
> the active chip is described as a Conexant CX23102-11Z. Most of these chips are
> supported by driver cx231xx.
>
> My time is limited now, but later I will post some commands that might help
> determine if this device will work with that driver.

Please try the following and see what gets reported on the console, and at the
end of the output of the dmesg command.


su -
modprobe -v cx231xx
echo "1b80 e43f" > /sys/bus/usb/drivers/cx231xx/new_id

modprobe -v cx231xx
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.

echo "1b80 e43f" > /sys/bus/usb/drivers/cx231xx/new_id

dmesg
[521998.576937] usbcore: registered new interface driver cx231xx
[522017.236624] cx231xx #0: New device Conexant Corporation Polaris AV Capture @ 480 Mbps (1b80:e43f) with 6 interfaces
[522017.236630] cx231xx #0: registering interface 1
[522017.236723] cx231xx #0: Identified as Unknown CX231xx video grabber (card=0)
[522017.334831] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[522017.342199] cx231xx #0: cx231xx #0: v4l2 driver version 0.0.2
[522017.359451] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[522017.375955] Unknown tuner type configuring SIF
[522017.377081] cx231xx #0: video_mux : 0
[522017.377086] cx231xx #0: do_mode_ctrl_overrides : 0xff
[522017.377821] cx231xx #0: do_mode_ctrl_overrides PAL
[522017.384448] cx231xx #0: cx231xx #0/0: registered device video1 [v4l2]
[522017.385154] cx231xx #0: cx231xx #0/0: registered device vbi0
[522017.385158] cx231xx #0: V4L2 device registered as video1 and vbi0
[522017.385161] cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
[522017.385164] cx231xx #0: Alternate setting 0, max size= 512
[522017.385166] cx231xx #0: Alternate setting 1, max size= 184
[522017.385168] cx231xx #0: Alternate setting 2, max size= 728
[522017.385170] cx231xx #0: Alternate setting 3, max size= 2892
[522017.385172] cx231xx #0: Alternate setting 4, max size= 1800
[522017.385175] cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
[522017.385177] cx231xx #0: Alternate setting 0, max size= 512
[522017.385180] cx231xx #0: Alternate setting 1, max size= 512
[522017.385182] cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
[522017.385184] cx231xx #0: Alternate setting 0, max size= 512
[522017.385186] cx231xx #0: Alternate setting 1, max size= 576
[522017.385188] cx231xx #0: EndPoint Addr 0x81, Alternate settings: 6
[522017.385195] cx231xx #0: Alternate setting 0, max size= 512
[522017.385198] cx231xx #0: Alternate setting 1, max size= 64
[522017.385200] cx231xx #0: Alternate setting 2, max size= 128
[522017.385202] cx231xx #0: Alternate setting 3, max size= 316
[522017.385204] cx231xx #0: Alternate setting 4, max size= 712
[522017.385206] cx231xx #0: Alternate setting 5, max size= 1424
[522017.392499] cx231xx #0: called cx231xx_uninit_vbi_isoc
[522017.392504] cx231xx #0: cx231xx_stop_stream():: ep_mask = 10
[522017.392832] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
[522017.402988] cx231xx #0: cx231xx-audio.c: probing for cx231xx non standard usbaudio
[522017.403464] cx231xx #0: EndPoint Addr 0x83, Alternate settings: 3
[522017.403468] cx231xx #0: Alternate setting 0, max size= 512
[522017.403470] cx231xx #0: Alternate setting 1, max size= 28
[522017.403472] cx231xx #0: Alternate setting 2, max size= 52
[522017.403474] cx231xx: Cx231xx Audio Extension initialized
[522017.513351] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.513819] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.514236] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.516997] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.517449] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.517814] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.520607] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.521148] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.521453] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.524088] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.524573] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.525197] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.528087] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.528575] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.583209] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.586234] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.586707] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.587094] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.589718] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.590200] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.590505] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.593212] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.593695] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.594063] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.596717] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.597198] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.597688] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522017.616727] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
[522017.617200] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
[522017.624954] cx231xx #0: cx231xx_init_audio_isoc: Starting ISO AUDIO transfers
[522022.630187] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
[522206.357567] cx231xx #0:  setPowerMode::mode = 32, No Change req.
[522206.377548] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[522206.394163] Unknown tuner type configuring SIF
[522206.395295] cx231xx #0: video_mux : 0
[522206.395298] cx231xx #0: do_mode_ctrl_overrides : 0xff
[522206.396106] cx231xx #0: do_mode_ctrl_overrides PAL
[522206.403543] cx231xx #0: do_mode_ctrl_overrides : 0x1000
[522206.404282] cx231xx #0: do_mode_ctrl_overrides NTSC
[522206.412134] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
[522206.412933] cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
[522206.413193] cx231xx #0: cx231xx_start_stream():: ep_mask = 8
[522206.430541] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
[522206.447040] Unknown tuner type configuring SIF
[522206.448165] cx231xx #0: video_mux : 0
[522206.448169] cx231xx #0: do_mode_ctrl_overrides : 0x1000
[522206.448927] cx231xx #0: do_mode_ctrl_overrides NTSC
[522264.497453] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
[524174.397398] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
[524174.400389] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
[524220.762417] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
[524220.765411] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
[524567.326582] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
[524567.329577] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1

On 07/20/2014 09:36 AM, cepiolidus wrote:
>
> Code:
> --------------------
> modprobe -v cx231xx
> WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
>
> echo “1b80 e43f” > /sys/bus/usb/drivers/cx231xx/new_id
>
> dmesg
> [521998.576937] usbcore: registered new interface driver cx231xx
> [522017.236624] cx231xx #0: New device Conexant Corporation Polaris AV Capture @ 480 Mbps (1b80:e43f) with 6 interfaces
> [522017.236630] cx231xx #0: registering interface 1
> [522017.236723] cx231xx #0: Identified as Unknown CX231xx video grabber (card=0)
> [522017.334831] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
> [522017.342199] cx231xx #0: cx231xx #0: v4l2 driver version 0.0.2
> [522017.359451] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
> [522017.375955] Unknown tuner type configuring SIF
> [522017.377081] cx231xx #0: video_mux : 0
> [522017.377086] cx231xx #0: do_mode_ctrl_overrides : 0xff
> [522017.377821] cx231xx #0: do_mode_ctrl_overrides PAL
> [522017.384448] cx231xx #0: cx231xx #0/0: registered device video1 [v4l2]
> [522017.385154] cx231xx #0: cx231xx #0/0: registered device vbi0
> [522017.385158] cx231xx #0: V4L2 device registered as video1 and vbi0
> [522017.385161] cx231xx #0: EndPoint Addr 0x84, Alternate settings: 5
> [522017.385164] cx231xx #0: Alternate setting 0, max size= 512
> [522017.385166] cx231xx #0: Alternate setting 1, max size= 184
> [522017.385168] cx231xx #0: Alternate setting 2, max size= 728
> [522017.385170] cx231xx #0: Alternate setting 3, max size= 2892
> [522017.385172] cx231xx #0: Alternate setting 4, max size= 1800
> [522017.385175] cx231xx #0: EndPoint Addr 0x85, Alternate settings: 2
> [522017.385177] cx231xx #0: Alternate setting 0, max size= 512
> [522017.385180] cx231xx #0: Alternate setting 1, max size= 512
> [522017.385182] cx231xx #0: EndPoint Addr 0x86, Alternate settings: 2
> [522017.385184] cx231xx #0: Alternate setting 0, max size= 512
> [522017.385186] cx231xx #0: Alternate setting 1, max size= 576
> [522017.385188] cx231xx #0: EndPoint Addr 0x81, Alternate settings: 6
> [522017.385195] cx231xx #0: Alternate setting 0, max size= 512
> [522017.385198] cx231xx #0: Alternate setting 1, max size= 64
> [522017.385200] cx231xx #0: Alternate setting 2, max size= 128
> [522017.385202] cx231xx #0: Alternate setting 3, max size= 316
> [522017.385204] cx231xx #0: Alternate setting 4, max size= 712
> [522017.385206] cx231xx #0: Alternate setting 5, max size= 1424
> [522017.392499] cx231xx #0: called cx231xx_uninit_vbi_isoc
> [522017.392504] cx231xx #0: cx231xx_stop_stream():: ep_mask = 10
> [522017.392832] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
> [522017.402988] cx231xx #0: cx231xx-audio.c: probing for cx231xx non standard usbaudio
> [522017.403464] cx231xx #0: EndPoint Addr 0x83, Alternate settings: 3
> [522017.403468] cx231xx #0: Alternate setting 0, max size= 512
> [522017.403470] cx231xx #0: Alternate setting 1, max size= 28
> [522017.403472] cx231xx #0: Alternate setting 2, max size= 52
> [522017.403474] cx231xx: Cx231xx Audio Extension initialized
> [522017.513351] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.513819] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.514236] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.516997] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.517449] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.517814] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.520607] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.521148] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.521453] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.524088] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.524573] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.525197] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.528087] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.528575] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.583209] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.586234] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.586707] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.587094] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.589718] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.590200] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.590505] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.593212] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.593695] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.594063] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.596717] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.597198] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.597688] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522017.616727] cx231xx #0: cx231xx_initialize_stream_xfer: Audio enter HANC
> [522017.617200] cx231xx #0: cx231xx_start_stream():: ep_mask = 4
> [522017.624954] cx231xx #0: cx231xx_init_audio_isoc: Starting ISO AUDIO transfers
> [522022.630187] cx231xx #0: cx231xx_stop_stream():: ep_mask = 4
> [522206.357567] cx231xx #0: setPowerMode::mode = 32, No Change req.
> [522206.377548] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
> [522206.394163] Unknown tuner type configuring SIF
> [522206.395295] cx231xx #0: video_mux : 0
> [522206.395298] cx231xx #0: do_mode_ctrl_overrides : 0xff
> [522206.396106] cx231xx #0: do_mode_ctrl_overrides PAL
> [522206.403543] cx231xx #0: do_mode_ctrl_overrides : 0x1000
> [522206.404282] cx231xx #0: do_mode_ctrl_overrides NTSC
> [522206.412134] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
> [522206.412933] cx231xx #0: cx231xx_initialize_stream_xfer: set video registers
> [522206.413193] cx231xx #0: cx231xx_start_stream():: ep_mask = 8
> [522206.430541] cx231xx #0: cx231xx_dif_set_standard: setStandard to ffffffff
> [522206.447040] Unknown tuner type configuring SIF
> [522206.448165] cx231xx #0: video_mux : 0
> [522206.448169] cx231xx #0: do_mode_ctrl_overrides : 0x1000
> [522206.448927] cx231xx #0: do_mode_ctrl_overrides NTSC
> [522264.497453] cx231xx #0: cx231xx_stop_stream():: ep_mask = 8
> [524174.397398] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> [524174.400389] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> [524220.762417] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> [524220.765411] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> [524567.326582] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> [524567.329577] ALSA clock.c:309 2:1:1: cannot get freq at ep 0x1
> --------------------

That looks a bit encouraging as it created /dev/video1. In case it is not clear,
those commands will need to be redone after every boot.

Does ‘tvtime -m -d /dev/video1’ show video? Those ALSA clock.c messages may
indicate problems with audio.

tvtime -m -d /dev/video1 gives me a black screen and this is the output on the console:

Running tvtime 1.0.2.
Reading configuration from /etc/tvtime/tvtime.xml
Reading configuration from /home/cepiolidus/.tvtime/tvtime.xml
videoinput: Can't get tuner info: Inappropriate ioctl for device
videoinput: Can't set tuner audio mode: Inappropriate ioctl for device
videoinput: Can't get tuner info: Inappropriate ioctl for device
videoinput: Can't set tuner audio mode: Inappropriate ioctl for device
mixer: Can't open device /dev/mixer, mixer volume and mute unavailable.
videoinput: Tuner present, but our request to change to
videoinput: frequency 55250 failed with this error: Inappropriate ioctl for device.
videoinput: Please file a bug report at http://tvtime.net/

On 07/20/2014 02:36 PM, cepiolidus wrote:
>
> tvtime -m -d /dev/video1 gives me a black screen and this is the output
> on the console:
>
>
> Code:
> --------------------
> Running tvtime 1.0.2.
> Reading configuration from /etc/tvtime/tvtime.xml
> Reading configuration from /home/cepiolidus/.tvtime/tvtime.xml
> videoinput: Can’t get tuner info: Inappropriate ioctl for device
> videoinput: Can’t set tuner audio mode: Inappropriate ioctl for device
> videoinput: Can’t get tuner info: Inappropriate ioctl for device
> videoinput: Can’t set tuner audio mode: Inappropriate ioctl for device
> mixer: Can’t open device /dev/mixer, mixer volume and mute unavailable.
> videoinput: Tuner present, but our request to change to
> videoinput: frequency 55250 failed with this error: Inappropriate ioctl for device.
> videoinput: Please file a bug report at http://tvtime.net/
>
> --------------------

It looks as if the c231xx driver will need additional modifications.
Unfortunately, that is not something I can do. The maintainer for c231xx is
“Srinivasa Deevi <srinivasa.deevi@conexant.com>”. I would write him with a Cc to
linux-media@vger.kernel.org. Explain what we did, and ask if there is a Linux
driver for your USB ID.

Thank you for your help.