[pvrusb2] HVR-1900 needs driver change to support 16K fx2 firmware.

Mike Isely isely at isely.net
Sun Nov 22 18:51:51 CST 2009


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
> 
> 

-- 

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