Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: BBR install after kernel update #1656

Closed
8 tasks done
frankozland opened this issue Aug 28, 2024 · 1 comment · Fixed by #1660
Closed
8 tasks done

[Bug]: BBR install after kernel update #1656

frankozland opened this issue Aug 28, 2024 · 1 comment · Fixed by #1660

Comments

@frankozland
Copy link

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Issue reporting checklist

Operating System

Raspberry Pi OS (64-bit) Lite Bullseye

Quick install or Manual setup?

Quick install

Onboard wireless chipset or external adapter?

Onboard wireless chipset

Hardware

Raspberry Pi 4 Model B

RaspAP version

3.1.3 (Latest)

Other software or services running with RaspAP?

No other software

Contact details (optional)

frankoz95967943@gmail.com

Bug description

    config_file="/boot/config-$(uname -r)"
    if grep -q 'CONFIG_TCP_CONG_BBR' "$config_file" && grep -q 'CONFIG_NET_SCH_FQ' "$config_file"; then
        return 0
    else
        return 1
    fi
}```

I dont think that will work?

Steps to reproduce:

1. fresh install bullseye
2. sudo rpi-update rpi-6.6.y
3. curl -sL https://install.raspap.com | bash
4. all defaults -including at BBR
```[ ✓ ok ] 
RaspAP Install: Configure TCP BBR congestion control
Network performance can be improved by changing TCP congestion control to BBR (Bottleneck Bandwidth and RTT)
Enable TCP BBR congestion control algorithm (Recommended)? [Y/n]: Y
Checking kernel support for the TCP BBR algorithm...
grep: /boot/config-6.6.47-v8+: No such file or directory
[ ⚠ warning ] TCP BBR option is not available (Skipped)
[ ✓ ok ] 

The file "/boot/config-6.6.47-v8+" doesnt exist - the only file in that directory is config.txt

BBR is available tho; modprobe allowed me to continue. This would error if kernel wouldnt allow?

net.ipv4.tcp_available_congestion_control = reno cubic
$ sudo modprobe tcp_bbr
$ sudo bash
# echo "tcp_bbr" > /etc/modules-load.d/bbr.conf
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic **bbr**
# echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf 
net.core.default_qdisc=fq
# echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = reno cubic bbr
# cat /boot/config-$(uname -r)
cat: /boot/config-6.6.47-v8+: No such file or directory

Sanity check makes sense tho - would it be better to use modinfo?

$ modinfo tcp_bbr
filename:       /lib/modules/6.6.47-v8+/kernel/net/ipv4/tcp_bbr.ko.xz
description:    TCP BBR (Bottleneck Bandwidth and RTT)
license:        Dual BSD/GPL
author:         Soheil Hassas Yeganeh <soheil@google.com>
author:         Yuchung Cheng <ycheng@google.com>
author:         Neal Cardwell <ncardwell@google.com>
author:         Van Jacobson <vanj@google.com>
srcversion:     A2AF67DAD0809E65940C9E4
depends:        
intree:         Y
name:           tcp_bbr
vermagic:       6.6.47-v8+ SMP preempt mod_unload modversions aarch64

Scalar value check if bbr module available in this kernel

$ modinfo -F intree tcp_bbr
Y

Steps to reproduce

see above

Screenshots

No response

Additional context

No response

Relevant log output

No response

@billz
Copy link
Member

billz commented Sep 14, 2024

@frankozland thanks for reporting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants
@billz @frankozland and others