[SOLVED] Broadcom BCM57788 Gigabit capped to 100Mb?

Im connected direct to 1Gb fiber and my card support it but :

inxi -Fxxxza       
System:    Kernel: 5.11.12-zen1-1-zen x86_64 bits: 64 compiler: gcc v: 10.2.0  
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=ed406cd9-838d-475e-a18a-0f78fca0ec66  
rw [email protected] quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3
Desktop: KDE Plasma 5.21.4 tk: Qt 5.15.2 info: latte-dock wm: kwin_x11 vt: 1 dm: SDDM  
Distro: Garuda Linux base: Arch Linux  
Machine:   Type: Desktop System: Dell product: Vostro 230 v: 00 serial: <filter> Chassis: type: 3  
serial: <filter>  
Mobo: Dell model: 07N90W v: A02 serial: <filter> BIOS: Dell v: 1.4.0 date: 12/09/2010  
Battery:   Device-1: hidpp_battery_0 model: Logitech Wireless Touch Keyboard K400 Plus serial: <filter>  
charge: 100% (should be ignored) rechargeable: yes status: Discharging  
CPU:       Info: Dual Core model: Pentium E6700 bits: 64 type: MCP arch: Penryn family: 6  
model-id: 17 (23) stepping: A (10) microcode: A0B cache: L2: 2 MiB  
flags: lm nx pae sse sse2 sse3 ssse3 vmx bogomips: 12767  
Speed: 1662 MHz min/max: N/A Core speeds (MHz): 1: 1662 2: 3192  
Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled  
Type: l1tf mitigation: PTE Inversion; VMX: EPT disabled  
Type: mds status: Vulnerable: Clear CPU buffers attempted, no microcode; SMT disabled  
Type: meltdown mitigation: PTI  
Type: spec_store_bypass status: Vulnerable  
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization  
Type: spectre_v2 mitigation: Full generic retpoline, STIBP: disabled, RSB filling  
Type: srbds status: Not affected  
Type: tsx_async_abort status: Not affected  
Graphics:  Device-1: NVIDIA GP106 [GeForce GTX 1060 3GB] driver: nvidia v: 460.67  
alternate: nouveau,nvidia_drm bus-ID: 01:00.0 chip-ID: 10de:1c02 class-ID: 0300  
Display: x11 server: X.Org 1.20.10 compositor: kwin_x11 driver: loaded: nvidia display-ID: :0  
screens: 1  
Screen-1: 0 s-res: 1920x1200 s-dpi: 95 s-size: 513x321mm (20.2x12.6") s-diag: 605mm (23.8")  
Monitor-1: DVI-D-0 res: 1920x1200 hz: 60 dpi: 94 size: 518x324mm (20.4x12.8")  
diag: 611mm (24.1")  
OpenGL: renderer: GeForce GTX 1060 3GB/PCIe/SSE2 v: 4.6.0 NVIDIA 460.67 direct render: Yes  
Audio:     Device-1: Intel NM10/ICH7 Family High Definition Audio vendor: Dell driver: snd_hda_intel  
v: kernel bus-ID: 00:1b.0 chip-ID: 8086:27d8 class-ID: 0403  
Device-2: NVIDIA GP106 High Definition Audio driver: snd_hda_intel v: kernel bus-ID: 01:00.1  
chip-ID: 10de:10f1 class-ID: 0403  
Sound Server-1: ALSA v: k5.11.12-zen1-1-zen running: yes  
Sound Server-2: JACK v: 0.125.0 running: no  
Sound Server-3: PulseAudio v: 14.2 running: yes  
Sound Server-4: PipeWire v: 0.3.25 running: no  
Network:   Device-1: Broadcom NetLink BCM57788 Gigabit Ethernet PCIe vendor: Dell driver: tg3 v: kernel  
port: ec00 bus-ID: 03:00.0 chip-ID: 14e4:1691 class-ID: 0200  
IF: enp3s0 state: up speed: 100 Mbps duplex: full mac: <filter>  
Drives:    Local Storage: total: 149.06 GiB used: 23.46 GiB (15.7%)  
SMART Message: Unable to run smartctl. Root privileges required.  
ID-1: /dev/sda maj-min: 8:0 vendor: Intel model: SSDSA2M080G2GC size: 74.53 GiB block-size:  
physical: 512 B logical: 512 B speed: <unknown> rotation: SSD serial: <filter> rev: 02M3  
scheme: MBR  
ID-2: /dev/sdb maj-min: 8:16 vendor: Western Digital model: WD800JD-60LSA0 size: 74.53 GiB  
block-size: physical: 512 B logical: 512 B speed: <unknown> serial: <filter> rev: 1D07  
scheme: MBR  
Partition: ID-1: / raw-size: 74.53 GiB size: 74.53 GiB (100.00%) used: 23.46 GiB (31.5%) fs: btrfs  
dev: /dev/sda1 maj-min: 8:1  
ID-2: /home raw-size: 74.53 GiB size: 74.53 GiB (100.00%) used: 23.46 GiB (31.5%) fs: btrfs  
dev: /dev/sda1 maj-min: 8:1  
ID-3: /var/log raw-size: 74.53 GiB size: 74.53 GiB (100.00%) used: 23.46 GiB (31.5%) fs: btrfs  
dev: /dev/sda1 maj-min: 8:1  
ID-4: /var/tmp raw-size: 74.53 GiB size: 74.53 GiB (100.00%) used: 23.46 GiB (31.5%) fs: btrfs  
dev: /dev/sda1 maj-min: 8:1  
Swap:      Kernel: swappiness: 10 (default 60) cache-pressure: 75 (default 100)  
ID-1: swap-1 type: zram size: 1.92 GiB used: 165.3 MiB (8.4%) priority: 32767 dev: /dev/zram0  
ID-2: swap-2 type: zram size: 1.92 GiB used: 167.2 MiB (8.5%) priority: 32767 dev: /dev/zram1  
Sensors:   System Temperatures: cpu: 41.0 C mobo: N/A gpu: nvidia temp: 39 C  
Fan Speeds (RPM): cpu: 1573 mobo: 901 gpu: nvidia fan: 25%  
Info:      Processes: 175 Uptime: 6m wakeups: 2 Memory: 3.83 GiB used: 2.49 GiB (64.8%) Init: systemd  
v: 248 tool: systemctl Compilers: gcc: 10.2.0 clang: 11.1.0 Packages: pacman: 1788 lib: 347  
Shell: fish v: 3.2.1 running-in: konsole inxi: 3.3.03

Must be wrong "driver" installed.
Its a wired connection. No wifi used.
Please help.

Please read

If you include terminal outputs in your post please use the proper output format in your post. Using "~" 3 times above and "~" 3 times below the text block will provide a readable, raw look.


Ok, I will try to remember that.

How are you connected directly to 1Gbps fiber using an Ethernet card?

Are you using a suitable Ethernet cable? Is your router correctly configured? Is your Ethernet connection using Automatic "Link negotiation" or are have you set it to a specific Speed? Have you tried some different settings?

Have you done any reading or research about this?


Swap in a new cat6e cable.

Have you tried modifying your speed using ethtool yet?

Also try disabling either (or both) GSO and TSO using ethtool.


I am using a suitable cat 6 cable that works at 950Mb on a Mx-linux machine standing next to it when I connect it. I dont use a router, but am connected directly to the fiber-box. I have tried all different settings a proposed. But even if I set the negotiation to Manual and the speed to 1Gb and it stays that way through reboot, the speed stays 100Mb according to Fast.com, Bredbandskollen.se, and a few other "bandwidth"-checkers. I am very new to Arch and am sure its a newbie "thing". But Im learning.

Check if your router has gigabit ethernet port and connect to that port


After setting Speed to 1000 (it was 100) in ethtool and turning on TSO and turning off GSO I reach an average of 250 Mb.
Still far from the 950+Mb I reach on Mx-Linux . Measured with Firefox and no "add-on's" loaded.

I am connected directly to the "fiber-box" and it sure has gigabit ports.

The broadcom tg3 driver is known to not play well with other driver modules when they load in the wrong sequence.

Try unloading the tg3 module then reloading the tg3 driver with alternate options and then restart Network Manager to see if that makes any difference.

Unplug your Ethernet cable then do the following:

sudo systemctl stop NetworkManager; sudo modprobe -r tg3; sleep 3; sudo modprobe tg3 msi=0 msix=0; sudo systemctl start NetworkManager

You can test either the msi or msix options or both combined in the above command.

Do you use bluetooth or dual boot Windows?

Please post:

sudo dmesg  | grep -Ei 'error|segf|fail|broke|warn|dump|denied|firm|bug||bcm|tg3|BCM57788|eth|enp3s0|blue|deauth' | grep -viE 'acpi|ras'

Before I got so far, somehow I made the machine unusable, it started running out of memory as fast as I did anything. Tried to ditch Latte but even that didnt succeed. So I installed on a new machine with more RAM and here its 870Mb bandwidth from the start.
However now I cant update/grade since Preformatted text

"Levon 'noptrix' Kayan (BlackArch Developer) <[email protected]>" är ogiltig
ogiltig eller korrupt databas (PGP-signatur)

No bluetooth or dual boot on the machine that run out of memory

And thats fixed too now. Thanks everybody for your help, and bear with me, Im learning.
Garuda is FANTASTIC!


So what exactly was the solution? (For bandwidth issue)
Getting more RAM?


I suppose so, even though unloading and loading tg3 sounds like a plausibel solution. Somehow the machine wouldnt boot anymore and instead of installing on that machine with [email protected] I installed on a far better machine. If I get around to it I Will install om the slower machine and see hoe it goes.

The tg3 module is well known for causing module conflicts at boot for wifi and bluetooth. I also seem to recall it can conflict with a laptops webcam as well IIRC in some cases. It fortunately is not in widespread use anymore because of its age. I didn't pick up on it in your outputs straight away or I would have suggested blacklisting it temporarily. The tg3 module is a nasty little gremlin.

Often it requires blacklisting of all networking modules and then loading them in a specific order via a service that does not cause conflicts between the modules.