[pvrusb2] WinTV HVR-1975 (with official drivers) failing to load firmware
isely at isely.net
isely at isely.net
Sun Sep 18 11:22:03 CDT 2016
On Sun, 18 Sep 2016, Ian Goldberg wrote:
> On Sun, Sep 18, 2016 at 03:37:00AM +0000, Gary Buhrmaster wrote:
> > Lastly, the 1975 is more like two devices than one.
> > It has both the ATSC and DVB demods on board,
> > and likely (although I have no personal experience)
> > needs two sets of firmware blobs (one for each
> > demod)?
>
> It does come with two firmware blobs:
>
> 16382 Mar 2 2014 v4l-cx25840.fw
> 16384 Jan 5 2015 v4l-pvrusb2-160xxx-01.fw
There's one missing.
v4l-cx25840.fw is needed for the cx25840 chip (which handles analog
demodulation). Earlier pvrusb2 devices (very early - the model 29xxx
series) had a different part which didn't need this firmware. This
firmware, btw, is not specific to the pvrusb2 driver. Any other v4l
device which uses this chip generally needs the same firmware.
v4l-pvrusb2-160xxx-01.fw is not a name that the "official" pvrusb2
driver uses but it probably corresponds to the Cypress FX2 firmware
needed in the HVR-1975 (this part is effectively the controller for
everything else). This firmware blob is very specific to the device in
question - only the pvrusb2 driver will ever care about it.
To handle analog video (e.g. composite / s-video input or pre-digital
TV) there is another chip present which has its own processor and
performs the mpeg2 encoding step. For digital video this part should
become a pass-through (memory is foggy there). It has a required
firmware blob, that without it, the part will not work.
>
> In kern.log, I do see lines like this:
>
> cx25840 7-0044: loaded v4l-cx25840.fw firmware (16382 bytes)
Right, that's a success message for v4l-cv25840.fw.
>
> and lines like this:
>
> pvrusb2: firmware2 upload transfer failure
And that's a failure loading the mpeg2 encoder chip's firmware. However
if the firmware blob were just not present in your system, there should
have been a more specific message to that effect. This sounds like the
firmware was located & loaded but the part refused to start afterwards.
That's a mystery.
Every pvrusb2-driven device has one of these encoders resident within
it. There are several different versions of the firmware floating
around. I have generally found through empirical experiment that it
doesn't really matter which version gets used. However with that said,
I've obviously never had any experience with the HVR-1975, so maybe it
needs a later version than what the pvrusb2 driver apparently is finding
on your system.
>
> but nothing specifically naming the file v4l-pvrusb2-160xxx-01.fw.
That firmware blob gets loaded very early. The process is sort of like
a bootstrap. You see, the Cypress FX2 is the chip that communicates
between the host (via USB) and all the parts in the device. When the
device powers up, the FX2 runs a much simpler "please boot me" image
from internal ROM. The pvrusb2 driver sees this and responds by feeding
it that firmware. After the firmware is loaded, the device reboots
itself into the new image, which also has the effect of causing the
pvrusb2 driver to restart as well (because from the pvrusb2 driver's
viewpoint, the device disappeared and reappeared). This is OK because
the second time the pvrusb2 driver initializes, it discovers that the
device doesn't need a firmware image (because it's already there) and so
it just goes on with the rest of the startup. So because of this, the
firmware image technically loads "before" the pvrusb2 driver instance
whose log messages you are seeing. I don't recall if it printk's
anything earlier, though I imagine it probably is and you likely didn't
spot it.
>
> [Note that I'm happy to help with some kernel hacking, if that's
> useful for debugging.]
I need to analyze that patch hvr-1975 patch. That's going to take some
time. In the mean time, anyone that can help get its copyright status
cleared up will of course clear the way for it to be permanently merged
into the pvrusb2 driver, which in the end is really the right thing to
be done. If anyone is talking to Hauppauge, please ask them to contact
me. I've talked to them before, but the contact I used to work with
there has long since moved on to greener pastures.
-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