Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Support] alturismo - Repos

Featured Replies

  • Author
3 hours ago, Viper020GER said:

any Idee?

something on your system is accessing (and modifying) the access time on your files/folders ...

 

as you are nr. 3 now ... i almost guess it may has something todo with mover tuning plugin.

 

@Masterwishx may i ask if mover tuning is accessing (and manipulating) files ? just as question if there was a change lately.

 

manipulating by change access time as sample

  • Replies 705
  • Views 55.4k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Cache Mover Update   see the extra part in the config page (here incl. opened help sections)     Media Server Mode:   off (or empty), will ONLY run regular mod

  • ok, never thought of that (yet)   noted, and yes, no deal breaker ... just have to think about how to tag either Docker or VM ... will leave a note here.   thanks for the feedback

  • Yes , only unbinding than reboot makes the gpu free than I attach it to VM and than it works for VM only and cannot be used for docker containers . To make it work for docker container i have to bind

Posted Images

10 hours ago, alturismo said:

manipulating by change access time as sample

 

No , just added setting for check atime

 

# Get Birthtime with stat if ATIME option enabled

        if [ $ATIME == "yes" ]; then

            FINDSTR="$FINDSTR cmd=\"stat -c%X \\\"\"\$6\"\\\"\";

                cmd | getline result;

                close(cmd);

                sub(/\\n\$/, \"\", result);

                \$1 = result;

            "

        fi

 

10 hours ago, alturismo said:

manipulating by change access time as sample

 

Also validate function that check filenames

 

# Check File by validate function and skip if error

            if [ $VALIDATE_FILENAMES = "yes" ]; then

                if ! validate_filename "$(basename "$FILEPATH")"; then

                    mvlogger "Error: Invalid filename path: '$FILEPATH'" "failure"

                    continue

                #else

                #    mvlogger "Valid filename"

                fi

            fi





# Sanitize input filename to prevent attacks

function validate_filename() {

    local filename="$1"



    ## Check filename length

    if [[ ${#filename} -gt 255 ]]; then

        mvlogger "Error: Filename too long: '$filename'"

        return 1

    fi

...

...

 

  • Author
15 hours ago, Viper020GER said:

any Idee?

looks like i have no idea ;)

 

so, what i basically see, cache-mover doesnt modify anything after (always logging those events, see few posts upper)

 

Mar  5 21:42:05 Unraid root: cache-mover: msm: update access time: /mnt/cache/Filme/WarGames - Kriegsspiele (1983)

 

so this was the last time cache mover triggered a update as file been busy ...

 

now, what i basically see in cleaner, all folders are currently "0" hours away since last time "something" modified" the access time, you can check yourself as sample

 

stat "/mnt/cache/Filme/WarGames - Kriegsspiele (1983)"

 

and check your "access" time there, sample

 

image.thumb.png.eb039aadac60020212129a1d8fe1cdc0.png

 

thats what im looking for to validate file was "not in use" ... and im pretty sure your return will always be pretty "fresh" dated, so "cleaner" wont process further as its still "in range".

 

thats the current state i can see and tell, may any other plugin, app, ... invoked meanwhile in your setup which may triggers a access on those files ?

 

as someone else already tested without cache mover, it was "updated" anyhow ... but thats obvious as mentioned, cache mover will always log those events in terms cache-mover would have done it ...

 

so short, cant tell how to help besides a rewrite here and building a own "database" with last access times instead using filesys access times ... i think about it if there are more having issues, but may please check your apps, sorry for now.

ok, so i delete the files manually

 

thee console command

2D117C0E-2F07-45C7-82F5-ABBD3DAB0ECA.png.01cd7be4793b09abb1323b57d2f58769.png

 

 

Hi

thanks again for your Cache Mover script.
One idea/question does the script check if there is enough space on the destination drive before copying?

 

Would it be possible to add a setting - that no more movies/series are copied to the SSD if it is more than x % full?

Edited by farco

  • Author
1 hour ago, farco said:

One idea/question does the script check if there is enough space on the destination drive before copying?

 

nope, not necessary as rsync will fail anyway if there wouldnt be enough space

 

1 hour ago, farco said:

Would it be possible to add a setting - that no more movies/series are copied to the SSD if it is more than x % full?

well, possible is almost anything ;) noted on "wishlist" ... may will come, currently im waiting to see if can nail down the access time issue some users here have and if necessary include a solution therefore.

Thanks ☺️.

 

I have read about the access time Problem.

My first thought was the folder caching plugin. Maybe that has something to do with it?

  • 2 weeks later...

[about PWM fan plugin]

1) I do not understand what is this "HDD EXTRA FAN Setup (split HDD/FAN setup if wished)". What is the purpose of this.

 

2) I do not understand why this has even less settings than the other sections.

3) I don't understand the extra parameter for "seconds" if you say with cron you cannot control seconds and why it is only for first section (CPU?)...

So, I have 4 fans + pump in my setup.
- One fan is for CPU.
- Pump is always full speed.
- Each of the other 3 fans is for a set of 4 disks (12 disks total). I know which 4 disks are connected to which fan.
Can I make this control each fan separately based on the temperature of the 4 disks it covers?

(I don't think I can right now)

 

(tag me if you reply to me please)

 

  • Author
5 hours ago, NLS said:

1) I do not understand what is this "HDD EXTRA FAN Setup (split HDD/FAN setup if wished)". What is the purpose of this.

 

i added this so you can at least split into 2 groups for HDD's (looks like you have 3 groups now)

 

5 hours ago, NLS said:

2) I do not understand why this has even less settings than the other sections.

it takes the same values from regular HDD setup, just for the other HDD's and Fan's if you wish to "split" 

 

5 hours ago, NLS said:

3) I don't understand the extra parameter for "seconds" if you say with cron you cannot control seconds and why it is only for first section (CPU?)...

story behind, CPU Temp is more "aggressiv" in terms of raising or sinking temp, as cron can only run every Minute (to lookup and adjust) there is a routine (if wanted) to check like "every 5  seconds" between ... sample, you are using massive high load, your CPU Temp will raise pretty quick in 1 minute ... and if you want it more steady in terms of adjustments it will look more often (every N seconds) and adjust ... so yes, the plugin can (if wished) look more often, only senseful for CPU cooling, thats why its only implemeted there.

 

5 hours ago, NLS said:

Can I make this control each fan separately based on the temperature of the 4 disks it covers?

(I don't think I can right now)

 

exactly, nope, you have 3 lets say "classes"

 

CPU

HDD group 1

HDD group 2

 

sample coverage for your usecase if you want to split somehow could be (crossover)

 

CPU (self explaining)

HDD temp (1-8) >> HDD fans (1-2)

HDD temp (5-12) >> HDD fans (2-3) (extra setup section)

 

in this case, fans 1-2 running for HDD's 1-4 states, fans 2-3 running for HDD 9-12 state,  fans 1-3 running for HDD 5-8 state.

 

sample for "hard split"

 

CPU (self explaining)

HDD temp (1-8) >> HDD fans (1-2)

HDD temp (9-12) >> HDD fans (3) (extra setup section)

 

in this case ... should be self explaining

 

for all hdd's and fans assigned in standard or exrea the same rules from standard.

 

CPU > you set your values as wished, CPU only start, stop, temp, rpm values ...

HDD > you set your values as wished, ALL HDD start, stop, temp, rpm values ... but splitted into 2 different groups if wanted to run them individually by same values, start, max, target temp, min / max rpm.

 

if you prefer to use control your 3 fans individually rather use autofan plugin and leave CPU fan control to the Bios.

 

if there where more wishes for more individual controls i can consider implmenting more HDD groups, but you are actually nr. 2 now asking therefore, some may have 2 chambers to control air flow, thats why i already added the extra HDD section, but main goal here is always to keep it simple ;)

 

i hope this helps in understanding

5 hours ago, alturismo said:

i added this so you can at least split into 2 groups for HDD's (looks like you have 3 groups now)

 

it takes the same values from regular HDD setup, just for the other HDD's and Fan's if you wish to "split" 

 

story behind, CPU Temp is more "aggressiv" in terms of raising or sinking temp, as cron can only run every Minute (to lookup and adjust) there is a routine (if wanted) to check like "every 5  seconds" between ... sample, you are using massive high load, your CPU Temp will raise pretty quick in 1 minute ... and if you want it more steady in terms of adjustments it will look more often (every N seconds) and adjust ... so yes, the plugin can (if wished) look more often, only senseful for CPU cooling, thats why its only implemeted there.

 

exactly, nope, you have 3 lets say "classes"

 

CPU

HDD group 1

HDD group 2

 

sample coverage for your usecase if you want to split somehow could be (crossover)

 

CPU (self explaining)

HDD temp (1-8) >> HDD fans (1-2)

HDD temp (5-12) >> HDD fans (2-3) (extra setup section)

 

in this case, fans 1-2 running for HDD's 1-4 states, fans 2-3 running for HDD 9-12 state,  fans 1-3 running for HDD 5-8 state.

 

sample for "hard split"

 

CPU (self explaining)

HDD temp (1-8) >> HDD fans (1-2)

HDD temp (9-12) >> HDD fans (3) (extra setup section)

 

in this case ... should be self explaining

 

for all hdd's and fans assigned in standard or exrea the same rules from standard.

 

CPU > you set your values as wished, CPU only start, stop, temp, rpm values ...

HDD > you set your values as wished, ALL HDD start, stop, temp, rpm values ... but splitted into 2 different groups if wanted to run them individually by same values, start, max, target temp, min / max rpm.

 

if you prefer to use control your 3 fans individually rather use autofan plugin and leave CPU fan control to the Bios.

 

if there where more wishes for more individual controls i can consider implmenting more HDD groups, but you are actually nr. 2 now asking therefore, some may have 2 chambers to control air flow, thats why i already added the extra HDD section, but main goal here is always to keep it simple ;)

 

i hope this helps in understanding

 

Yes very detailed explanation. I definitely need more groups indeed.
(people will indeed probably need individual fan control instead of grouping)
You could split the sections dynamically according to number of detected fans.


I removed autofan plugin (although it is "semi-official"), as I didn't see it maintained much and also I don't think I could split controls per fan (or maybe I didn't know how).

So your plugin needs the help of user scripts to work after every reboot?

(to take control from BIOS first)
 

Anyway, keep up the good work.

 

  • Author
7 hours ago, NLS said:

I definitely need more groups indeed.
(people will indeed probably need individual fan control instead of grouping)

;) i see it a little different, i would prefer "chamber" airflow instead single disk airflow, but thats personal preference of course.

 

7 hours ago, NLS said:

I removed autofan plugin (although it is "semi-official"), as I didn't see it maintained much and also I don't think I could split controls per fan (or maybe I didn't know how).

exactly, thats why i made my "scripts" into a plugin in terms someone also would like it

and yes, autofan you have to set for each fan.

 

7 hours ago, NLS said:

So your plugin needs the help of user scripts to work after every reboot?

 

nope, why should it ? all done in the plugin, no user scripts needed, plugin will set crons and so on ... and enable fan control via OS of course.

 

7 hours ago, NLS said:

Anyway, keep up the good work.

 

thanks, currently a little busy due renovation as im moving to a new place.

@alturismo thanks for the reply.

 

This plugin will be useful to me when I can control the fans individually or ok in groups but have plenty of groups.

 

You need to be able to cover all possibilities. For example a rack mount server could have 3 (small) fans per disk group (like 5 disks).
My own "hand-made" server has a single 12" fan for every 4 disks - plus the CPU and pump (pump is always 100%).
 

So in a future version of the plugin better be able to detect fans individually AND allow user to make a number of groups (it would be better if the groups are not a preset number, allow the  user to define it).

Another improvement is to use UNRAID's own numbering of fans. UNRAID in dashboard shows FAN 1, FAN 2 (which is the CPU fan!), FAN 3, FAN 4, FAN 5, FAN 6 (which is the pump). I understand that your plugin uses Linux naming of fans, but would be very helpful for the users to actually match pwm devices to UNRAID's "FAN #".

 

Keep up the good work.

 

Not sure if it has been mentioned, I tried searching.

 

I'm currently using this script https://github.com/bexem/PlexCache

 

The advantage is it scans Plex for On Deck media for all users and moves a selected amount of episodes to the cache pool. I run it nightly and it keeps up to date.

 

The problem I have is it is clunky and it doesn't seem to be developed anymore. I'm hoping to keep certain shows on the cache permanently (as my son plays random episodes of his shows and PlexCache can't deal with that). I was looking for another solution and found yours.


Do you think you could add the functions of this script to your plugin?

 

  • Author
8 hours ago, flybrys said:

Do you think you could add the functions of this script to your plugin?

 

 

i took a look at it now (didnt knew there was one actually) ;)

 

well, its a different approach, mine is more a "live" feature and not depending on "plex on deck" ... so i guess, no, makes no sense to me actually ... my usecase (actually more my woman and daughter) are randomly watching "older" stuff ... without setting them "on deck", so this plugin will move then pretty close on startup and also switching live (for a movie as sample mandatory).

 

sorry, if there is a "special" feature i didnt realise, let me know, but the "on deck" makes no sense to me, new stuff lying on cache anyhow (most cases) and therefore you can use mover tuning to keep fresh media longer on cache ...

 

may i missed something ?

7 hours ago, alturismo said:

 

i took a look at it now (didnt knew there was one actually) ;)

 

well, its a different approach, mine is more a "live" feature and not depending on "plex on deck" ... so i guess, no, makes no sense to me actually ... my usecase (actually more my woman and daughter) are randomly watching "older" stuff ... without setting them "on deck", so this plugin will move then pretty close on startup and also switching live (for a movie as sample mandatory).

 

sorry, if there is a "special" feature i didnt realise, let me know, but the "on deck" makes no sense to me, new stuff lying on cache anyhow (most cases) and therefore you can use mover tuning to keep fresh media longer on cache ...

 

may i missed something ?

My understanding of the OnDeck is that its a list of shows that are in progress. So for example, last week my wife and I started watching House. Its an old show and resided on the array. The first time we started watching it, it played from the array. However with the plexcache script running overnight, it moved the next 10 episodes (I configured 10) of House to the cache pool. So the next day when we watched it, it played straight from the cache.

After a few days, the script will see that On Deck is showing that some episodes have been watched, and the script moves those back to the array and moves the same amount of next episodes back to the cache pool. There will always be 10 episodes available until we finish the show.

 

It is also handy, because we watch multiple shows, and so do the friends I have invited to my plex account. The script can see all the shows they are watching, and copies the next 10 episodes of each show to the cache pool.

 

 

So it doesn't have to do it live and doesn't need to spin up the drive at all when playback is requested.

 

The only problem I have with it, is that my son watching kids shows randomly, the script can't handle that.

  • Author
2 hours ago, flybrys said:

The first time we started watching it, it played from the array. However with the plexcache script running overnight, it moved the next 10 episodes (I configured 10) of House to the cache pool. So the next day when we watched it, it played straight from the cache.

ok, my plugin does as follows

 

- 1st time you start watching, it will copy (not move) the season to the cache and switch "live" to cache

- it will update access times on the season folder

- it will keep files as long as you set them (last access then, sample 240 hours for 10 days from last watched episode)

- after this period "not watched anymore), it ll delete from cache

 

so, personal opinion, i dont have to wait for the next day, it will even switch the access to cache on episode 1 and disk/s can directly go back to sleep, you have the complete season already on cache (who is watching partly ...).

 

bonus, less disk activity and no "ping pong" ... copy from array to cache and copy back to array and when i watch 1 epsiodes it will move again until the "10" are reached ...

 

and may its not clear what "live" means, that was the major point for me, sample, when i watch a movie now.

 

plugin detects playback (sample after 5 Minutes)

plugin copy movie to cache while played (lets say takes another 5 Minutes)

plugin switch filesystem access FROM array disk to CACHE disk LIVE in background

disk is "free" and will spin down after period (sample 15 Minuts here)

 

so, even while randomly warching a movie from array disk this will be cached and used from cache instead array disk ... so live means, while playback is running the switch from disk to ssd will happen ...

 

so sorry, i see no benefit here for waiting "on desk" ;)

 

2 hours ago, flybrys said:

It is also handy, because we watch multiple shows, and so do the friends I have invited to my plex account. The script can see all the shows they are watching, and copies the next 10 episodes of each show to the cache pool.

 

and this will happen for all played files from plex Server ... yours, your family, your friends, ...

 

2 hours ago, flybrys said:

The only problem I have with it, is that my son watching kids shows randomly, the script can't handle that.

will also handle this then ... as mentioned above, if your sone is randomly watching cross over seasons ... of course, every season would spin up drives to copy ...

 

so, its a different approach, lets say

 

"preparing for next day" vs. "realtime" handling

"moving files" vs. "copy and delete" (i had moving optional here, but removed as i abuse Unraids FUSE)

"Plex Desk state keepallive"  vs. "time based keepalive" (i split in 2 handlings, sample tv shows keep longer ...)

"Plex dependecy" vs. multi coverage (this plugin can also handle VLC playback from smb access on a device)

 

in the end, users choice what is prefered, but nice there is a alternative for plex.

  • 2 weeks later...

[Cache-mover]

Thanks for creating this plugin, it is very useful.

 

After I setting and apply, I got below error on the plugin. I am not able to edit or change anything. 

Apr  8 16:18:11 Bovin-lab webGUI: error: /update.php - missing csrf_token

 

Would you help on this?

 

I am using user share and a media folder. primary storage is cache, secondary is zfs pool. It is the same as stand array method, so do not need mergerfs. Right?

cachemoversettings

Edited by Bovin

6 hours ago, Bovin said:

[Cache-mover]

Thanks for creating this plugin, it is very useful.

 

After I setting and apply, I got below error on the plugin. I am not able to edit or change anything. 

Apr  8 16:18:11 Bovin-lab webGUI: error: /update.php - missing csrf_token

 

Would you help on this?

 

I am using user share and a media folder. primary storage is cache, secondary is zfs pool. It is the same as stand array method, so do not need mergerfs. Right?

cachemoversettings 762 B · 0 downloads

@alturismo

Updated:

My setting:

/mnt/zfs/media/Movies

/mnt/user/media/Movies        #primary storage on cache pool, secondary storage on zfs pool.

 

docker map as below, so I set it rewrite_source="/data:/mnt/user/media"

/data/tvshows:/mnt/user/media/Shows/
/data/movies:/mnt/user/media/Movies/
/data/music:/mnt/user/media/Musics/

 

1. csrf_token issue resolved.

I removed Mover Tuning Ignore List filepath and keep it empty, it is not correct. Just keep default setting.

 

2. /mnt/disk* issue resolved. 

I checked usr/local/emhttp/plugins/cache-mover/scripts/cache_mover1 for media only mode.

line 91, /mnt/disk* is hard code. Manually change to /mnt/zfs, then move to cache successful.

 

CACHE MOVER LOG

Apr  8 17:30:03 Bovin-lab root: cache-mover: msm: find: ‘/mnt/disk*’: No such file or directory >>>Since using zfs pool, so no any disks.
Apr  8 17:30:03 Bovin-lab root: cache-mover: msm: not matching Movies|Shows, breaking here

 

[unresolved issue]3. During steam switched, I saw below syslog, it seems still have some issue.

 

Apr  8 22:26:40 Bovin-lab root: cache-mover: msm: /mnt/cache/media/tvshows/The.Kite.S01.2160p.iQIYI.WEB-DL.AAC2.0.H.265-MWeb/The.Kite.S01E36.2160p.iQIYI.WEB-DL.AAC2.0.H.265-MWeb.mkv
Apr  8 22:26:42 Bovin-lab root: cache-mover: msm: ready to switch live
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: -: No such file or directory.>>>>>
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: (gdb) Attaching to process 6625
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 586165]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 514185]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 12552]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 12512]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 9471]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 7318]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 6628]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [New LWP 6627]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [Thread debugging using libthread_db enabled]
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: Using host libthread_db library "/lib64/libthread_db.so.1".
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: 0x000014a20ee5298e in __syscall_cancel_arch () from /lib64/libc.so.6
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: (gdb) $1 = 22
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: (gdb) $2 = 23
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: (gdb) $3 = 0
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: (gdb) Detaching from program: /usr/libexec/unraid/shfs, process 6625
Apr  8 22:26:44 Bovin-lab root: cache-mover: msm: [Inferior 1 (process 6625) detached]
Apr  8 22:28:15 Bovin-lab emhttpd: spinning down /dev/sdb

 

 

 

Edited by Bovin

  • Author
5 hours ago, Bovin said:

I checked usr/local/emhttp/plugins/cache-mover/scripts/cache_mover1 for media only mode.

line 91, /mnt/disk* is hard code. Manually change to /mnt/zfs, then move to cache successful.

 

as im not using zfs pools ... wasnt aware on this ...

 

when im done moving to my new place i ll add something therefore, thanks for the hint with zfs pools ...

 

5 hours ago, Bovin said:

[unresolved issue]3. During steam switched, I saw below syslog, it seems still have some issue.

 

looking ok to me, if you mean the "file not found" message, never figured why gdb is reporting this, but has no conflict.

 

you can check yourself if the "live" switch was successful by cli

 

lsof -l /mnt/cache/ | grep -i ".mkv"

 

should report the open file from cache instead /mnt/zfs/

  • 2 weeks later...

I would like to use PWM-FANS to control my fans, but for some reasons the "cron" seem to be always "stopped". 

What should check to investigate this ? I can control my fan manually as described in the help (i.e echo 1 > sys/devices...)

 

I can see this in system log:

Apr 16 18:34:12 raikou ool www[232303]: /usr/local/emhttp/plugins/pwm-fan/scripts/hdd_cron.sh

Apr 16 18:34:14 raikou ool www[232281]: /usr/local/emhttp/plugins/pwm-fan/scripts/cpu_cron.sh

 

ok realized my error, values in light blue need to be re-typed, otherwise settings are not active.

 

Edited by mdastous
typos

[PWS-FANS]

Can you please explain the difference between cron seconds and cron timer ?

  • Author
2 hours ago, mdastous said:

Can you please explain the difference between cron seconds and cron timer ?

done for CPU Fan usage (only) as CPU heat raise / sink faster and if someone wants this ... on higher performing systems ...

 

1/ cron timer is mandatory

 

as cron is limited to minutes only ... and in 1 minute alot can happen

i added the function to check every N seconds (cron seconds) between the minute to adjust CPU Fan

 

sample

 

cron timer = * * * * *

 

would check once every minute and adjust

 

cron seconds = 5

 

would now also check between every 5 seconds and adjust

 

thats about it ... ;)

 

from the help text when you click on the word cron seconds

 

image.png.1824f5ac716c0882ef914f2fede85cfa.png

 

3 hours ago, mdastous said:

ok realized my error, values in light blue need to be re-typed, otherwise settings are not active.

 

exactly, its a "blueprint" to show a sample entry ... but you have to enter your personal desired values there ;)

10 hours ago, alturismo said:

 

 

would check once every minute and adjust

 

cron seconds = 5

 

 

Should I be worried about performance impact of this setting? 

[PWS-FANS]

One quick note,

 

I noticed that when my disks are spun-down, the array fan stops.  I think that would be great to have an option to keep it at the low rpm value (i.e. keep minimal air flow in the case)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.