Re: Firmware for Nova-T (93004, rev. C1A2) ?

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

 



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

_______________________________________________

linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

[Index of Archives]     [Linux Media]     [Video 4 Linux]     [Asterisk]     [Samba]     [Xorg]     [Xfree86]     [Linux USB]

  Powered by Linux