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
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.
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 },
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.
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
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
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
What's the status of this issue in kernel 2.6.20-rc5?
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
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.
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.
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
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.
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.
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
Please give me a little time. I'm preparing the latest (2.6.23) kernel and will post the results with your driver. Ritesh
Ritesh, did you get chance to test with later (hopefully newest) kernel?
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 ?
Created attachment 15424 [details] empia lsusb -vvv output Before anyone asks, here's the lsusb output for empia
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.
What device is this, what manufacturer? MSI? I might get hold of that device since I'll join Empiatech next month.
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.