JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
Hello all happy miners:  Recently I purchased a Minerfixes Lucky Miner LV08 and I must say I am very impressed with it! For the first few days I was tweaking it a fair bit to see what TH/s I could get out of it at various frequencies and voltages. As an example, 3.6 TH/s is achievable at 450 MHz and a core voltage of 1.135v (yes stable). Depending on the ambient temperature (I was supplying additional external cooling), the power level at the wall was between 79 and 82 watts. This is almost 1 TH/s higher than my Avalon Nano 3 at a similar power level. Unfortunately Minerfixes have disabled the ability to update the firmware through the website of the miner itself. That's where a jTAG and probe has come in handy and allowed me to install a customized firmware. I made a backup of the original firmware before I started testing other firmware of course. Incidentally, the LV08 firmware has it listed as a devicemodel = supra with boardversion = 402. My goal is to do some tweaking in the code as well as add some additional logging. The current firmware I am testing with the LV08 is this one from the GitHub: https://github.com/TinyChipHub/ESP-Miner-TCH/releases/tag/v2.5.1However I have hit upon a snag. With the TCH v2.5.1 firmware installed, only 6 out of 9 of the BM1366 ASICs are actually working according to the Chip Submit logging. With the setting I've listed above, the hashing rate only gets to 2.4 TH/s which is about two thirds of the expected of 3.6 TH/s. But surprisingly the power level at the wall is a little higher than what I've listed above. I should mention that some of the meter readings on the website are wrong as well though. There are 3 x TPS546 Voltage Regulators on the LV08. All 3 of them have different addresses on the I2C bus. This is a snippet from the Logs of the original Minerfixes firmware: ₿ (1191167) power_management: 7F vout: 1.09, iout: 13.67 ₿ (1191167) power_management: 24 vout: 1.09, iout: 14.00 ₿ (1191167) power_management: 14 vout: 1.09, iout: 10.61
At this power level the watt meter was showing 63 watts with a hashrate of 3 TH/s. That's 21 watts per TH at the wall! As you can see from the 3 lines above the I2C addresses are 0x7F, 0x24 and 0x14But when I install firmware TCH v2.5.1 this is what I get on the regulators: ₿ (809655) TPS546: Got Vin: 12.125 V ₿ (809655) TPS546: Got Iout: -0.357 A ₿ (809665) TPS546: Got Vout: 0.049 V ₿ (810305) TPS546: Got Vout: 0.051 V ₿ (810945) TPS546: Got Vout: 0.049 V
I have tried sending different configurations to the TPS546 Voltage Regulators such as: .TPS546_INIT_SCALE_LOOP=0.125f, .TPS546_INIT_VOUT_MAX=4.5f, .TPS546_INIT_VOUT_COMMAND=3.6f, .TPS546_INIT_VOUT_MIN=2.5f,
.TPS546_INIT_SCALE_LOOP=0.25f, .TPS546_INIT_VOUT_MAX=3.0f, .TPS546_INIT_VOUT_COMMAND=1.2f, .TPS546_INIT_VOUT_MIN=1.0f,
.TPS546_INIT_SCALE_LOOP=0.5f, .TPS546_INIT_VOUT_MAX=1.5f, .TPS546_INIT_VOUT_COMMAND=1.0f, .TPS546_INIT_VOUT_MIN=0.5f,
.TPS546_INIT_SCALE_LOOP=1.0f, .TPS546_INIT_VOUT_MAX=0.75f, .TPS546_INIT_VOUT_COMMAND=0.5f, .TPS546_INIT_VOUT_MIN=0.25f,
All these configurations yielded the same results above with some small milli-volt changes only. In the source code of the TCH v2.5.1, I did notice that there is only one TPS546 device that is assigned to the I2C bus and that is with the 0x24 address. So I added some additional code to add all 3 TPS546 Regulators on the I2C bus (with 0x7F, 0x24 and 0x14 addresses) and confirmed all 3 successfully added. I also tried the different voltage configurations above and also verified that they are set. However now, the power at the wall is only 3.5 watts! The only thing that appears to be working is the ESP32 itself as I'm still able to upload new firmwares and try again. I know the TPS546 can be stacked 2x, 3x and 4x allowing up to 160A of current and be programmed through one address all at the same time. But I'm unfamiliar with how to do this. So some help would be appreciated.  I have sent an email to Minerfixes for some help as well, but I'm not holding my breath. 
|
|
|
|
unpainted
Full Member
 
Offline
Activity: 166
Merit: 126
A voice for open source
|
 |
February 11, 2025, 09:57:15 PM |
|
Hello JohnnyBitGoode Exciting to hear how you are getting on with the Lucky Miner LV08! I can't help you much, but I recommend that you leave the TPS546 voltage settings as they are: https://github.com/TinyChipHub/ESP-Miner-TCH/blob/master/main/TPS546.h#L26It is certainly important that you set the following parameters for the LV08: GLOBAL_STATE->asic_count = 9; GLOBAL_STATE->voltage_domain = 3;
PS: and your post would certainly be better placed in the “Mining/Hardware” or “Mining/Mining Software (miners)” section. I only discovered you here by chance. Good luck!
|
|
|
|
JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
 |
February 12, 2025, 01:26:21 AM |
|
It is certainly important that you set the following parameters for the LV08: GLOBAL_STATE->asic_count = 9; GLOBAL_STATE->voltage_domain = 3;
I don't think the voltage_domain on the LV08 would be set to 3. I think it will be 1 because each TPS546 shows a voltage corresponding to the actual setting: ₿ (1191167) power_management: 7F vout: 1.09, iout: 13.67 ₿ (1191167) power_management: 24 vout: 1.09, iout: 14.00 ₿ (1191167) power_management: 14 vout: 1.09, iout: 10.61 From what I can work out from the source code, the voltage_domain is used as a multiplier of the requested output voltage. For example on the Hex and Supra Hex, a setting of 1200 millivolts would give an output voltage from the TPS546 of 3.6v. Here I'm also assuming that the Hex and Supra Hex have 3 x BM1366 ASICs connected in series to one TPS546. So with a voltage rail of 3.6 volts, each ASIC chip will get 1.2v as their input (3.6 / 3 = 1.2). In the case of the Hex and Supra Hex, TPS546_INIT_VOUT_MAX=4.5f would supply 1.5v to each chip maximum (4.5 / 3 = 1.5). And the setting of TPS546_INIT_VOUT_MIN=2.5f would only allow each chip to receive 0.83v as a minimum (2.5 / 3 = 0.8333). Attempting to go higher than 4.5 volts or lower than 2.5 volts would set the output to TPS546_INIT_VOUT_COMMAND=3.6f (3.6 / 3 = 1.2), the default setting. Please correct me if I am wrong.
|
|
|
|
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 14, 2025, 05:12:15 PM Last edit: February 14, 2025, 05:30:31 PM by fromport |
|
https://imgur.com/a/v5g03OqFlashed using: bitaxetool -p /dev/ttyUSB0 -f esp-miner-factory-lv08-v2.6.0b4-lv.bin Went strait from Luckyminer firmware to your version. Could the included config.cvs in the factory file be for the LV07 instead ?
|
|
|
|
iambonkerz
Newbie
Offline
Activity: 22
Merit: 9
|
 |
February 14, 2025, 06:33:42 PM |
|
try with the config-lv08.cvs file
bitaxetool -p /dev/ttyUSB0 -f esp-miner-factory-lv08-v2.6.0b4-lv.bin -c config-lv08.cvs
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 15, 2025, 03:18:28 AM Last edit: February 15, 2025, 05:46:23 AM by fromport |
|
Without having to open it ip etc I tried to get a log file after booting: ₿ (5842) bm1366Module: Initializing BM1366 ₿ (7052) bm1366Module: 9 chip(s) detected on the chain, expected 9 ₿ (7052) bm1366Module: Setting job ASIC mask to 255 And low and behold: after resetting it to default volts/freq it is now hashing at 4Th/s avg Some other feedback: The input voltage still shows a 5Volt reference where is it 12 Volt in: https://imgur.com/a/7FzIPP8
|
|
|
|
JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
 |
February 16, 2025, 04:22:28 AM |
|
Hello Bonkerz Yes, I managed to get my LV08 working fully a couple of days ago on v2.5.1-TCH which is forked from skot as well. While the modifications you made to the TPS546.c file communicate to all 3 TPS546 regulators at the same time, it doesn't allow you to query each regulator independently. I went for this approach: static i2c_master_dev_handle_t tps546_dev_handle[3]; // For up to 3 TPS546 devices (LV08) static uint16_t TPS_I2C_ADDR[3] = {0x7F, 0x24, 0x14}; // [1] (0x24) is only referenced for single TPS546 devices
And so I had to add another variable to all the relevant functions: TPS_IDX = {0, 1, or 2} /* public functions */ int TPS546_init(TPS546_CONFIG, int TPS_IDX); void TPS546_read_mfr_info(uint8_t *, int TPS_IDX); void TPS546_set_mfr_info(int TPS_IDX); void TPS546_write_entire_config(int TPS_IDX); int TPS546_get_frequency(int TPS_IDX); void TPS546_set_frequency(int, int TPS_IDX); int TPS546_get_temperature(int TPS_IDX); float TPS546_get_vin(int TPS_IDX); float TPS546_get_iout(int TPS_IDX); float TPS546_get_vout(int TPS_IDX); void TPS546_set_vout(float volts, int TPS_IDX); void TPS546_show_voltage_settings(int TPS_IDX); void TPS546_print_status(int TPS_IDX); When I need to update the dashboard temperature of the TPS546 devices on the LV08, I query all three but only display the highest temperature. Also power in watts is an accumulation of all 3 TPS546 device's power (voltage * current), with an offset of 18 watts added (6 watts for each regulator). This exactly matches the results I got from the original Lucky Miner v1.0.0 firmware...
|
|
|
|
iambonkerz
Newbie
Offline
Activity: 22
Merit: 9
|
 |
February 16, 2025, 04:44:31 AM |
|
Hello Bonkerz Yes, I managed to get my LV08 working fully a couple of days ago on v2.5.1-TCH which is forked from skot as well. While the modifications you made to the TPS546.c file communicate to all 3 TPS546 regulators at the same time, it doesn't allow you to query each regulator independently. I went for this approach: static i2c_master_dev_handle_t tps546_dev_handle[3]; // For up to 3 TPS546 devices (LV08) static uint16_t TPS_I2C_ADDR[3] = {0x7F, 0x24, 0x14}; // [1] (0x24) is only referenced for single TPS546 devices
And so I had to add another variable to all the relevant functions: TPS_IDX = {0, 1, or 2} /* public functions */ int TPS546_init(TPS546_CONFIG, int TPS_IDX); void TPS546_read_mfr_info(uint8_t *, int TPS_IDX); void TPS546_set_mfr_info(int TPS_IDX); void TPS546_write_entire_config(int TPS_IDX); int TPS546_get_frequency(int TPS_IDX); void TPS546_set_frequency(int, int TPS_IDX); int TPS546_get_temperature(int TPS_IDX); float TPS546_get_vin(int TPS_IDX); float TPS546_get_iout(int TPS_IDX); float TPS546_get_vout(int TPS_IDX); void TPS546_set_vout(float volts, int TPS_IDX); void TPS546_show_voltage_settings(int TPS_IDX); void TPS546_print_status(int TPS_IDX); When I need to update the dashboard temperature of the TPS546 devices on the LV08, I query all three but only display the highest temperature. Also power in watts is an accumulation of all 3 TPS546 device's power (voltage * current), with an offset of 18 watts added (6 watts for each regulator). This exactly matches the results I got from the original Lucky Miner v1.0.0 firmware... Nice work! I like this approach better, I am still trying to implement a similar code to what you have done.
|
|
|
|
JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
 |
February 16, 2025, 05:27:21 AM Last edit: February 16, 2025, 07:13:42 AM by JohnnyBitGoode |
|
It took me a little while to understand some of the TPS546 regulators settings because I didn't have enough information about it. This information is available here but I will explain it below for others to read: https://www.ti.com/lit/gpn/tps546d24aIMPORTANT: The TPS546 uses an internal voltage reference between 0.25v and 0.75vThe output voltage of the TPS546 is successfully set if the SCALE_LOOP * VOUT is within this reference voltage. From the example below: SCALE_LOOP of 0.50f * VOUT_MIN of 1.0f = 0.50v (this is right in the middle of the reference voltage so it is valid) SCALE_LOOP of 0.50f * VOUT_MAX of 1.35f = 0.675v (this is also within the reference voltage so it is valid) The INIT_VOUT_COMMAND sets the voltage of the TPS546 during initialization. Only these settings should be changed as needed: Settings I use on the LV08: TPS546_INIT_SCALE_LOOP=0.50f, TPS546_INIT_VOUT_MAX=1.35f, TPS546_INIT_VOUT_COMMAND=1.2f, TPS546_INIT_VOUT_MIN=1.0f, The VOUT_MIN and VOUT_MAX set limits on the voltage output. Trying to set the VOUT above VOUT_MAX will result in no change. Trying to set the VOUT below VOUT_MIN will set the voltage to the INIT_VOUT_COMMAND setting. The SCALE_LOOP and VOUT_COMMAND recommended range is near the bottom of page 26 of the reference data sheet linked above. SCALE_LOOP can only be 1 of 4 values as far as I know (0.125, 0.25, 0.50 and 1.0).
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 16, 2025, 05:57:26 AM |
|
Would you be willing to share your 2.5.1 www.bin & esp-miner.bin so I can compare them to Iambonkerz version ? My LV08 with the luckyminer version runs happy at much higher hash rate then the 2.6.0b4 I am curious how the 2.5.1 will perform.
|
|
|
|
JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
 |
February 16, 2025, 07:11:38 AM Last edit: May 09, 2025, 08:44:33 AM by mprep |
|
Would you be willing to share your 2.5.1 www.bin & esp-miner.bin so I can compare them to Iambonkerz version ? My LV08 with the luckyminer version runs happy at much higher hash rate then the 2.6.0b4 I am curious how the 2.5.1 will perform. Yes I can share. I just need to remove some code and re-compile, then I'll upload them. 
Would you be willing to share your 2.5.1 www.bin & esp-miner.bin so I can compare them to Iambonkerz version ? My LV08 with the luckyminer version runs happy at much higher hash rate then the 2.6.0b4 I am curious how the 2.5.1 will perform. It's possible my compiled firmware updates won't work on your LV08 if you've installed a different full factory firmware over the Minerfixes Lucky Miner version. My LV08 still thinks it's a supra with boardversion 402!I've installed my updates using a jTAG and probe so my NVS is un-touched... [moderator's note: consecutive posts merged]
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 16, 2025, 04:38:14 PM |
|
I flashed iambonkerz's LV08 "factory" version including his config.cvs using the JTAG pins. It shows as "Board Version: 302" so identified as a BITAXE HEX ULTRA
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 17, 2025, 03:53:14 AM |
|
This keeps happening to me. I am currently running V2.6.0-1.0.1 on my LV08 After 2 hours of uptime it suddenly drops hashing like this: https://imgur.com/a/ouHjJImIt averaged 5Th/s using 600Mhz at 1205 mV averaging 24.5J/TH for nearly 2 hours and suddenly it drops to 3.1th/s It did not overheat: 55C asic temp I was pushing this same hardware with the original LuckyMiner OS to 650/1260 and it averaged 5.35Th/s Any suggestions ?
|
|
|
|
iambonkerz
Newbie
Offline
Activity: 22
Merit: 9
|
 |
February 17, 2025, 05:34:47 AM |
|
This keeps happening to me. I am currently running V2.6.0-1.0.1 on my LV08 After 2 hours of uptime it suddenly drops hashing like this: https://imgur.com/a/ouHjJImIt averaged 5Th/s using 600Mhz at 1205 mV averaging 24.5J/TH for nearly 2 hours and suddenly it drops to 3.1th/s It did not overheat: 55C asic temp I was pushing this same hardware with the original LuckyMiner OS to 650/1260 and it averaged 5.35Th/s Any suggestions ? I was also seeing similar issue as you. It was using a conservative iout setting in 1.0.1. I have adjusted it and uploaded the latest 1.0.2b1, you can give it a try. Could you also post your voltage regulator temperature
|
|
|
|
fromport
Newbie
Offline
Activity: 34
Merit: 0
|
 |
February 17, 2025, 06:07:36 AM Last edit: February 17, 2025, 06:32:40 AM by fromport |
|
VR temp was 64 C Loading your new firmware now before going to sleep ! Will report in about 7 hours after update https://imgur.com/a/WBvk1yDCurrent settings: 600Mhz 1205 mV 5.19 Ths avg 24 J/Th Asic temp 54C VR temp 67C Power WebGUI 120.4 Watt AC power in measured (120 volt AC in == pushing it) 145 watt. From the log file: ₿ (1037364) TPS546: Got Vin: 12.125 V ₿ (1037364) TPS546: Got Vin: 12.141 V ₿ (1037364) TPS546: Got Vin: 12.141 V ₿ (1037364) TPS546: Got Vout: 1.195 V ₿ (1037374) TPS546: Got Iout: 28.719 A ₿ (1037374) TPS546: Got Vout: 1.199 V ₿ (1037374) TPS546: Got Iout: 28.469 A ₿ (1037384) TPS546: Got Vout: 1.199 V ₿ (1037384) TPS546: Got Iout: 28.406 A ₿ (1037394) TPS546: TPS546_0 Temp: 66 ₿ (1037394) TPS546: TPS546_1 Temp: 67 ₿ (1037404) TPS546: TPS546_2 Temp: 60
Question: Did you increase Iout for the LV07 as well ? I was able to push it to 1.2Th/s and now just over 1 Th/s
|
|
|
|
JohnnyBitGoode (OP)
Jr. Member
Offline
Activity: 41
Merit: 14
|
 |
February 17, 2025, 06:57:36 AM |
|
This keeps happening to me. I am currently running V2.6.0-1.0.1 on my LV08 After 2 hours of uptime it suddenly drops hashing like this:  It averaged 5Th/s using 600Mhz at 1205 mV averaging 24.5J/TH for nearly 2 hours and suddenly it drops to 3.1th/s It did not overheat: 55C asic temp I was pushing this same hardware with the original LuckyMiner OS to 650/1260 and it averaged 5.35Th/s Any suggestions ? Use additional cooling to bring the temperature down on both the ASICs and VRMs. The cooler you can get them the more efficiently they will run. My first LV08 is still cracked open with a 120mm PC fan on top of the heatsink. Otherwise, put a fan up against (or close to) the intake vent and you'll see the temps drop. At 600MHz and 1.25v on the core of the ASICs, my LV08 power is showing 109 watts with the ASICs at 47c and the VRMs at 53c. Power at the wall is 129 watts. The hashing rate sits right on 5TH/s! 1.200v is too low for the LV08 at 600MHz in my opinion... EDIT:If the TPS546 current approaches 30 amps, it will start to throttle. The initial setup for the TPS546 is OC_WARN_LIMIT = 25 and OC_FAULT_LIMIT = 30. So maybe need to increase these parameters. The TPS546 is capable of up to 40 amps of current!
|
|
|
|
|