[linux-dvb] Firmware extraction script for Pinnacle PCTV Sat Pro USB

anton repko trcheton at gmail.com
Fri Jun 13 14:31:26 CEST 2008

I extracted firmware for DVB-S Pinnacle PCTV Sat Pro USB (450e) from file on
installation cd:
/mnt/cdrom0/Driver/PCTV 4XXe/pctv4XXe.sys
I placed it also on my site:
because Pinnacle has some new driver, which I haven't tried yet:

dd if=pctv4XXe.sys of=dvb-ttusb2-a.raw bs=8 skip=22287 count=1390
dd if=pctv4XXe.sys of=dvb-ttusb2-b.raw bs=8 skip=23682 count=1408
dd if=pctv4XXe.sys of=dvb-usb-pctv-400e-01.raw bs=8 skip=25093 count=1315
dd if=pctv4XXe.sys of=dvb-ttusb2-c.raw bs=8 skip=26411 count=1232
dd if=pctv4XXe.sys of=dvb-ttusb2-d.raw bs=8 skip=27646 count=1326
dd if=pctv4XXe.sys of=dvb-ttusb2-e.raw bs=8 skip=28975 count=1378
dd if=pctv4XXe.sys of=dvb-usb-pctv-450e-01.raw bs=8 skip=30356 count=1323
dd if=pctv4XXe.sys of=dvb-usb-pctv-452e-01.raw bs=8 skip=31682 count=1375

for i in *.raw; do
    j=$(echo $i | sed s/raw/fw/)
    ./convert $i $j
    rm $i

where "convert" is compiled (gcc convert.c -o convert) from following
#include <stdio.h>
int main (int argc, char *argv[])
    FILE *raw, *fw;
    unsigned char buf[22];
    int n;
    raw = fopen (argv[1], "r");
    fw = fopen (argv[2], "w");
    while (fread (buf, 1, 22, raw) == 22) {
        fwrite (buf, 1, 1, fw);
        n = buf[0];
        buf[n+5] = 0xff;
        fwrite (&buf[2], 1, n+4, fw);
    fclose (raw);
    fclose (fw);
    return 0;

There are also some "TechnoTrend TT-USB2" firmwares, which were not usable
with my hardware. Created dvb-usb-pctv-450e-01.fw is identical to already
used firmware. I copied dvb-usb-pctv-450e-01.fw to
/lib/firmware/dvb-usb-pctv-400e-01.fw and it was uploaded and worked
You can download extracted firmwares from attachment or

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080613/e1defaa2/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dvb-usb-pctv-450e-01.fw
Type: application/octet-stream
Size: 8818 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080613/e1defaa2/attachment-0002.obj 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dvb-usb-pctv-452e-01.fw
Type: application/octet-stream
Size: 9187 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/linux-dvb/attachments/20080613/e1defaa2/attachment-0003.obj 

More information about the linux-dvb mailing list