Post
Topic
Board Mining (Altcoins)
Re: Baikal X10 ⚡OVERCLOCK⚡ Claim reward 0.2 BTC for TUTORIAL HOW TO :)⚡⚡⚡⚡
by
cod3gen
on 26/03/2018, 09:27:59 UTC

Great job again!
We might just need to go through all the different versions of each source file to find which one is the most up to date.  For instance I "think" this is the latest/greatest device_baikal.h file:
Code:
#ifndef __DEVICE_BAIKAL_H__
#define __DEVICE_BAIKAL_H__

#include "miner.h"

#define BAIKAL_1751             (0x1)
#define BAIKAL_1772             (0x2)
#define BAIKAL_1791             (0x4)
#define BAIKAL_ALL              (0x7)
#define BAIKAL_TYPE             (BAIKAL_ALL)

#define BAIKAL_MAXMINERS     (5)
#define BAIKAL_MAXUNIT          (4)
#define BAIKAL_MAXASICS         (16)
#define BAIKAL_WORK_FIFO        (200)

#define BAIKAL_CLK_MIN  (150)
#define BAIKAL_CLK_MAX     (300)

#if BAIKAL_TYPE == BAIKAL_1751
#define BAIKAL_CLK_DEF  (200)
#elif BAIKAL_TYPE == BAIKAL_1791
#define BAIKAL_CLK_DEF  (400)
#else
#define BAIKAL_CLK_DEF  (300)
#endif

#define BAIKAL_CUTOFF_TEMP      (60)
#define BAIKAL_FANSPEED_DEF     (100)
#define BAIKAL_FANSPEED_MAX     (100)
#define BAIKAL_RECOVER_TEMP     (40)

#define BAIKAL_RESET     (0x01)
#define BAIKAL_GET_INFO         (0x02)
#define BAIKAL_SET_OPTION     (0x03)
#define BAIKAL_SEND_WORK     (0x04)
#define BAIKAL_GET_RESULT     (0x05)
#define BAIKAL_SET_ID     (0x06)
#define BAIKAL_SET_IDLE     (0x07)

#define BAIKAL_MINER_TYPE_NONE  (0x00)
#define BAIKAL_MINER_TYPE_MINI  (0x01)
#define BAIKAL_MINER_TYPE_CUBE  (0x02)

#define BAIKAL_ENABLE_SETCLK    (0)

#define BAIKAL_CHECK_STALE      (0)
#define BAIKAL_EN_HWE           (0)
#define BAIKAL_CLK_FIX          (1)

struct asic_info {
    uint32_t nonce;
    uint32_t error;
};

struct miner_info {
    int     thr_id;
    int     asic_count; 
    int     asic_count_r; 
    int     unit_count;
int temp; 
    int     clock;
    int     bbg;
    bool    working;
    bool    overheated;
    uint8_t fw_ver;
    uint8_t hw_ver;
    uint8_t asic_ver;   
    uint32_t nonce;
    uint32_t error;   
    double working_diff;   
    struct asic_info asics[BAIKAL_MAXUNIT][BAIKAL_MAXASICS];
    uint8_t work_idx;
    struct work *works[BAIKAL_WORK_FIFO];
    cgtimer_t start_time;
};


struct baikal_info {
    struct pool pool;
    int miner_count;
    int clock;
    uint8_t cutofftemp;
    uint8_t fanspeed; // percent
    uint8_t recovertemp;
pthread_t *process_thr;
    struct miner_info miners[BAIKAL_MAXMINERS];   
    uint8_t miner_type;
};

typedef struct {
    uint8_t     miner_id;
    uint8_t     cmd;
    uint8_t     param;
    uint8_t     dest;
    uint8_t     data[512];
    uint32_t    len;
} baikal_msg;


#endif /* __DEVICE_BAIKAL_H__ */

this is the current driver-baikal.h file that i use. Very similiar to the one you have

Code:
#ifndef __DEVICE_BAIKAL_H__
#define __DEVICE_BAIKAL_H__

#include "miner.h"

#define BAIKAL_1751             (0x1)
#define BAIKAL_1772             (0x2)
#define BAIKAL_1791             (0x4)
#define BAIKAL_ALL              (0x7)
#define BAIKAL_TYPE             (BAIKAL_ALL)

#define BAIKAL_MAXMINERS     (5)
#define BAIKAL_MAXUNIT          (4)
#define BAIKAL_MAXASICS         (16)
#define BAIKAL_WORK_FIFO        (200)

#define BAIKAL_CLK_MIN  (150)
#define BAIKAL_CLK_DEF  (400)
#define BAIKAL_CLK_MAX     (400)
#define BAIKAL_CUTOFF_TEMP      (55)
#define BAIKAL_FANSPEED_DEF     (100)
#define BAIKAL_FANSPEED_MAX     (100)
#define BAIKAL_RECOVER_TEMP     (40)

#define BAIKAL_RESET     (0x01)
#define BAIKAL_GET_INFO         (0x02)
#define BAIKAL_SET_OPTION     (0x03)
#define BAIKAL_SEND_WORK     (0x04)
#define BAIKAL_GET_RESULT     (0x05)
#define BAIKAL_SET_ID     (0x06)
#define BAIKAL_SET_IDLE     (0x07)

#define BAIKAL_MINER_TYPE_NONE  (0x00)
#define BAIKAL_MINER_TYPE_MINI  (0x01)
#define BAIKAL_MINER_TYPE_CUBE  (0x02)

#define BAIKAL_ENABLE_SETCLK    (0)

#define BAIKAL_CHECK_STALE      (0)
#define BAIKAL_EN_HWE           (0)
#define BAIKAL_CLK_FIX          (1)

struct asic_info {
    uint32_t nonce;
    uint32_t error;
};

struct miner_info {
    int     thr_id;
    int     asic_count; 
    int     asic_count_r; 
    int     unit_count;
int temp; 
    int     clock;
    int     bbg;
    bool    working;
    bool    overheated;
    uint8_t fw_ver;
    uint8_t hw_ver;
    uint8_t asic_ver;   
    uint32_t nonce;
    uint32_t error;   
    double working_diff;   
    struct asic_info asics[BAIKAL_MAXUNIT][BAIKAL_MAXASICS];
    uint8_t work_idx;
    struct work *works[BAIKAL_WORK_FIFO];
    cgtimer_t start_time;
};


struct baikal_info {
    struct pool pool;
    int miner_count;
    int clock;
    uint8_t cutofftemp;
    uint8_t fanspeed; // percent
    uint8_t recovertemp;
pthread_t *process_thr;
    struct miner_info miners[BAIKAL_MAXMINERS];   
    uint8_t miner_type;
};

typedef struct {
    uint8_t     miner_id;
    uint8_t     cmd;
    uint8_t     param;
    uint8_t     dest;
    uint8_t     data[512];
    uint32_t    len;
} baikal_msg;


#endif /* __DEVICE_BAIKAL_H__ */

Only difference is that in your version it sets clock depending on Baikal chip type(1751: CN, 1791: B), so it does no difference on X10, however it does difference to CN and B.

Ive tried to overclock it but its not possible at this moment, both by enabling ENABLE_SETCLK and disabling CLK_FIX, and even tried another definition of CLK_DEF. Even though sgminer says its set to 400 Mhz, it aint - seems to be limited on firmware level!

When it comes to different algo`s, none of them work (gives only HW errors) - either needed some updates in algo files, or what i think it is also limited at firmware level. However, i did gather some different power usages:
Quote
Groestl: Unknown @ 690w
Nist5: Unknown @ 690w
X11Gost: Unknown, but possibly 450MHs @ 450w

Code:
sgminer 5.6.2-cod3gen - Started: [2018-03-26 00:38:34] - [0 days 10:12:35]
--------------------------------------------------------------------------------
(5s):10.82G (avg):10.81Gh/s | A:9148  R:78  HW:381  WU:33820.422/m
ST: 1  SS: 0  NB: 638  LW: 2261672  GF: 0  RF: 0
Connected to quark.eu.nicehash.com (stratum) diff 5.24K as user XXX
Block: 57e616c6...  Diff:117M  Started: [10:48:08]  Best share: 10.8M
--------------------------------------------------------------------------------
 [U]SB management [P]ool management [S]ettings [D]isplay options [Q]uit
BKLU 0: 38C 400MHz [ASICS #64] | 3.604G/3.604Gh/s | A:2763 R: 21 HW: 54 WU:9921.705/m
BKLU 1: 38C 400MHz [ASICS #64] | 3.604G/3.604Gh/s | A:3194 R: 27 HW:150 WU:11941.753/m
BKLU 2: 38C 400MHz [ASICS #64] | 3.604G/3.604Gh/s | A:3191 R: 30 HW:177 WU:11956.965/m

Actual stats on nicehash is slightly lower than orginal version.