Post
Topic
Board Mining (Altcoins)
Re: Baikal X10 ⚡OVERCLOCK⚡ Claim reward 0.2 BTC for TUTORIAL HOW TO :)⚡⚡⚡⚡
by
CNoteFan
on 26/03/2018, 01:48:29 UTC
Tired as hell, but woohaa!

Code:
sgminer 5.6.2-cod3gen - Started: [2018-03-25 20:31:35] - [0 days 00:01:14]
--------------------------------------------------------------------------------
(5s):10.13G (avg):10.27Gh/s | A:829  R:0  HW:37  WU:31147.411/m
ST: 1  SS: 12  NB: 4  LW: 4168  GF: 0  RF: 0
Connected to quark.eu.nicehash.com (stratum) diff 40 as user XXX
Block: 8826b8d8...  Diff:87M  Started: [20:32:35]  Best share: 39.3K
--------------------------------------------------------------------------------
 [U]SB management [P]ool management [S]ettings [D]isplay options [Q]uit
BKLU 0: 39C 300MHz [ASICS #64] | 3.379G/3.616Gh/s | A:288 R: 0 HW:25 WU:10739.883/m
BKLU 1: 39C 300MHz [ASICS #64] | 3.379G/3.610Gh/s | A:287 R: 0 HW: 5 WU:11230.049/m
BKLU 2: 38C 300MHz [ASICS #64] | 3.379G/3.613Gh/s | A:302 R: 0 HW:10 WU:11173.155/m

Have not tried any other algo`s just yet, so i only know that quark works at the moment. However, i see a high rise in hardware errors, on stock sgminer this have always been "0"(Ive had the X10 in only 2 day though). Chip temps are the same as before. Ill see over the night if hashrates are showing up correctly at nicehash. Will continue tomorrow.

Great work!
Did you add these changes to usbutils.h?
Code:
...
USB_ADD_COMMAND(C_BAIKAL_SEND, "BaikalSend") \
USB_ADD_COMMAND(C_BAIKAL_READ, "BaikalRead")
...


Yepp, came down to being fault definition of chip manufacturer in usbutils.c in its search function for finding devices
Code:
.iManufacturer = "Baikal", // 25.03.18 changed from "MS Technology" to "Baikal"

It seems that baikal continuously does live changes on their partition and just mirrors it to a image, that why we are able to recover these files and the reason why there are so many of the same ones. Files goes years back to A900 and Dash Mini Miner.

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__ */