[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