Firmware (LuxOS)
LuxOS Changelog

LuxOS Changelog

2024-04-08

Fixes

  • Reverted pools state to Alive, Dead, Connecting and Disabled.

2024-04-04

Improvements

  • Added accurate power measures for 21 series miners.
  • Added support for S19K Pro BHB56903.
  • Added support for S19a Pro BHB28501.
  • Added 0x1FFFE000 version mask to support pools that use a different version mask than BIP 320.
  • Changed pools state to Disconnected, Connecting, Connected, Error, and Disabled.
  • Adjusted smart pool switching to test availability of all priority pools and not just main primary pool.
  • Improved start / stop logic for luxminer-init script.

Fixes

  • Fixed a bug parsing i2c PSU checksum message.

2024-03-18

Improvements

  • Added T21 support with BHB68701.
  • Added support for 0xC1, 0xC2, and 0x6A PSUs.
  • Added per chip temperature readings for S21 and T21 and temperature shutdown if any chip exceeds 100C.
  • Added NameplateTHS field to the config command.

Fixes

  • Fixed a bug on AML and BBB control boards that caused fan speeds to report outbounded values sporadically.
  • Fixed a bug on jPro miners that caused reported hashrate to not exceed 120TH/s at high frequencies due to double hashes.
  • Fixed IP Report features, LuxOS now works with both Bitmain's IP Report Tool and BTC Tools.
  • Fixed a bug that prevented OTA updates to trigger on some machines.

2024-03-15 - Commander 0.11.0

Improvements

  • Added atm, tempctrl and autotunerget fields to the main dashboard.
  • Added T21 install support and KPro with BHB56903 on top of the already supported KPro BHB56902.

Fixes

  • Fixed Avg. Voltage and Frequency columns.
  • Fixed ATM default params when the user does not provide them. Startup time and post ramping time are now set to 1 minute by default. Additionally, when minimum profile is not provided, it will be set Unbounded.

2024-03-05 - Commander 0.10.1

Improvements

  • Added username, workername, pool stratum, hashrate, frequency, temperatures and firmware version for stock miners.

2024-02-29 - Commander 0.10.0

Improvements

  • Added hashboardoptsset command support.
  • Removed the "Apply Change" button in the quick-actions popup.
  • Added curtail and ledset command to quick-actions popup.
  • Removed the requirement to use License Keys to install LuxOS.
  • Added select component with 3 options: select all page, select all rows and deselect all.
  • Improved the algorithm to calculate more precisely the number of rows to display per page.
  • Updated startup time, post ramping time and target temp default values.
  • Updated the refresh data component with a simpler button for UI consistency.

Fixes

  • Fixed circular progress bar on the configuration modal.
  • Fixed curtailed miners not appearing in the dashboard.
  • Fixed hashrate filter on the main dashboard page. Now users can select a minimum and maximum hashrate to filter units.
  • Fixed Frequency and Voltage params unit rounding.
  • Fixed a memory leak and server unnecessary running in the background taking resources.

2024-02-27

Improvements

  • Added new T19 serial number "YN3B".
  • Added automatic power off of PSU when a board fails on no-pic miners.
  • Added user option to disable automatic hashboard recovery after an overtemp event.
  • Added hashboardopts and hashboardoptsset commands to the API.
  • Improved fan algorithm to reach target temperature more accurately. Additionally, updated the default target temperature to 55C on 19 and 21 series miners.
  • The profile field was removed from the board-specific sections under "hashboard". This means that the profile setting is now "per-machine" instead of "per-board". This comes with updates to the profileset command.
  • Alpha release of LuxOS Tuner. This feature is still in development, use with precaution. The Tuner will automatically optimize the voltage settings of a miner. LuxOS Tuner will automatically update profiles when Health requirements are met for the improved settings.
  • Added autotunerget and autotunerset commands to the API.
  • Added profilerestore command to restore a profile to its default values.
  • UI: Added hashboardopts and hashboardoptsset to the UI.
  • UI: Profiles page updates to support the new profile format.
  • UI: Improved logs scrolling logic.
  • UI: Renamed rejected card to Rejected Total in the main dashboard.
  • UI: Dynamically update fans label depending on current fan mode (automatic or manual).

Fixes

  • Adjusted S19K Pro default profile to not follow EEPROM HEM.
  • Adjusted fan speeds to 20% when PSU is off due to a complete power off.
  • Fixed PSU voltage limits to be based on PSU type and related voltage calculation.
  • Fixed updateset error messages when invalid field values are used.
  • UI: Fixed pool username width for better display on mobile devices.

2024-02-14 - Commander 0.9.2

Improvements

  • Added S21 installation support. Note that S21 Firmware is in Beta.
  • Improved the performance on the miners table component.
  • Added a configurable param for the user to manage batch LuxOS installs.
  • Implemented a workerpool in the backend to handle multiple connections to different machines that results in significantly faster scanning performance.

Fixes

  • Fixed typos in machine actions modal.
  • Fixed issue sending commands to old LuxOS versions.
  • Fixed a bug that caused the install progress bar not updating correctly.
  • Fixed bugs with react and atom zedux on the miners actions modal that could cause incorrect actions to be applied.

2024-02-02

Improvements

  • Changed ticket mask to increase hash sample rate for health checker. This makes the auto-tuner significantly faster and collect more data for improved accuracy.
  • Changed level of "update" messages from DEBUG to INFO.

Fixes

  • Fixed a bug in fan algorithm on BBB and AML control boards that caused reported fan speeds to be unbounded.
  • Fixed a bug in the math for the HealthChecker that showed unhealthy chips for Vanilla S19 Pro and S21 models.
  • Fixed cores per chip to match idealized hashrate displayed by the manufacturer in their GUI.
  • Fixed green LED regression, LED will be solid on when Luxminer is running.

2024-01-24 - Commander 0.9.0

Improvements

  • Added a new column in the miners table to show a popup menu with quick access to execute setprofile and rebootdevice commands for LuxOS miners.
  • Added the ability for users to execute resetminer, rebootdevice, uninstallluxos, profileset, curtail, tempctrlset, immersionswitch, atmset, addpool, removepool, updateset and updaterun commands in configurable batches with batch size and customized waits between iterations.
  • Improved the installation server initialization. The server will now start when the user presses install and will be automatically turned off if the installation fails or the user stops the installation.
  • Added new status to button that shows when the server is stopping
  • Added message warning dialog to notify the user the server is going to be stopped if closes the commander while installing.

Fixes

  • Fixed compatibility checker, in some cases could lead to showing miners as not compatible.

2024-01-19

Improvements

  • Adjusted HealthChecker to only use valid shares.
  • Removed unnecessary 5 second delay in hashrate estimation.

Fixes

  • Fixed S21 double hashes at high frequencies.

2024-01-15

Improvements

  • Significantly improved chip health checker speed; initial results require only a few minutes, and subsequent refreshes happen in a matter of seconds.
  • Added support for SBI, Braiins, Antpool, and other pools.

Fixes

  • Fixed undesired ATM activation when fan requirements were not met.

2023-12-20

Improvements

  • UI: Added Advanced Settings page with multiple configuration options.
  • UI: New logging via http endpoint, now LuxOS shows more logs through the interface.
  • Added support for Bitmain S19A.
  • Added support for 0x77 Type PSU (APW121215d).
  • Improved hashrate estimator.
  • Updated broken fans check.
  • Improved check for broken temperature sensors excluding them in the fan algorithm and ATM settings which results in the miner to operate in a more optimal temperature window.

Fixes

  • Fixed 5s hashrate returning 2/3 of the actual hashrate sporadically.
  • Fixed SystemShutdown bus message to handle it correctly.

2023-12-08 - Commander 0.8.0

Improvements

  • Reduced verbose logging on Commander install failures. Making it easier to debug.
  • Added Search functionality. Allowing users to search by IP (Hostname), MAC Address, Username and Worker. Including smart fuzzy search algorithm to filter values, for example the value 202x0x223 can be filtered with xx223.
  • Added Filters to all columns. Each column can now be filtered by an unique list of values. Additionally, each column filters allows the user to search within the column.
  • Refactored some actions to be more user-friendly. For example, Clear and Export CSV got relocated towards the right-edge of the table. Also moved the Auto-Sync button to the settings popup.
  • Added Auto-sync button to store in the local storage the current configuration. This allows users to keep their configuration even after a page refresh.
  • Updated algorithm to order IPs, now instead of alphabetical order the new algorithm separates each octate and then compares those values with other numbers in the same position.

Commander 080

2023-12-07

Improvements

  • Added a check to consider the ipscanner button "broken" after 30s of continuous press.
  • Updated the logic for the resetbutton, now we require a 3s press plus a 2s release to trigger the reset button.
  • Added mode parameter to curtail endpoint for wakeup command. Additionally, the default behavior mimics the initialization sequence as users were not using the provided params for safer ramps.
  • Added FrequencyStep and VoltageStep to the curtail output.
  • Adjusted level and text of many log messages to reduce debug log size and show users more relevant information.
  • Added caching to 5s hashrate and reverted returning Nominal Hashrate.
  • Added check to disconnect / reconnect Stratum pool connection faster on unstable networks.
  • UI: Updated required fields in network configuration.
  • UI: Improved dashboard mobile responsiveness on most pages.
  • UI: Updated graph Highest Temperature data-source to temps.
  • UI: Added PSU Label on main dashboard page.

Fixes

  • Fixed a bug that caused for pools to not be saved when all the pools and pool group was deleted due to an index mismatch.
  • UI: Fixed hashrate split component that prevented the users from saving the configuration.
  • UI: Fixed negative temperature displays.
  • UI: Fixed NaN temperature in the main dashboard graph.

2023-12-01 - Commander 0.7.8

Improvements

  • Added new Commander Icons for MacOS and Windows.
  • Added Auto-Refresh for data, letting users customize the refresh interval (default every 5 minutes). Manual refreshes can be triggered at any time.
  • Added ControlBoard, Hashboard and PSU Type fields for LuxOS miners.
  • Added the ability to name IP ranges, edit (no needed to delete and re-add) and check for duplicate IP ranges prompting the user and not letting them save the configuration.
  • Added automated sorting for IP ranges.
  • Improved the IP validation algorithm.

Fixes

  • Fixed a bug that caused the IP panel to overflow when there were too many IP ranges. Scroll is now enabled.

2023-11-30

Improvements

  • Improved handling of out-of-bound profiles for ATM. We no longer go to the lowest Default profile, instead to the lowest ATM profile.
  • Added PSU and HardwareVersion data type to the config API command.
  • Added a check that prevents the machine to be rebooted during curtailment.

Fixes

  • Fixed bug on power supply check for S9.
  • Fixed a bug that caused some Vanilla S19 hashboards to not ramp properly by filerting out unrequested command responses.
  • Fixed a bug on curtailment wakeup. There were edge cases where the miner would not wake up after curtailment due to the PSU not being initialized completely.

2023-11-17

Improvements

  • Added beta support for S21 models with BHB68603 hashboards.
  • Added initial support for 0xc1 power supply support.
  • Added resetbutton command to reset the miner configuration to defaults.
  • Updated max temperature range for S19 models to 75C.
  • Updated the "5s" hashrate fields to use nominal hashrate instead.
  • Added support to create mixed frequency profiles on profilenew.
  • Hide the init banner when curtailment happens during system initialization.

Fixes

  • Fixed a rare bug that caused the miner to hang on wakeup after a curtailment event triggered during initialization.

2023-11-08

Improvements

  • Added additional unit testing on initialization function.
  • Added v1 for cold boot when temperature sensors read negative temperatures. Additionally, altered the initialization sequence for cold start.
  • Updated fan tuple to a proper struct and added fan connector field to API.

Fixes

  • Avoid draining unexpected command in read_pll_register. The main loop is responsible for it.
  • Fixed drain command input buffer on unexpected command bytes.
  • Refactored pin number functions out of CPUinfo.
  • Don't fatally exit when PSU protocol comes back as 0xF5.

2023-11-01

Improvements

  • Added multi-platform support for lux-update.
  • Added resetconfig command, to clear the luxminer and network configuration.
  • Added optional parameters (voltage_step & frequency_step) to curtail wakeup for custom curtailment sequence.
  • Added automatic reboot of hashboards after 5 consecutive failed hashboard restarts or other stage 2 failures like hashboard overtemp. Second stage reboots are applied using 5m, 10m, 30m, 60m and 120m intervals.
  • UI: Updated profile select component, now contains 3 tabs to segregate default and user-generated profiles.
  • UI: Updated startup banner to use SystemStatus instead of a fixed amount of time for T19, vanilla S19 and S19 Pro models.
  • UI: Added export button for current logs and add IP to file name.

Fixes

  • Fixed PIC delay waiting for bootloader to initialize.
  • Fixed "Failed to start hashboard 5 times in a row" showed even when no such error occurred.
  • Fixed a bug that wrongly cleared the "non-hashing" timer.
  • UI: Fixed incorrect delete button display, now we only show delete button on user-generated profiles.
  • UI: Fixed Power Mode to LED label.
  • UI: Fixed scroll to top when navigating between pages.
  • UI: Fixed automatic update toggle behavior.

2023-10-23

Improvements

  • UI: Added network configuration page to allow users to configure their network settings (DHCP & Static IP).
  • UI: Show fan speed setting when opting for manual fans.
  • UI: Migrated out of NX to prefer using Vite frontend tooling.
  • UI: Deprecated stitches.dev in favor of Tailwind + CVA for styling.
  • UI: Optimised network calls to avoid unnecessary calls to the backend and reduce network traffic.
  • Update automatic build to omit 8MB of unused binary from bbb-rootfs.tar.gz

Fixes

  • Fixed a rare bug that caused jobs to be wasted when manually switching pool priority.
  • Fixed null response on 5s_GHS field on summary endpoint.

2023-10-18

Improvements

  • Improved voltage ramp, fixing an issue where the voltage ramp would fail occassionaly preventing the miner from reaching the target settings.
  • Avoid using SD partitions that are too small for storing logs.
  • Fixed a bug that caused to initialize the power supply during curtailment while checking if the pools were active.

2023-10-06

Improvements

  • Added support for Bitmain Antminer T19 models.
  • Improved netset command to allow users to configure hostname. Additionally, added validation checks for IP address, netmask, gateway and DNS.
  • Improved error handling on HTTP layer.
  • Added IsDynamic field to profiles and profileget commands.
  • Added SystemStatus field to config API command.
  • Avoid not hashing reboots before system init.

Fixes

  • Added an extra check to remove legacy built-in profiles wrongly marked as user-created.
  • Fixed math of rejected/stale percent to use share difficulty instead of share counts.
  • Demoted some logging from debug to trace to reduce log size at debug level.
  • Added extra initialzation delay for Bitmain S19k Pro stability.

2023-09-28

Improvements

  • Added support and initialization for S19k Pro: BHB56902.
  • Introduced Smart Pool Switching. In case of primary pool disconnect, firmware will evaluate when it's safe to reconnect back to primary. Previously, LuxMiner would keep mining on secondary pool until LuxMiner was restarted.
  • Added dynamic profiles support.
  • Added profileget command.
  • Added poolopts and pooloptsset commands.
  • Clean up power supply detection and make more resilient to intermittent failures.
  • Major rewrite of the PSU I2C code. All reads and writes have been wrapped in retry block. In some cases, as appropriate, sets of those blocks have been wrapped in retries.

Fixes

  • Better handling of edge case when voltage ramp gets stuck.
  • Added estimated Watts and Hashrate on profiles command.
  • Improved per-chip frequency checks.
  • Use min_voltage if the voltage step is out of bounds on dynamic profiles.
  • Fix thread-unsafe bug on board restart.
  • Fixed Stratum backoff delay math and send a CleanJobs after a pool disconnect.

2023-09-25

Improvements

  • Added IsUserShutdown field to devs command.
  • Added session_id requirement to tempctrlset command.
  • Added enableboard & disableboard commands.
  • Added specific reboot handling for asic init failure.

2023-09-14

Improvements

  • Added support for power supply type 0x75.
  • UI: Added Board Temp labels.
  • UI: Added Last Refresh.
  • UI: Added option to create/delete custom profiles.
  • UI: Added option to turn on/off a hashboard.
  • UI: Added IP address to page title.
  • UI: Allow ATM empty min-profile.
  • UI: Added hover state to temp sensor graph legend.

Fixes

  • Fixed misidentification of pro/vanilla serial numbers.
  • UI: Fixed ATM form when min-profile is empty.
  • UI: Fixed ControlBoard brand display for amlogic.
  • UI: Fixed profiles sorting by frequency.
  • UI: Fixed issue with the first chip in the profile page showed incorrect values.

2023-08-29

Improvements

  • Added Amlogic control board support to Luxminer and remote install capability.
  • Added support for Bitmain Antminer S19j Pro+ miner with board type BHB42612.
  • Added S19j Pro - like vanilla BHB42801 and BHB42831 with 14-17V PSU.
  • Extended S19Vanilla/Pro S/N to add support for newer style S19s.
  • Improved UBI attach process for Xilinx remote install.
  • Improved Xilinx remote install to clear tmp/userland directory.
  • Chips without a hashcount are now reported with zero score.
  • UI: Added BHB board type.
  • UI: Added new Hashrate values in the timeseries graph.

Fixes

  • Add limit to the number of failed voltage reads and check voltage read based on miner limits.
  • Discard first bogus reading after ramp.
  • Return error on initialization if the enumeration returns no chips.
  • UI: Fixed download file name.

2023-08-13

Improvements

  • New and more networking script to handle DHCP and Static IP configurations.
  • Added check for 0x78 and 0x76 PSUs.
  • Added constraint to ATM max_profile, it cannot be unbounded.
  • Updated minimum ATM temperature to 1C.
  • Added restart option to netset command.
  • Send a PowerOff when the initialization fails.
  • UI: Added new chip color scheme for health checker.
  • UI: Introduced ATM user-interface.
  • UI: Added sensor temps on dashboard timeseries graph.
  • UI: Added refresh when new version is available.

Fixes

  • Removed unneeded edge pin call on ipscan.
  • Fixed profileset not being recognized on ATM.