[linux-dvb] Firmware for Nova-T (93004, rev. C1A2) ?

Thomas Rokamp thomas at rokamp.dk
Fri Jun 23 00:31:03 CEST 2006


Finally - It is working :D

After searching the net for about 3-4 hours, I finally found the missing
scripts. So thanks to Patrick Boettcher and his reply to a post in Dec
2005
(http://www.linuxtv.org/pipermail/linux-dvb/2005-December/007247.html),
I now have a working firmware for the Hauppauge WinTV-NOVA-T usb2 93004,
rev. C1A2.

If anyone is interested in the generated firmware file, I have
temporarily uploaded it here:

http://home.crax.dk/dvb-usb-nova-t-usb2-01.fw

Would be nice to know, if it is working for other than me...
I have not tested it yet, only seen that it is loaded correctly in linux
and that the frontend is attached. 

Thanks for all the input!

/Thomas




> On Thu, 22 Jun 2006, Thomas Rokamp wrote:
> >
> > Ok - I have now managed to sniff the data that goes from the windows PC
> > to the usb unit.
> > I have also with success replayed the stream of data from the Linux pc
> > to the usb unit, making it initialize correctly (using usbreplay)
> 
> Excellent! Good work.
> 
> > So - I now have an analyzed version of the usbsnoop logfile which can be
> > replayed using usbreplay, so the next step is to find a way to extract
> > the correct data to a file, that the driver autimatically can upload to
> > the usb unit (firmware?)
> 
> Yep.
> 
> > I have uploaded the analyzed log here:
> > http://home.crax.dk/analyzed.log
> >
> > Anyone who knows what to do?
> 
> You need to make a file that the function dvb_usb_get_hexline in the file 
> dvb-usb-firmware.c can parse. There may be a tool to help you do this but 
> the basic idea is the file contains many records, in each record there is 
> an address (on the box) and then a block of data to write there. IIRC
this 
> is an 'intel hex format' file.
> 
> OK now how do you parse your analyzed.log file? Each line there is a
write 
> to some address in the FX2. Look at the first line: the '40 a0' means 
> write request. Then there is the address (little-endian) of '00 e6' so 
> we're writing to address 0xe600. Then there's an unused field and then
the 
> length of the data to write. '01 00' or 0x0001 bytes. Finally you have
the 
> actual data that gets written.
> 
> Now all you have to do is turn each line from your log into a record in 
> the .fw file - easy!
> 
> Those first 4 lines that are identical are putting the chip into reset - 
> this is handled for you automatically by the firmware uploader so you can 
> leave that out of your file. The first interesting line writes 16
bytes to 
> address 0x146c. Same deal with the last 5 for rebooting it. And there's a 
> few in the middle that you can probably leave out too... 'tho I'm not
100% 
> sure about that, maybe they are necessary.
> 
> Normally when you find firmware like this in a block it starts with '02' 
> and ends wiht lots of 'aa's... but I'm glad I didn't suggest that here as 
> it looks like it isn't in a block at all in the windows driver files.
> 
> > Thanks,
> > Thomas
> 
> {P^/
> 
> 

-- 




More information about the linux-dvb mailing list