Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] WinTV NovaT firmware location for Technotrend ttlcdacc.dll 2.17



 I have not been able to find a 2.15a version of the Technotrend  ttlcdacc.dll 
file, the current download version is 2.17. After some investigation of the 
2.17 ttlcdacc.dll I attempted to load tda10045h firmware from offset 0x38ef8 
but the firmware does not run. Can anyone provide the correct firmware 
offsets for this version, or tell me how to find the firmware offsets? The 
firmware seems to be the same length as the 2.15a load so is probably the 
same binary. Below is a log of the attempted load. Kernel is SuSE 8.2 
2.4.20-4GB and the linux-dvb is linuxtv-dvb-1.1.1

    Mike Sheppard.

May 30 21:40:27  saa7146: register extension 'dvb'.
May 30 21:40:27  saa7146: register extension 'budget dvb'.
May 30 21:40:27  saa7146: register extension 'budget_ci dvb'.
May 30 21:40:27  saa7146_core: found saa7146 @ mem e0e39000 (revision 1, irq 
5)
  (0x13c2,0x1011).
May 30 21:40:27  DVB: registering new adapter (TT-Budget/WinTV-NOVA-T  PCI).
May 30 21:40:30  tda1004x_attach
May 30 21:40:30  tda1004x_read_byte: reg=0x0
May 30 21:40:30  tda1004x_read_byte: success reg=0x0, data=0x25, ret=2
May 30 21:40:30  tda1004x: Detected Philips TDA10045H.
May 30 21:40:30  tda1004x_enable_tuner_i2c
May 30 21:40:30  tda1004x_write_mask: reg=0x7, mask=0x2, data=0x2
May 30 21:40:30  tda1004x_read_byte: reg=0x7
May 30 21:40:30  tda1004x_read_byte: success reg=0x7, data=0x0, ret=2
May 30 21:40:30  tda1004x_write_byte: reg=0x7, data=0x2
May 30 21:40:30  tda1004x_write_byte: success reg=0x7, data=0x2, ret=1
May 30 21:40:30  tda1004x: Detected Philips TD1316 tuner.
May 30 21:40:30  tda1004x_disable_tuner_i2c
May 30 21:40:30  tda1004x_write_mask: reg=0x7, mask=0x2, data=0x0
May 30 21:40:30  tda1004x_read_byte: reg=0x7
May 30 21:40:30  tda1004x_read_byte: success reg=0x7, data=0x2, ret=2
May 30 21:40:30  tda1004x_write_byte: reg=0x7, data=0x0
May 30 21:40:30  tda1004x_write_byte: success reg=0x7, data=0x0, ret=1
May 30 21:40:30  tda1004x_write_mask: reg=0x7, mask=0x8, data=0x8
May 30 21:40:30  tda1004x_read_byte: reg=0x7
May 30 21:40:30  tda1004x_read_byte: success reg=0x7, data=0x0, ret=2
May 30 21:40:30  tda1004x_write_byte: reg=0x7, data=0x8
May 30 21:40:30  tda1004x_write_byte: success reg=0x7, data=0x8, ret=1
May 30 21:40:30  tda1004x_write_mask: reg=0x7, mask=0x8, data=0x0
May 30 21:40:30  tda1004x_read_byte: reg=0x7
May 30 21:40:30  tda1004x_read_byte: success reg=0x7, data=0x8, ret=2
May 30 21:40:30  tda1004x_write_byte: reg=0x7, data=0x0
May 30 21:40:30  tda1004x_write_byte: success reg=0x7, data=0x0, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0xc, data=0x14
May 30 21:40:30  tda1004x_write_byte: success reg=0xc, data=0x14, ret=1
May 30 21:40:30  tda1004x_write_buf: reg=0x2d, len=0x9
May 30 21:40:30  tda1004x_write_byte: reg=0x2d, data=0x2
May 30 21:40:30  tda1004x_write_byte: success reg=0x2d, data=0x2, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x2e, data=0x0
May 30 21:40:30  tda1004x_write_byte: success reg=0x2e, data=0x0, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x2f, data=0x3d
May 30 21:40:30  tda1004x_write_byte: success reg=0x2f, data=0x3d, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x30, data=0x0
May 30 21:40:30  tda1004x_write_byte: success reg=0x30, data=0x0, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x31, data=0x48
May 30 21:40:30  tda1004x_write_byte: success reg=0x31, data=0x48, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x32, data=0x17
May 30 21:40:30  tda1004x_write_byte: success reg=0x32, data=0x17, ret=1
May 30 21:40:30  tda1004x_write_byte: reg=0x33, data=0x89
May 30 21:40:31  tda1004x_write_byte: success reg=0x33, data=0x89, ret=1
May 30 21:40:31  tda1004x_write_byte: reg=0x34, data=0xc7
May 30 21:40:31  tda1004x_write_byte: success reg=0x34, data=0xc7, ret=1
May 30 21:40:31  tda1004x_write_byte: reg=0x35, data=0x14
May 30 21:40:31  tda1004x_write_byte: success reg=0x35, data=0x14, ret=1
May 30 21:40:31  tda1004x_write_byte: reg=0x38, data=0x0
May 30 21:40:31  tda1004x_write_byte: success reg=0x38, data=0x0, ret=1
May 30 21:40:31  tda1004x_write_byte: reg=0xe, data=0x0
May 30 21:40:31  tda1004x_write_byte: success reg=0xe, data=0x0, ret=1
May 30 21:40:31  tda1004x_fwupload: fw_pos=0x10
May 30 21:40:31  tda1004x_fwupload: fw_pos=0x20

------

May 30 21:40:33  tda1004x_fwupload: fw_pos=0x7750
May 30 21:40:33  tda1004x_fwupload: fw_pos=0x775b
May 30 21:40:33  tda1004x_write_mask: reg=0x7, mask=0x10, data=0x0
May 30 21:40:33  tda1004x_read_byte: reg=0x7
May 30 21:40:33  tda1004x_read_byte: success reg=0x7, data=0x0, ret=2
May 30 21:40:33  tda1004x_write_byte: reg=0x7, data=0x0
May 30 21:40:33  tda1004x_write_byte: success reg=0x7, data=0x0, ret=1
May 30 21:40:33  tda1004x_write_byte: reg=0x11, data=0x67
May 30 21:40:33  tda1004x_write_byte: success reg=0x11, data=0x67, ret=1
May 30 21:40:33  tda1004x_read_byte: reg=0x13
May 30 21:40:33  tda1004x_read_byte: success reg=0x13, data=0x0, ret=2
May 30 21:40:33  tda1004x_read_byte: reg=0x14
May 30 21:40:33  tda1004x_read_byte: success reg=0x14, data=0x0, ret=2
May 30 21:40:33  tda1004x_fwupload: firmware upload failed!
May 30 21:40:34  TT-Budget/WinTV-NOVA-T  PCI adapter 0 has MAC addr =
   00:d0:5c:23:e0:b1
May 30 21:40:34  DVB: register adapter0/demux0 @ minor: 4 (0x04)
May 30 21:40:34  DVB: register adapter0/dvr0 @ minor: 5 (0x05)
May 30 21:40:34  DVB: register adapter0/net0 @ minor: 7 (0x07)
May 30 21:40:34  saa7146: register extension 'budget dvb /w video in'.
May 30 21:40:34  usb.c: registered new driver Technotrend/Hauppauge USB-Nova
May 30 21:40:34  usb.c: registered new driver ttusb-dec


/* new firmware offsets */
static struct fwinfo tda10045h_fwinfo[] =
 { {.file_size = 307200,.fw_offset = 0x38ef8,.fw_size = 0x775b} };

static struct fwinfo tda10046h_fwinfo[] =
 { {.file_size = 307200,.fw_offset = 0x40730,.fw_size = 0x5f9f} };


/* od -Ax -x tda10045h.fw */
000000 2f00 41c6 0080 412d 0080 4123 0080 411e
000010 0080 0028 0000 0000 0000 0000 0000 4100
000020 0080 003f 0000 0000 0000 0000 0000 4100
000030 1480 0037 0000 0000 0000 0000 0000 d300
000040 4d80 8380 00ea 4580 d3d0 4d80 8380 00ea
000050 4580 d3d0 4d80 8380 00ea 4580 5ed0 ff0d

----

007700 06b3 06b3 06b3 06b4 06b4 06b4 06b5 06b5
007710 06b5 06b6 06b6 06b6 06b7 06b7 06b7 06b7
007720 06b8 06b8 06b8 06b9 06b9 06b9 06ba 06ba
007730 06ba 06bb 06bb 06bb 06bc 06bc 06bc 06bc
007740 06bd 06bd 06bd 06be 06be 06be 06bf 06bf
007750 06bf 07bf 00ff 0000 7200 00d6
00775b

/* objdump -h ttlcdacc.dll */
ttlcdacc.dll:     file format efi-app-ia32

Sections:
Idx Name          Size      VMA               LMA               File off  Algn
  0 .text         00031000  0000000010001000  0000000010001000  00001000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .rdata        00006000  0000000010032000  0000000010032000  00032000  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .data         0000f000  0000000010038000  0000000010038000  00038000  2**2
                  CONTENTS, ALLOC, LOAD, DATA


/* objdump -d -j .text ttlcdacc.dll */
/* load tda10045 firmware? */
    1001fc78:   68 5b 77 00 00          push   $0x775b      <== size
    1001fc7d:   68 f8 8e 03 10          push   $0x10038ef8  <== address
    1001fc82:   8b ce                   mov    %esi,%ecx
    1001fc84:   e8 a7 00 00 00          call   0x1001fd30

/* load tda10046 firmware? */
    100218b8:   68 9f 5f 00 00          push   $0x5f9f      <== size
    100218bd:   c7 46 08 00 00 00 00    movl   $0x0,0x8(%esi)
    100218c4:   8b 15 f0 06 04 10       mov    0x100406f0,%edx
    100218ca:   0b d0                   or     %eax,%edx
    100218cc:   68 30 07 04 10          push   $0x10040730  <== address
    100218d1:   89 15 f0 06 04 10       mov    %edx,0x100406f0
    100218d7:   a3 98 06 04 10          mov    %eax,0x10040698
    100218dc:   e8 3f 01 00 00          call   0x10021a20

------------
sheppard@uklinux.net




-- 
Info:
To unsubscribe send a mail to ecartis@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index