News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

Why my MediaMVP H4 did not boot

Started by Stephan, December 28, 2007, 10:28:16

Previous topic - Next topic

Stephan

Hello, world!

It has been kind of a long journey. My brand new MediaMVP release H4 did not load dongle.bin. Instead it started the firmware from flash and that tried to connect to the original server giving strange error messages about TFTP errors or such. I tried several solutions I found on the web, but without any success.

At the end it turned out that the firmware in my MVP's intrnal flash is just too new. It loads dongle.bin only if it sees from dongle.bin.ver that its release is newer than that in the internal flash. After I patched the dongle.bin.ver extracted from the original firmware to a higher release number everything is OK! ::)

Have a nice time

Stephan

Quote from:  http://osdir.com/ml/multimedia.mvpmc.user/2006-04/msg00080.htmlThe dongle.bin.ver file should not need to change.  It looks like:

        $ od -x dongle.bin.ver
        0000000 4348 2057 564d 0050 0000 2800 0100 0000
        0000020 0101 0000 8080 03ff 0000 0000 0000 0000
        0000040 0000 0000 0000 0000
        0000050

        MD5: 01114840a4577cd5dc5f2afc86ab7bf8

The contents of this file are created in the linux kernel, and can be
found in dongle/kernel/linux-2.4.17/patches/hcwmvp_header.patch in the
git repository:

        hcwmvp_start:
                .long   0x48435720              # 'HCW '
                .long   0x4d565000              # 'MVP\0'
                .long   (hcwmvp_end - hcwmvp_start)
                .long   0x00010000              # header version
                .long   0x01010000              # compatible version
                .long   0x8080ff03              # version 128.128.255 alpha
                .long   0
                .long   0
                .long   0
                .long   0
        hcwmvp_end:

If you want, you can try changing some of the numbers in the dongle.bin.ver
file.  If you are using the windows software, I believe dongle.bin.ver will
get recreated, but if you are using mvprelay you could edit dongle.bin.ver
directly.

It seems possible that the H2 bootloader does not like the header version,
the compatible version, or the dongle.bin version.  You could try changing
them and see what happens.  I would probably recommend pulling out this
structure from the dongle.bin shipped with your windows software, and
incrementing the version by one minor number.

For example, I see the following from the Hauppauge dongle.bin I have:

        0000000 4348 2057 564d 0050 0000 2800 0100 0000
        0000020 0101 0000 0101 0022 0000 0000 0000 0000
        0000040 0000 0000 0000 0000
        0000050

The only difference here is the version number.  I chose 0x8080ff03 (which
means 128.128.255 alpha) while Hauppauge chose 0x01012200 (which means
1.1.34 final).  You might want to change dongle.bin.ver to contain only
a slight increment, like 1.1.35 final (0x01012300).

The reason I chose such a large version number was so that I wouldn't have
to worry about it not working in the future.  Obviously, if I had chosen
something like 2.0, then it would no longer boot if Hauppauge started
shipping hardware with their version 2.0 in flash.

BTW, don't get confused by endian issues if you make these changes.



Chris

Firstly, well done for fixing it!

@ all... What actually is the difference between an H3 and an H4?

Also, to people who have played with these numbers, what version numbers should we now be using for HCW_COMPATIBLE_VERSION and HCW_BUILD_VERSION in the kernel patch file?

ekluba

Hi.

I just got involved into this theme in vdr-portal.de. Since then i have an idea how to proceed.


To make sure you can prove if i understood it right here is what i assume about the surrounding conditions:

- "HCW_COMPATIBLE_VERSION and HCW_BUILD_VERSION in the kernel patch file" determine the versioning *only* in vompclient's dongle.bin.

- dongle.bin.ver is created after installation from dongle.bin.

- the versioning in dongle.bin.ver ist just a means to force the OS of MediaMVP to load dongle.bin.


If the above is true we should avoid mixing up problems. Let HCW_COMPATIBLE_VERSION and HCW_BUILD_VERSION in the kernel patch file be dedicated to whatever they are now. Maybe vompclient needs to know it's own version number perhaps at least to display it?

Doing so reduces the problem on how to built a usable dongle.bin.ver. This could be done be the attached script. (Cross-posted in vdr-portal.de.) I hope it will prove to be usable for everybody.

Have fun
ekluba.