[linux-dvb] Digitv USB firmware loading issue

Jan Kämpe jkampe at iki.fi
Thu Dec 8 21:12:32 CET 2005


Hi,

When I tried with my Nebula USB digitv  I had the below mentioned problem
and narrowed it down to following:

In dvb-kernel (cvs as of 2005-11-29) the "problem" shows in  
function   dvb_usb_get_hexline (file dvb-usb-firmware.c);

When downloading the last "chunk" (at offset 4956) the 
hx->len equals to  16, but firmware size is 4965 
(i.e. hx->len points past the firmware size; maybe a faulty firmware file??)

The check/condition  if ((*pos + hx->len + 4) >= fw->size) detects this 
and thus the function returns -EINVAL.

I quess it is the same for current cvs version.

regards,
jan


On Thursday 08 December 2005 09:53, Patrick Boettcher wrote:
> Hi to everyone,
> 
> Could everyone who has a similar message in syslog, like the one below 
> please test the attached patch and see if it helps.
> 
> Problem is, that the firmware is downloaded and it seems that the last 
> packet (at least a packet at the end of the firmware) is not accepted 
> anymore. The download is failing then, without restarting the cypress CPU.
> 
> > Dec  5 00:37:18 localhost kernel: dvb-usb: found a 'Nebula Electronics
> > uDigiTV D
> > VB-T USB2.0)' in cold state, will try to load a firmware
> > Dec  5 00:37:18 localhost kernel: dvb-usb: downloading firmware from
> > file 'dvb-u
> > sb-digitv-01.fw'
> > Dec  5 00:37:18 localhost kernel: dvb-usb: firmware download failed at
> > 4956 with
> > -22
> > Dec  5 00:37:18 localhost kernel: dvb_usb_digitv: probe of 1-1:1.0
> > failed with e
> > rror -22
> > Dec  5 00:37:18 localhost kernel: usbcore: registered new driver
> > dvb_usb_digitv
> >



More information about the linux-dvb mailing list