LinHES Forums http://forum.linhes.org/ |
|
R5E50 - problem with multiple DVB usb tuners http://forum.linhes.org/viewtopic.php?f=2&t=13294 |
Page 1 of 1 |
Author: | garydawes [ Thu Jan 04, 2007 11:08 am ] |
Post subject: | R5E50 - problem with multiple DVB usb tuners |
Just upgraded this morning to R5E50, and i have to say that I'm very impressed. however i have an issue with the 2 freecom / wideview usb dvb tuners I have, which have worked flawlessy in the last 2 revisions. What's happening is that both tuners are seen by linux, and are correctly loading the relevant firmware file, but Myth etc can only see the first tuner which is picked up. It's not a hardware problem, as i have tried with the sticks reversed and with only 1 stick at a time plugged in, and with only one stick connected, it works. It is only the second stick which is not picked up when both are plugged in. these are the relevant lines from dmesg dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware dvb-usb: downloading firmware from file 'dvb-usb-wt220u-02.fw' dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw' usbcore: registered new driver dvb_usb_dtt200u dvb-usb: generic DVB-USB module successfully deinitialized and disconnected. dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state. dvb-usb: will use the device's hardware PID filter (table count: 15). dvb-usb: schedule remote query interval to 300 msecs. dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected. dvb-usb: recv bulk message failed: -110 and from messages... Jan 4 16:42:08 mythtv kernel: dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware Jan 4 16:42:08 mythtv kernel: dvb-usb: downloading firmware from file 'dvb-usb-wt220u-02.fw' Jan 4 16:42:08 mythtv kernel: dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware Jan 4 16:42:08 mythtv kernel: dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw' Jan 4 16:42:08 mythtv kernel: usbcore: registered new driver dvb_usb_dtt200u Jan 4 16:42:08 mythtv kernel: dvb-usb: generic DVB-USB module successfully deinitialized and disconnected. Jan 4 16:42:08 mythtv kernel: dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state. Jan 4 16:42:08 mythtv kernel: dvb-usb: will use the device's hardware PID filter (table count: 15). Jan 4 16:42:08 mythtv kernel: dvb-usb: schedule remote query interval to 300 msecs. Jan 4 16:42:08 mythtv kernel: dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected. When I do a ls on /dev/dvb it only lists adaptor0, so it seems liek it's not creating the devices on the fly, or that they should be created manually for the stick to use, but i've been unable to work out how to do that. Any assistance would be greatly appeciated. Thanks Gaz |
Author: | garydawes [ Sat Jan 06, 2007 9:52 am ] |
Post subject: | |
Now fixed. A reinstall was the answer, and now udev is creating the correct adaptor entries. |
Author: | gazza [ Sat Feb 17, 2007 5:03 am ] |
Post subject: | |
scrub that last post! I performed a reinstall this morning for other reasons, but the problem has reappeared, and several upgrades have not resolved the issue, so my earlier cure , where I just reupgraded, seems to have been a fluke. any ideas on wht I can tweak regards Gaz |
Author: | tjc [ Sat Feb 17, 2007 9:27 am ] |
Post subject: | |
See this thread about pinning down the udev device assignments. http://mysettopbox.tv/phpBB2/viewtopic.php?t=13520 |
Author: | gazza [ Tue Feb 20, 2007 1:43 am ] |
Post subject: | |
I've been trying to work through this, and getting nowhere very fast indeed! turning on logging on udev has not revealed anything useful to me. I have tried commenting out the lines in udev.rules under the video section, and I have also added the rule and script below which is taken from the dvb-usb documentation, and also suggested on other forums. /etc/udev/rules.d/udev.rules part about dvb # dvb devices KERNEL="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c", GROUP="video", MODE="0660" /etc/udev/scripts/dvb.sh #!/bin/sh /bin/echo $1 | /bin/sed -e 's,dvb\([0-9]\)\.\([^0-9]*\)\([0-9]\),dvb/adapter\1/\2\3,' #end of script All this does is not load anything. I have also tried loading making the device nodes manually, and running with the udev stuff commented out, unsurprisingly this did nothing as well. I' open to any suggestions or help with this. thanks gaz |
Author: | tjc [ Tue Feb 20, 2007 7:49 pm ] |
Post subject: | |
Well, bruce_s01 is our expert on this and is also UK based. If he doesn't respond here, try PM-ing him or posting over in the thread I pointed you to, and see if he can help. In the meantime, did you make sure that script was executable? What does Code: ls -l /etc/udev/scripts/dvb.sh
show? If it doesn't look say something like -rwxr-xr-x in the first column that may be your problem. |
Author: | gazza [ Wed Feb 21, 2007 1:42 am ] |
Post subject: | |
Thanks, I'll give Bruce a chance to reply here before I cross post, I've checked for the script not being executable... Code: root@mythtv:~# cd /etc/udev/scripts root@mythtv:/etc/udev/scripts# ls -l total 8 -rwxr-xr-x 1 root root 96 Feb 17 12:15 dvb.sh -rwxr-xr-x 1 root root 442 Dec 13 07:44 mythtv_udev_monitor.sh Oddly when you browse through the files in sys/class/usb_device/usbdevx.x one card shows information such as manufacturer etc, but the other just shows generic information. which indicates that usb is not identifing the second stick as a digital tv card. however they are both picked up and reported in dmesg, and firmware loaded etc. And both cards work fine on their own. this is udevinfo on the card picked up Code: looking at device '/class/usb_device/usbdev3.5': KERNEL=="usbdev3.5" SUBSYSTEM=="usb_device" DRIVER=="" ATTR{dev}=="189:260" looking at parent device '/devices/pci0000:00/0000:00:02.2/usb3/3-2': KERNELS=="3-2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{product}=="Digital TV Receiver" ATTRS{manufacturer}=="Digital TV Receiver" ATTRS{maxchild}=="0" ATTRS{version}==" 2.00" ATTRS{devnum}=="5" ATTRS{speed}=="480" ATTRS{bMaxPacketSize0}=="64" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="00" ATTRS{bcdDevice}=="0602" ATTRS{idProduct}=="0221" ATTRS{idVendor}=="14aa" ATTRS{bMaxPower}=="450mA" ATTRS{bmAttributes}=="a0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:02.2/usb3': KERNELS=="usb3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{serial}=="0000:00:02.2" ATTRS{product}=="EHCI Host Controller" ATTRS{manufacturer}=="Linux 2.6.18-chw-13 ehci_hcd" ATTRS{maxchild}=="6" ATTRS{version}==" 2.00" ATTRS{devnum}=="1" ATTRS{speed}=="480" ATTRS{bMaxPacketSize0}=="64" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="01" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="09" ATTRS{bcdDevice}=="0206" ATTRS{idProduct}=="0000" ATTRS{idVendor}=="0000" ATTRS{bMaxPower}==" 0mA" ATTRS{bmAttributes}=="e0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:02.2': KERNELS=="0000:00:02.2" SUBSYSTEMS=="pci" DRIVERS=="ehci_hcd" ATTRS{broken_parity_status}=="0" ATTRS{enable}=="1" ATTRS{modalias}=="pci:v000010DEd00000068sv00001458sd00005004bc0Csc03i20" ATTRS{local_cpus}=="ffffffff" ATTRS{irq}=="19" ATTRS{class}=="0x0c0320" ATTRS{subsystem_device}=="0x5004" ATTRS{subsystem_vendor}=="0x1458" ATTRS{device}=="0x0068" ATTRS{vendor}=="0x10de" looking at parent device '/devices/pci0000:00': KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS=="" and this is the udevinfo on the second... Code: looking at device '/class/usb_device/usbdev3.2': KERNEL=="usbdev3.2" SUBSYSTEM=="usb_device" DRIVER=="" ATTR{dev}=="189:257" looking at parent device '/devices/pci0000:00/0000:00:02.2/usb3/3-1': KERNELS=="3-1" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{maxchild}=="0" ATTRS{version}==" 2.00" ATTRS{devnum}=="2" ATTRS{speed}=="480" ATTRS{bMaxPacketSize0}=="64" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="ff" ATTRS{bDeviceSubClass}=="ff" ATTRS{bDeviceClass}=="ff" ATTRS{bcdDevice}=="0000" ATTRS{idProduct}=="022a" ATTRS{idVendor}=="14aa" ATTRS{bMaxPower}=="100mA" ATTRS{bmAttributes}=="80" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:02.2/usb3': KERNELS=="usb3" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{configuration}=="" ATTRS{serial}=="0000:00:02.2" ATTRS{product}=="EHCI Host Controller" ATTRS{manufacturer}=="Linux 2.6.18-chw-13 ehci_hcd" ATTRS{maxchild}=="6" ATTRS{version}==" 2.00" ATTRS{devnum}=="1" ATTRS{speed}=="480" ATTRS{bMaxPacketSize0}=="64" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="01" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="09" ATTRS{bcdDevice}=="0206" ATTRS{idProduct}=="0000" ATTRS{idVendor}=="0000" ATTRS{bMaxPower}==" 0mA" ATTRS{bmAttributes}=="e0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" looking at parent device '/devices/pci0000:00/0000:00:02.2': KERNELS=="0000:00:02.2" SUBSYSTEMS=="pci" DRIVERS=="ehci_hcd" ATTRS{broken_parity_status}=="0" ATTRS{enable}=="1" ATTRS{modalias}=="pci:v000010DEd00000068sv00001458sd00005004bc0Csc03i20" ATTRS{local_cpus}=="ffffffff" ATTRS{irq}=="19" ATTRS{class}=="0x0c0320" ATTRS{subsystem_device}=="0x5004" ATTRS{subsystem_vendor}=="0x1458" ATTRS{device}=="0x0068" ATTRS{vendor}=="0x10de" looking at parent device '/devices/pci0000:00': KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS=="" and here is the relevant desmg output Code: dvb-usb: found a 'WideView WT-220U PenType Receiver (based on ZL353)' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-wt220u-zl0353-01.fw' dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware dvb-usb: downloading firmware from file 'dvb-usb-wt220u-02.fw' usbcore: registered new driver dvb_usb_dtt200u dvb-usb: generic DVB-USB module successfully deinitialized and disconnected. dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state. dvb-usb: will use the device's hardware PID filter (table count: 15). dvb-usb: schedule remote query interval to 300 msecs. dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected. |
Author: | bruce_s01 [ Wed Feb 21, 2007 1:39 pm ] |
Post subject: | |
tjc wrote: Well, bruce_s01 is our expert on this and is also UK based. If he doesn't respond here, try PM-ing him or posting over in the thread I pointed you to, and see if he can help. I'm definitely not an expert. ![]() Quote: /etc/udev/rules.d/udev.rules part about dvb The files in rules.d are symlinks to files in /etc/udev/.
Firstly as you are not picking up any of the adaptors with your new script, I think you should revert your line in udev.rules, back to the original: Code: KERNEL=="dvb*", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf d vb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \ NAME="%c" What this does is for any device which is recognised as a DVB device, assign the variable K with the kernel name, then make K the remainder using shell parameter expansion. It then outputs the appropriate string using formatted printing the adapter number and under (as I understand it) that the remainder of the kernel names. Now it appears for some reason this rule is not being triggered twice, I assume this is due to the fact that for some reason it not finding a second dvb device. There does seem to be some difference in the values returned. It may be worthwhile posting the values returned by lsusb and having a look through the (many) values retuned by udevinfo -e and see what references there are to dvb devices. In my case (for PCI Nova-Ts) the following: Code: P: /class/dvb/dvb0.demux0 N: dvb/adapter0/demux0 P: /class/dvb/dvb0.dvr0 N: dvb/adapter0/dvr0 P: /class/dvb/dvb0.frontend0 N: dvb/adapter0/frontend0 P: /class/dvb/dvb0.net0 N: dvb/adapter0/net0 P: /class/dvb/dvb1.demux0 N: dvb/adapter1/demux0 P: /class/dvb/dvb1.dvr0 N: dvb/adapter1/dvr0 P: /class/dvb/dvb1.frontend0 N: dvb/adapter1/frontend0 P: /class/dvb/dvb1.net0 N: dvb/adapter1/net0 So doing the more detailed info: Code: bruce@homenet-pvr:/etc/udev$ udevinfo -a -p /class/dvb/dvb0.dvr0
Udevinfo starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device. looking at device '/class/dvb/dvb0.dvr0': KERNEL=="dvb0.dvr0" SUBSYSTEM=="dvb" DRIVER=="" ATTR{dev}=="212:5" looking at parent device '/devices/pci0000:00/0000:00:09.0/0000:05:07.2': KERNELS=="0000:05:07.2" SUBSYSTEMS=="pci" DRIVERS=="cx88-dvb" ATTRS{broken_parity_status}=="0" ATTRS{modalias}=="pci:v000014F1d00008802sv00000070sd00009002bc04sc80i00" ATTRS{local_cpus}=="ffffffff" ATTRS{irq}=="20" ATTRS{class}=="0x048000" ATTRS{subsystem_device}=="0x9002" ATTRS{subsystem_vendor}=="0x0070" ATTRS{device}=="0x8802" ATTRS{vendor}=="0x14f1" looking at parent device '/devices/pci0000:00/0000:00:09.0': KERNELS=="0000:00:09.0" SUBSYSTEMS=="pci" DRIVERS=="" ATTRS{broken_parity_status}=="0" ATTRS{modalias}=="pci:v000010DEd0000005Csv00000000sd00000000bc06sc04i01" ATTRS{local_cpus}=="ffffffff" ATTRS{irq}=="0" ATTRS{class}=="0x060401" ATTRS{subsystem_device}=="0x0000" ATTRS{subsystem_vendor}=="0x0000" ATTRS{device}=="0x005c" ATTRS{vendor}=="0x10de" looking at parent device '/devices/pci0000:00': KERNELS=="pci0000:00" SUBSYSTEMS=="" DRIVERS=="" This might give us a reason why it is not being picked up. Bruce S. |
Author: | gazza [ Mon Mar 12, 2007 8:09 am ] |
Post subject: | |
been struggling to find a solution to this off and on. Setting up a local rule and a script based on the example in the dvb-usb documentation does not seem to work. Oddly though it has started to work of it's own accord. The only change I have actually made is when I commented the dvb lines in udev.rules to try the local rule. It has started picking up all the tuners after uncommenting the lines. |
Page 1 of 1 | All times are UTC - 6 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |