[pvrusb2] wintv pvr usb2 and HVR 1950 in same machine

Mike Isely isely at isely.net
Sun Aug 9 15:11:15 CDT 2009


On Mon, 3 Aug 2009, Roger wrote:

> On Sun, 2009-08-02 at 19:01 -0400, Julio Arruda wrote:
> > I'm using this 'combo', one old "WinTV PVR USB2 Model Category 29xxx" 
> > and a newer "WinTV HVR-1950 Model Category 751xx", with latest code 
> > pvrusb2-mci-20090626.
> > 
> > What I would like to know is  how to force video0 and video1 to map to 
> > specific devices (I assume will need to be based in device id in the 
> > USB), but I'm not quite familiar with Ubuntu 8.10 hotplug/udev.
> 
> Just a quick note here.  Already gave Mike my feedback on this.
> 
> I have a pvrusb2 & hvr-1950 as well.
> 
> It seems, the pvrusb2 always gets /dev/video0 here when both devices are
> connected.  Since it takes a little while for the firmware to load for
> the hvr-1950 as well as DVB to initialize, the hvr1950 gets /dev/video1.
> 
> My hvr-1950 model version is "75111 LF, Rev. C3E9" which uses the
> s5h1411 module for it's s5h1411.  The earlier hvr-1950's don't use the
> s5h1411 chip from what I hear.  So this could also affect load times, as
> well as other things. <shrugs>

Julio:

There unfortunately really isn't a way to force things, at least from 
the software side of it.  Obviously as you know the device assignment is 
based by default on detection order which is a fact of life when dealing 
with hotplugged devices of the same type (which these logically are).  
There is a module option you can use to force the minor number 
assignment, but that still doesn't help here because the option's 
specification also only works based on detection order.

In theory it should be possible to supply some kind of discriminating 
data to a udev script and thus cause udev to tell the devices apart and 
assign custom names.  This is how a Debian system keep consistent 
ethernet interface names (using the mac address as the differentiator).  
But right now the driver isn't supplying anything to udev that would 
make this possible.  Well, in THEORY you might be able to use the 
device's serial number which is a USB generic (not pvrusb2-specific) 
attribute, but I've been unable to verify that the information is 
getting to udev (I think it should be getting there if you are using a 
kernel version 2.6.30 or later but I have not verified that yet).

This is sounding pretty confusing.  Let me try again...

Really short answer: It isn't possible.

Somewhat less short answer: You might be able to program udev to 
differentiate based on device serial number or product ID but I haven't 
verified that this works.

Lengthier answer: I believe that there should be a way for the pvrusb2 
driver to pass additional pvrusb2-specific attributes to udev but so far 
I haven't figured it out yet.  If I could get that to work then there 
are multiple additional things one could stick in a udev script to tell 
multiple devices apart (and therefore assign a custom device name to 
each).

Roger:

The FX2 firmware image, though different, is the same size regardless of 
device type.  The same kind of microcontroller is used in both cases so 
one should not be detected "faster" than the other.  There is one other 
difference though - since the HVR-1950 is also a DVB device, there is a 
DVB aspect to driver initialization that happens in that case and that 
could result in a slightly longer time before the device node is 
created.

If the two devices really are initializing at virtually the same 
instant, you *might* be able to influence their ordering simply by 
trading USB sockets between them.  But that's not exactly a stable 
solution to this.

  -Mike



-- 

Mike Isely
isely @ isely (dot) net
PGP: 03 54 43 4D 75 E5 CC 92 71 16 01 E2 B5 F5 C1 E8


More information about the pvrusb2 mailing list