DM8000-does not work

Discussion in 'Hardware troubles and Repair support.' started by bibo1, Jan 9, 2017.

  1. bibo1

    bibo1 Member

    Messages:
    57
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    hi Johnny,
    I need to make a new thread do to my non working DM8000(original). I just change the PSU and at least the voltages are all present in according to Your measurements, so far so good.
    If I switch the box on (blue light on) the boot sequenz just show:
    BCM97400
    AB
    FFFFFFFF
    1s00000040
    K6
    F nothing else.
    What can I do more. Your help is highly be appreciated as always.
     
  2. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    First stage issue, normally it begins with..
    -----------------------------------------
    BCM97400
    AB
    FFFFFFFF
    1s
    Sync=1
    LLMB=1
    L2=1
    RAC_I=1
    RAC_D=1

    Copy Code...34TUCV

    (c) 2007,2008 Dream Multimedia GmbH. All rights reserved.
    Dreambox DM8000
    FIRST STAGE 1.10 {BO23456}

    2ND STAGE OK, build #74 (20090820)

    0.000 - BCM board setup
    -----------------------------------------

    Normally I would say that it caused due a defective memory if it's a dm800hd/800se etc.
    but the dm8000hd is more complicated.

    But I had never a Dm8000hd box in repair with this problem, so I'm not be able to say what it could caused it.
    In any case, if this happens with a dm800hd or dm800se, then it's mostly due a bad memory chip or the communication between the memory and the cpu.
    But not always, I had recently a dm800seV2 box with a K6 issue which solved with the correct boot loader/software for it.
     
  3. bibo1

    bibo1 Member

    Messages:
    57
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    hi Johnny,
    thanks for Your explanation, but my question is how to put a new bootloader on the nand because I am unable
    to do it with dreamup via serial, due to unability to get the box in bootmode.
     
  4. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    If you cant upload a boot loader with dreamup, in serial mode only.
    Than it's most likely a hardware failure and not due software.
    Most likely related to a memory chip issue.
     
  5. bibo1

    bibo1 Member

    Messages:
    57
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    du You think it is the nand chip? It is a WP-29F2G08AAD Nand chip.
     
  6. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    If it has a issue, so that the 3v line or some the I/O ports are shorted.
    Than it's possible that it blocks the cpu for starting up.

    Writing, readings problems with it could not give the K6 issue, rather the no ca found problem or Error on the display.
    K6 problem accursed mainly from the beginning of the start cycles.
    But still, the dm8000hd has more parts than a normal dm800/500 series boxes, it's a complicated machine with several pre-programmed chips on the motherboard.
    So I can in this case not say for sure if it is a memory problem, for example if I analyze the moment when it stops in your case then I'm thinking of a Sync issue which could be related to a crystal.

    However is I search for example to memory issue 00000040 than it could still be a memory block that fails.
     
  7. bibo1

    bibo1 Member

    Messages:
    57
    Likes Received:
    15
    Trophy Points:
    8
    Gender:
    Male
    that is interresting what You are saying, because the fellow where I got the box from is at the opinion that the Atmel ATMEGA835L is demaged and this one is pre-programmed.
    The Story he told me was that in the first place the voltage on pin 3 where missing from the PSU, so he use this missing votage from an external device on that pin 3 of the PSU then the Atmel chip get hot >60° for him it seems to him very clear, that the Processor has a short on the VSS.
    Well I don'nt know, because I changed the PSU, the voltages after are in accordance to that what they shoud in acc. to Your messurements.
    Question: can You confirm this or better could it be. 1483978314214.jpg
     
  8. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    A long time ago (2012) I had worked on a dm8000 box of which this Atmel chip was devective.
    De symptoms of the box was only blue led, further no activity so also no rs232 output.
    After I received a pre-programmed Atmel chip from dreambox china it came back to life.

    So yes it's a important chip, but because you have a rs232 output I have some doubt if your issue caused due this Atmel chip.
    However I can not say this for sure because it has a program and it's one of the first stages of the startup.
     
  9. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Johnny,
    it is interesting that you
    " had recently a dm800seV2 box with a K6 issue which solved with the correct boot loader/software for it."
    Can you please let us more info? Which bootloader was necessary?
    Thanks
     
  10. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    That box gave this terminal output,
    BCM74130011
    012
    K1
    K2

    K3

    K4

    K5

    Shmoo Version=3.8
    DDR Freq=0x0000018C
    %00000001%
    G=00000000 R=00000000 W=00000000 00000020
    K6
    F

    And because it had a push button on the back which could be used for a alternative option to access the box I were be able to upload the v2 (I think build #89)boot loader and software.
    After it, it just came to life without any issues.
    On thing wat I notices, it gave the BCM7413 instead of the BCM7405.

    And another thing, I knew that the owner had uploaded the wrong software to it, and after it it get the K6 error.
    So with this knowledge I had some doubts if it happened due a bad memory chip.
    And I still think that it is not always a bad memory chip, because if the data for reading the memory chips become corrupt it gives this K6 error.
    I still think that there may be a solution for it with a I2c method, or other method.
     
    Jane likes this.
  11. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Johnny,
    Thank you for your info.
    So, now I would say that there are 2 versions of booting sequence in BIOS - one for the normal booting and the other for mini-flash button booting. In your case they worked in a different way - the first was faulty in the operation, while the other achieved a success ( made a successful booting). But that successful booting was caused by setting a proper values ( on a fly) in CPU's registry. Do you think it so , or I am wrong?
    Then it would be possible, as you say, to use I2C to repair those K6 error( or at least few of them). But there is still a question , what values to change. ( RAM params??) Who knows ??
     
  12. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    Yes these boxes with a mini-flash button do have two boot options, and in some cases is also the jumper on the motherboard involved.
    But I had a bios rom swapped with a normal 800se bios rom and the mini-flash button option is still working.
    Thus, as far as I see it it has nothing to do with the bios rom, more likely is this option programmed into the cpu.

    And yes, I do think that the cpu memory registry is involved with this K6 error which in some cases become corrupt with writing the software to the box, or afterwards when reading the (wrong) software it gets corrupt.
    So basically there must be a way to write to this part of the cpu, thinking of the use of the I2c method.
    However I have no idea what can and needs to be changed and how to do, but as long the cpu can be accessed with the I2c, it seems to me possible.
    So also to debug it with the BBS software to see if it can access and complete the memory part.
     
  13. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Hi,
    Johnny, thank you for your reply.
    I played with I2C and BBS several months ago. I used a logical analyzer to check the communication between BBS and CPU. Then I was able to read from registers. It is also possible to write to registers but BIOS overwrote the values.
    But you may find a solution :) . I can provide a sample code ( in Python) I used , if you want.
     
  14. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    Yeah well I do not have the idea that the bios may be involved with it, otherwise it seems to me that it should be corrected when I change the bios eeprom from a good board.

    From a working dm500hd board.
    By my research, and searching with bbs to K6 into the cpu registers it came to two memory registers.
    Mwm_0_ddr and Mwm_1_ddr
    But at this moment I do not have motherboards with K6 problem to compare these registers.

    In any case are they both the same,
    Code:
    Bcm7413.MEMC_GFX.MEMC_0_DDR.CNTRLR_CONFIG = &H1&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.DRAM_MODE = &H114506&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.DRAM_TIMING_0 = &H3255B133&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.DRAM_TIMING_1 = &H132&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.READ_WRITE_TIMING = &HB4&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.POWER_DOWN_MODE = &H40&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.CNTRLR_START_SEQ = &H1&
    Bcm7413.MEMC_GFX.MEMC_0_DDR.CNTRLR_SM_TIMEOUT = &H1FFFF&
    'Bcm7413.MEMC_GFX.MEMC_0_DDR.POWER_DOWN_STATUS = &H0&
    'Bcm7413.MEMC_GFX.MEMC_0_DDR.BANK_STATUS = &HFF&
    
    Bcm7413.MEMC_GFX.MEMC_1_DDR.CNTRLR_CONFIG = &H1&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.DRAM_MODE = &H114506&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.DRAM_TIMING_0 = &H3255B133&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.DRAM_TIMING_1 = &H132&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.READ_WRITE_TIMING = &HB4&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.POWER_DOWN_MODE = &H40&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.CNTRLR_START_SEQ = &H1&
    Bcm7413.MEMC_GFX.MEMC_1_DDR.CNTRLR_SM_TIMEOUT = &H1FFFF&
    'Bcm7413.MEMC_GFX.MEMC_1_DDR.POWER_DOWN_STATUS = &H0&
    'Bcm7413.MEMC_GFX.MEMC_1_DDR.BANK_STATUS = &HFF&
    
    Maybe it may say something, or may not.
    But also I could create the K6 error on a working box, in this case a dm500hdv2 when I upload a corrupt image file.
    However, on a v2 box it is easy to fix because it is still reachable for uploading a correct file, at least in my case.
    In any case a interesting case.
     
  15. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Johnny Thank you for your reply.
    If I understood well, you mean that K6 can be solved by a different image?
    If so, then replacing flash chip ( where is no flash mini button) should help?
     
  16. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    No, that does not work because it no longer reaches or read the nand flash chip with a K6 problem.
    I think there is a section written in the flash process to the cpu as used after the flash process, and removed.

    I have a bbs script that I've adapted for DM500HD / DM800SE.
    It's a test bench for bbs_read and bbs_write.
    A small portion, only the DATA0 section but okay it works.
    And I am still thinking how / if I can expand / use this to a full test for the memory chips.

    Code:
    //===============================================================
    //
    // Build for the Dreamboxes 500HD/800SE (BCM7405/BCM7413) BroadbandStudio 3.1.
    //
    //
    //
    // Description: Test Bench for bbs_read and bbs_write.
    //       Toggle Bcm7413.Bcm7413.SUNDRY.SUN_TOP_CTRL.SPARE_CTRL.spare_ctrl_00 in register viewer or command line to trigger a write
    //
    // Created: Jan, 2017 by Johnny B.
    //
    // Revision: v1
    //
    //
    //===============================================================
    
    module rbus_read(clk, reg1, field1);
        input  clk;
        output reg [31:0] reg1;
        output reg field1;
     
         always @(posedge clk) begin
            reg1 <= $bbs_read("Bcm97413.Bcm7413.MEMC_GFX.MEMC_0.MSA_WR_DATA0");
            field1 <= $bbs_read("Bcm97413.Bcm7413.SUNDRY.SUN_TOP_CTRL.SPARE_CTRL.spare_ctrl_00");
         end   
    endmodule
    
    module rbus_write(reg1);
        input [31:0] reg1;
     
        always @(reg1) begin
            $bbs_write("Bcm97413.Bcm7413.MEMC_GFX.MEMC_0.MSA_WR_DATA0", reg1);
        end
    endmodule
    
    module main;
       reg clk;
     
       wire [31:0] reg1_current;
       reg [31:0] reg1_wr;
     
           wire f;
     
       rbus_read rd(.clk(clk), .reg1(reg1_current), .field1(f));
        rbus_write wr(.reg1(reg1_wr));
       
        always @(f) begin
           reg1_wr <= reg1_current + 1;
        end
     
       always #5 clk = ~clk;
     
       initial begin
          clk = 0;
         $monitor($time,,"reg1 = %x", reg1_current);
       end
    endmodule
    
    
     
    Jane likes this.
  17. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Johnny,thanks for the reply
    >No, that does not work because it no longer reaches or read the nand flash chip with a K6 problem.
    And Mini Flash button helps that it DOES reach the nand?
    Is there a syntax (more info) available for making bbs script?
    Thanks
     
  18. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    Yeah somehow it works with the Mini flash button, that is.. if it's a v2 box.
    At this moment I don't have a older motherboard with a Mini flash button and a K6 error.
    I do have a original older dm500hd board with a K6 error, but this one is not reachable with the I2C.

    As for the bbs scripts, I wish that I know a place with some example scripts.
    Especially the ones related to the memory checks.
     
  19. Jane

    Jane Member

    Messages:
    118
    Likes Received:
    12
    Trophy Points:
    18
    Johnny,
    what do you mean by
    "older dm500hd board with a K6 error, but this one is not reachable with the I2C."
    Do you mean that it does not have a mini flash button? Or you do not have BBS for that kind of CPU?
    My idea was to use I2C protocol to read/write CPU registers, which seems more general.
    But as I said ,those registers I used( e.g. NAND register values) were overwritten after restart( i expected from BIOS, but maybe not )
     
  20. Johnny B.

    Johnny B. Technical Support Staff Member Moderator

    Messages:
    2,269
    Likes Received:
    1,026
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Netherlands
    Home Page:
    Yeas indeed, this original 500hd board have no mini flash button and failed due the K6 error.
    And I can not reach it with the BBS Bcm7413 and Bcm7405 I2C, it simply doesn't connect.

    And yeah indeed, also my idea to rewrite the memory registers in the cpu when it has a K6 issue.
    But basically a register can be saved, and uploaded if I know how to write a script for it.
    But first I need to wait until I have a motherboard with a K6 issue, one which is to reach with the bbs/I2C to compare the memory registers as the ddr power down status.