[pvrusb2] HVR-1900 needs driver change to support 16K fx2 firmware.
Gary Francis
gary.francis at serverlan.plus.com
Mon Nov 23 15:44:33 CST 2009
Mike,
In my previous text I was simply trying to describe two problems
that I observed
with the latest driver snapshot that I could find on your web site. The
snapshot dated 31st October 2009.
The two problems I see are:
1. The HVR-1900 device attributes does not have the 16K firmware bit
set. Although the HVR-1950 does.
2. The test add the end of the firmware upload prevents a 16K upload
from succeeding.
Sorry if my description was not very clear.
Is there a later snapshot of the driver than the one I referred to above?
Gary
Mike Isely wrote:
> Gary:
>
> The driver has already been updated (and since the HVR-1950 has BOTH
> 16KB and 8KB firmware floating around the actual fix is slightly more
> complex than simply checking for 16KB in place of 8KB).
>
> However there is a lag before the in-kernel version is going to pick up
> the changes. In the mean time you can grab the latest standalone driver
> which includes the needed changes. See here:
>
> http://www.isely.net/pvrusb2/download.html
>
> The documentation is also already updated to describe this situation.
> See here:
>
> http://www.isely.net/pvrusb2/setup.html#Firmware
>
> -Mike
>
>
> On Sun, 22 Nov 2009, Gary Francis wrote:
>
>
>> Hi Mike,
>> Firstly, thanks for all the effort in maintaining drivers for the pvrusb2.
>> I recently acquired an HVR-1900 and now have it working with both Ubuntu
>> 9.04 and Slackware64 13.0, except for the IR Blaster. Using the extract script
>> from the 20091031 snapshot I was able to extract the required firmware, but
>> had a couple of problems in using the latest FX2 firmware.
>>
>> The firmware for the HVR-1900 (From 1.2a driver CD) is now 16k in size. To use
>> this required two changes to the driver source.
>> 1. The addition of the 16k flag for the HVR-1900 in pvrusb2-devattr.c.
>> *** 393,398 ****
>> --- 393,399 ----
>> .flag_has_analogtuner = !0,
>> .flag_has_composite = !0,
>> .flag_has_svideo = !0,
>> + .flag_fx2_16kb = !0,
>> .signal_routing_scheme = PVR2_ROUTING_SCHEME_HAUPPAUGE,
>> .digital_control_scheme = PVR2_DIGITAL_SCHEME_HAUPPAUGE,
>> .led_scheme = PVR2_LED_SCHEME_HAUPPAUGE,
>>
>> 2. The firmware uploader pvr2_upload_firmware1 in pvrusb2-hdw.c checks is
>> hardcoded to check for an 8192 byte upload, causing a 16k upload to fail. I
>> changed this to use the actual size of firmware expected.
>> *** 1890,1897 ****
>>
>> trace_firmware("Upload done (%d bytes sent)",ret);
>>
>> ! /* We should have written 8192 bytes */
>> ! if (ret == 8192) {
>> hdw->fw1_state = FW1_STATE_RELOAD;
>> return 0;
>> }
>> --- 1890,1897 ----
>>
>> trace_firmware("Upload done (%d bytes sent)",ret);
>>
>> ! /* We should have written fwsize bytes */
>> ! if (ret == fwsize) {
>> hdw->fw1_state = FW1_STATE_RELOAD;
>> return 0;
>> }
>>
>> Keep up the good work
>>
>> Gary
>>
More information about the pvrusb2
mailing list