1

I have a Raspberry Pi running a computer program that requires a lot of network bandwidth. In order to prevent the Raspberry Pi from using up all of our bandwidth provided by the ISP, I want to throttle it's connection when we are using the connection, and increase it's speed when we aren't. How would I go about doing that? Is there a way to detect the network usage from the Pi without the router reading it instead?

3
  • Which "program" are you using? Maybe it contains a bandwith limiter?
    – mgutt
    Sep 3, 2020 at 15:10
  • The program is Storj, it doesn't contain a bandwidth limiter. I ended up using TC to limit it's bandwidth to 20 Mbps, and set up QoS to further throttle it.
    – Kevin
    Sep 4, 2020 at 17:52
  • Yes, TC is the correct method. Example: serverfault.com/a/508864/44086
    – mgutt
    Sep 5, 2020 at 15:57

1 Answer 1

1

You need to use the Quality-Of-Service (QoS) function on your router.

QoS is a service that controls the quality and bandwidth usage of network. It is a smart service that adjusts the bandwidth for different types of work. Like it will assign more bandwidth to some one who is is streaming video and assign less to one who is just browsing. And like when you are not home, then RPi will get more bandwidth.

First install a OpenWRT (I recommend DD-WRT) firmware in your router. Access the firmware from your browser and go to NAT/QoS or similar looking tab and look for options to enable it. For newer routers, there are options from choosing priorities.

2
  • My router had QoS functionality built in, so I didn't install other firmware. Is that ok? Or will it cause issues?
    – Kevin
    Aug 25, 2020 at 17:21
  • Ok then enable it
    – Wasif
    Aug 26, 2020 at 3:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .