Bug 6671 - usb tv tuner card doesn't work (eMPIA chipset)
Summary: usb tv tuner card doesn't work (eMPIA chipset)
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: em28xx (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: Mauro Carvalho Chehab
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-06-09 10:18 UTC by Ritesh Raj Sarraf
Modified: 2009-03-24 08:27 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.16.20
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
empia lsusb -vvv output (22.85 KB, text/plain)
2008-03-25 07:19 UTC, Ritesh Raj Sarraf
Details

Description Ritesh Raj Sarraf 2006-06-09 10:18:12 UTC
Most recent kernel where this bug did not occur: N/A
Distribution: Debian
Hardware Environment: Compaq Presario 2200 Series Laptop
Software Environment: 2.6.16.20 kernel
Problem Description: 
I have an eMPIA chipset based USB TV Tuner Card which uses the em28xx.ko 
kernel module. When I load the kernel modules, it loads without any errors but 
the device (/dev/video0) is not created under /dev.

I tried to manually create the video0 device as per the documents but when I 
try to execute any tv application it complain that it cannot open the device.
I believe the current em28xx.ko kernel module doesn't have support for my 
chipset's revision.

Here's the output of lsusb:
learner:~# lsusb
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 006: ID 046d:c00c Logitech, Inc. Optical Wheel Mouse
Bus 001 Device 005: ID 058f:9254 Alcor Micro Corp. Hub
Bus 004 Device 002: ID eb1a:2821 eMPIA Technology, Inc.
Bus 004 Device 001: ID 0000:0000

In the kernel documentation I've not seen 2821 being mentioned as a supported 
device.

I have attached all the required information related to this particular device 
at: http://www.researchut.com/gunther.tar.bz2


Steps to reproduce:
1) Load em28xx.ko (modprobe em28xx)
2) Run any TV application like xawtv/tvtime/mplayer.


Thanks,
Ritesh
Comment 1 Ritesh Raj Sarraf 2006-06-27 08:31:14 UTC
I tried kernel 2.6.17.1 today but still no luck.
The em28xx.ko module loads successfully but no /dev/video0 device gets 
created.
I'm sure this issue is with the em28xx.ko driver because when I load the dummy 
vivi.ko module, I do get a /dev/video0 device file.
Comment 2 Alexey Dobriyan 2006-08-17 14:24:25 UTC
Try this patch

--- a/drivers/media/video/em28xx/em28xx-cards.c
+++ b/drivers/media/video/em28xx/em28xx-cards.c
@@ -271,6 +271,7 @@ const unsigned int em28xx_bcount = ARRAY
 struct usb_device_id em28xx_id_table [] = {
 	{ USB_DEVICE(0xeb1a, 0x2800), .driver_info = EM2800_BOARD_UNKNOWN },
 	{ USB_DEVICE(0xeb1a, 0x2820), .driver_info = EM2820_BOARD_MSI_VOX_USB_2 },
+	{ USB_DEVICE(0xeb1a, 0x2821), .driver_info = EM2820_BOARD_MSI_VOX_USB_2 },
 	{ USB_DEVICE(0x0ccd, 0x0036), .driver_info = EM2820_BOARD_TERRATEC_CINERGY_250 },
 	{ USB_DEVICE(0x2304, 0x0208), .driver_info = EM2820_BOARD_PINNACLE_USB_2 },
 	{ USB_DEVICE(0x2040, 0x4200), .driver_info = EM2820_BOARD_HAUPPAUGE_WINTV_USB_2 },
Comment 3 Ritesh Raj Sarraf 2006-08-20 07:33:48 UTC
I tried the patch. With the patch applied, I'm able to get a /dev/video0 
device. But thats all, nothing more than that.

Here's what I get when running the available tv applicatons:

rrs@learner:~ $ tvtime
Running tvtime 1.0.1.
Reading configuration from /etc/tvtime/tvtime.xml
Reading configuration from /home/rrs/.tvtime/tvtime.xml

    Your capture card driver: em28xx [MSI VOX USB 2.0/4-1.1/1]
    does not support full size studio-quality images required by tvtime.
    This is true for many low-quality webcams.  Please select a
    different video device for tvtime to use with the command line
    option --device.

Thank you for using tvtime.
20:04:23
rrs@learner:~ $ xawtv
This is xawtv-3.94, running on Linux/i686 (2.6.17-my-patches)
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway

ERROR!  sizeof(I830DRIRec) does not match passed size from device driver
libGL warning: 3D driver returned no fbconfigs.
libGL error: InitDriver failed
libGL error: reverting to (slow) indirect rendering


tvtime shows just a blue screen where as xawtv shows me a complete white 
screen (Not the snowy screen).

Just to point you that Markus Rechberger (mrechberger@gmail.com) had helped me 
working on the driver for my card. He has been able to make it work. I get the 
video properly. I can watch tv. The only problem, at the moment, is that 
there's no sound.
You can check the changes in his tree.
Comment 4 Markus Rechberger 2006-08-27 17:26:36 UTC
actually I'd like to close that bug since it has nothing to do with the version 
which is available in the kernel.

For more information about this have a look at
http://linuxtv.org/v4lwiki/index.php/Em2880
Comment 5 Markus Rechberger 2006-08-27 17:31:47 UTC
just close it since the linuxtv driver is already too different from this one..

all upcoming issues regarding this driver should address the em28xx/em2880-dvb 
driver on linuxtv.org

once again:
http://linuxtv.org/v4lwiki/index.php/Em2880
http://linuxtv.org/v4lwiki/index.php/Talk:Em2880
Comment 6 Ritesh Raj Sarraf 2006-08-28 04:32:15 UTC
Markus,

The whole idea for me to open the bug here at Kernel.org's bugzilla was to have 
better tracking. With a bug filed here, more developers/distributors can keep 
track of it.

And since the em28xx card I've opened the bug for, is not working completely 
perfect in your tree at linuxtv.org, I'm re-opening this bug.

If you feel this is incorrect, please explain and close it.
But I think even if your tree had the complete support for the tree, this bug 
should remain open so that the USB maintainers should sometime pull your 
changes to the mainline kernel. I believe this would be the correct way to 
track the bug.

Thanks,
Ritesh
Comment 7 Adrian Bunk 2007-01-21 12:47:07 UTC
What's the status of this issue in kernel 2.6.20-rc5?
Comment 8 Markus Rechberger 2007-01-22 02:35:42 UTC
I suspended work on the em28xx till the end of January 2006 (I'm moving to a new
apartment)

The driver itself modifies various parts of the v4l framework I think it's
better to aim at 2.6.21. It also needs some more testing since some internal
APIs changed again.

Regarding this device Ritesh has to figure out the correct GPIO settings for
that device (how to figure out the correct settings is documented at
http://www.linuxtv.org/v4lwiki/index.php/USBVideo)
Some point will enable the audio transfer if it gets enabled in Windows.

I cannot do anything by myself since I don't have that device.

Markus
Comment 9 Ritesh Raj Sarraf 2007-01-22 05:18:18 UTC
I really don't have any idea about what to do ahead with it.

I had gathered the logs using a windows box but the logs came of very less use 
to me. Using the logs, I'm not able to find out the answers to Markus's 
questions, the one's regarding the audio output.

I did notice that the device has an audio output. So I believe if we can get 
Muakus's code committed, the video support will be there. That'd still be 
better than not having any support at all.
Comment 10 Markus Rechberger 2007-02-08 14:35:17 UTC
I'm almost about to ignore this thread here since you probably didn't do 
everything you could do..

a.) if you have an audio connector there, try to get it work in windows and 
capture the usbstream there with usbsnoop, parse the data and replay it in 
linux till you'll get some sound through it in linux as well.
The em282x is a very easy device that doesn't support any special and we got 
all of these devices work this way.

So if you really cannot figure it out it's better to close this request and to 
set it to "will not fix"

Regarding not committing the code to mainstream is a long story, but I don't 
want to put some fire on again and better stay quiet. Sooner or later it will 
get in it's just a matter of time now.
Comment 11 Markus Rechberger 2007-03-07 04:39:16 UTC
ok for the logs, I split off the project from the linuxtv project due 
irreversible problems with 2-3 other dvb developers who are responsible that 
there was no merging process at all and that I wasted alot of time.

Ritesh,

your problem does still occure?
If yes, can you provide an ssh account to a box where that device is attached 
so that it finally can be fixed?

Markus
Comment 12 Ritesh Raj Sarraf 2007-03-07 05:34:04 UTC
I finally gave up and bought an external tv tuner card which won't interfere 
with the CPU at all.

I still have the device and would love to be of help. We can get it fixed as 
we did it for the video earlier.
Comment 13 Mauro Carvalho Chehab 2007-11-06 09:25:58 UTC
Since Markus decided to stop supporting the in-kernel driver, I've added some em28xx patches that will allow autodetecting this board with a future in-kernel driver.

If you still have the board, can you test the latest development version, available at:
http://linuxtv.org/hg/v4l-dvb

Please post here the results of the test.
Comment 14 Markus Rechberger 2007-11-07 05:27:23 UTC
Since Mauro decided to take over without any option the company support will continue another way. Newer designs will be supported by an updated driver. Having to rewrite a driver more than 4 times (and initially asking how to get some issues solved _with_ those people and getting no answer but just flamed) is no option and if this is how the linux media community is organised they don't deserve any corporate support at all. Distributors will take the best working driver which won't have any big impact on other things.

A confirmation of this can be seen since there's no final RFC available what they're doing at the moment a bunch of people just throw out RFCs including some code which will get committed immediatelly (this is no community work either - instead work of some people behind the visible lines).

Mauro has to learn how to get people together instead of making people (in this example me) angry and the outcome of this is that I advice companies to not rely on how they manage all the media support in linux because it will have a very strong impact on the bringup time of their devices.

Markus
Comment 15 Ritesh Raj Sarraf 2007-11-13 08:35:09 UTC
Please give me a little time.

I'm preparing the latest (2.6.23) kernel and will post the results with your driver.

Ritesh
Comment 16 Natalie Protasevich 2008-03-24 15:29:39 UTC
Ritesh, did you get chance to test with later (hopefully newest) kernel?
Comment 17 Ritesh Raj Sarraf 2008-03-25 07:10:19 UTC
I don't see any changes from it was from the beginning.
em28xx loads but doesn't recognize my device at all. No messages, nothing.
Since I had thrown the tv tuner box into rubbish, I thought it would have gone bad.
But I've reconfirmed it on windows. It is still working.

dmesg output
em28xx v4l2 driver version 0.0.1 loaded
usbcore: registered new interface driver em28xx
usb 5-2: new high speed USB device using ehci_hcd and address 18
usb 5-2: configuration #1 chosen from 1 choice

Here's the parameters I used to load the module:
rrs@learner:/sys/module/em28xx/parameters$ for x in *; do echo -en "$x => "; cat $x; done
alt => 0
card => -1
core_debug => 1
disable_ir => 0
i2c_debug => 1
i2c_scan => 1
ir_debug => 0
isoc_debug => 0
reg_debug => 1
tuner => -1
vbi_nr => -1
video_debug => 0
video_nr => -1

rrs@learner:~$ ls /dev/vi*
/dev/video0

The /dev/video0 device is for my webcam.

Kernel => 2.6.24
Distro => Debian Testing/Unstable

I haven't been able to test it with the tree that Mauro had asked :-(

Is there any more info you need ?
Comment 18 Ritesh Raj Sarraf 2008-03-25 07:19:22 UTC
Created attachment 15424 [details]
empia lsusb -vvv output

Before anyone asks, here's the lsusb output for empia
Comment 19 Mauro Carvalho Chehab 2008-03-25 07:38:56 UTC
Please test with the latest v4l/dvb tree. There are several improvements on em28xx driver that are scheduled to 2.6.26.

The tree is available at:
   http://linuxtv.org/hg/v4l-dvb

You should notice that the USB ID eb1a:2821 is a generic ID, that identifies that the chipset is an em2821. So, the driver will use some generic parameters that may not apply to your particular device.

For us to add support for it(if not already in the driver), we'll need to know a little more about the device, like their brand name and the tuner inside. Hopefully, some of those info may be already available at bttv-gallery.
Comment 20 Markus Rechberger 2008-03-25 08:13:42 UTC
What device is this, what manufacturer? MSI?

I might get hold of that device since I'll join Empiatech next month.
Comment 21 Ritesh Raj Sarraf 2008-04-15 11:30:17 UTC
Markus,
I had provided you all the details long back when I filed the bugzilla. That included images of the chipset, verbose output of many applications and log files.
I don't have access to those files anymore.

Do you have them?
If not, I'll have to redo all of that.

Note You need to log in before you can comment on or make changes to this bug.