[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