You are not logged in.

#1 2022-01-03 20:30:32

redshoe
Member
Registered: 2015-12-16
Posts: 255

Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

I've recently replaced my wlan card from Intel 2230-N to Broadcom BCM43228. The card is working, but with a flaw, connection bitrate showing up as 0 kb/s. I am using i3status bar, and with the Intel 2230-N card it showed the wifi connection bitrate correctly. Is there a way to find where i3status bar gets this connection bitrate information? Or is this problem of wlan card? I am using broadcom-wl.

Thanks.

Offline

#2 2022-01-03 23:18:13

jonno2002
Member
Registered: 2016-11-21
Posts: 889

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

im not familiar with i3status but after a quick read of the man page i see that the wireless section of the config should look similar to this:

wireless wlan0 {
        format_up = "W: (%quality at %essid, %bitrate) %ip"
        format_down = "W: down"
}

so you would need to make sure that "wlan0" is whatever your wireless card is, which can be found by running:

ip a

which in my case is "wlp3s0" but on another laptop in the house is "wlp8s0", so you need to make sure that is configured right.

hope that makes sense

Offline

#3 2022-01-04 00:09:09

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

jonno2002 wrote:

im not familiar with i3status but after a quick read of the man page i see that the wireless section of the config should look similar to this:

wireless wlan0 {
        format_up = "W: (%quality at %essid, %bitrate) %ip"
        format_down = "W: down"
}

so you would need to make sure that "wlan0" is whatever your wireless card is, which can be found by running:

ip a

which in my case is "wlp3s0" but on another laptop in the house is "wlp8s0", so you need to make sure that is configured right.

hope that makes sense

Yes. I did check it and the device name is correct. Everything (SSID, quality, and IP address) BUT the bitrate are correctly shown. Do you think this could be a driver issue?

Offline

#4 2022-01-04 09:49:12

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,360

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Please post the output of "ip a", your i3 config and

cat /sys/class/net/wlpredictablemyasslennart/statistics/?x_bytes

for the NIC that shows up in "ip a" and your i3 config.
(Those values should increase w/ traffic and ar eiirc what i3 uses to interpolate the network speed)

Online

#5 2022-01-04 16:06:51

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

'ip a' output

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp9s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 08:9e:01:88:71:61 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 1c:3e:84:ef:25:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.16/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp3s0
       valid_lft 86374sec preferred_lft 75574sec
    inet6 fe80::1e3e:84ff:feef:252f/64 scope link 
       valid_lft forever preferred_lft forever

i3 config

# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
#
# This config file uses keycodes (bindsym) and was written for the QWERTY
# layout.
#
# To get a config file with the same key positions, but for your current
# layout, use the i3-config-wizard
#

# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:Fixed Excelisor 12

default_border pixel
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8

# The combination of xss-lock, nm-applet and pactl is a popular choice, so
# they are included here as an example. Modify as you see fit.

# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
# screen before suspend. Use loginctl lock-session to lock your screen.
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork

# NetworkManager is the most popular way to manage wireless networks on Linux,
# and nm-applet is a desktop environment-independent system tray GUI for it.
exec --no-startup-id nm-applet

# Use pactl to adjust volume in PulseAudio.
set $refresh_i3status killall -SIGUSR1 i3status
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status

# use these keys for focus, movement, and resize directions when reaching for
# the arrows is not convenient
set $up l
set $down k
set $left j
set $right semicolon

# use Mouse+Mod1 to drag floating windows to their wanted position
floating_modifier Mod1

# start a terminal
bindsym Mod1+Return exec i3-sensible-terminal

# kill focused window
bindsym Mod1+Shift+q kill
bindsym Mod1+F4 kill

# start dmenu (a program launcher)
bindsym Mod1+d exec --no-startup-id dmenu_run -b -fn 'Fixed Excelsior-12'
# A more modern dmenu replacement is rofi:
# bindsym Mod1+d exec "rofi -modi drun,run -show drun"
# There also is i3-dmenu-desktop which only displays applications shipping a
# .desktop file. It is a wrapper around dmenu, so you need that installed.
# bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop

# change focus
bindsym Mod1+$left focus left
bindsym Mod1+$down focus down
bindsym Mod1+$up focus up
bindsym Mod1+$right focus right

# alternatively, you can use the cursor keys:
bindsym Mod1+Left focus left
bindsym Mod1+Down focus down
bindsym Mod1+Up focus up
bindsym Mod1+Right focus right

# move focused window
bindsym Mod1+Shift+$left move left
bindsym Mod1+Shift+$down move down
bindsym Mod1+Shift+$up move up
bindsym Mod1+Shift+$right move right

# alternatively, you can use the cursor keys:
bindsym Mod1+Shift+Left move left 25 px
bindsym Mod1+Shift+Down move down 25 px
bindsym Mod1+Shift+Up move up 25 px
bindsym Mod1+Shift+Right move right 25 px

# split in horizontal orientation
bindsym Mod1+h split h

# split in vertical orientation
bindsym Mod1+v split v

# enter fullscreen mode for the focused container
bindsym Mod1+f fullscreen toggle

# change container layout (stacked, tabbed, toggle split)
bindsym Mod1+s layout stacking
bindsym Mod1+w layout tabbed
bindsym Mod1+e layout toggle split

# toggle tiling / floating
bindsym Mod1+Shift+space floating toggle

# change focus between tiling / floating windows
bindsym Mod1+space focus mode_toggle

# focus the parent container
bindsym Mod1+a focus parent

# focus the child container
#bindsym Mod1+d focus child

# move the currently focused window to the scratchpad
bindsym Mod1+Shift+minus move scratchpad

# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym Mod1+minus scratchpad show

# Define names for default workspaces for which we configure key bindings later on.
# We use variables to avoid repeating the names in multiple places.
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"

# switch to workspace
bindsym Mod1+1 workspace number $ws1
bindsym Mod1+2 workspace number $ws2
bindsym Mod1+3 workspace number $ws3
bindsym Mod1+4 workspace number $ws4
bindsym Mod1+5 workspace number $ws5
bindsym Mod1+6 workspace number $ws6
bindsym Mod1+7 workspace number $ws7
bindsym Mod1+8 workspace number $ws8
bindsym Mod1+9 workspace number $ws9
bindsym Mod1+0 workspace number $ws10

# move focused container to workspace
bindsym Mod1+Shift+1 move container to workspace number $ws1
bindsym Mod1+Shift+2 move container to workspace number $ws2
bindsym Mod1+Shift+3 move container to workspace number $ws3
bindsym Mod1+Shift+4 move container to workspace number $ws4
bindsym Mod1+Shift+5 move container to workspace number $ws5
bindsym Mod1+Shift+6 move container to workspace number $ws6
bindsym Mod1+Shift+7 move container to workspace number $ws7
bindsym Mod1+Shift+8 move container to workspace number $ws8
bindsym Mod1+Shift+9 move container to workspace number $ws9
bindsym Mod1+Shift+0 move container to workspace number $ws10

# reload the configuration file
bindsym Mod1+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym Mod1+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym Mod1+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"

# resize window (you can also use the mouse for that)
mode "resize" {
        # These bindings trigger as soon as you enter the resize mode

        # Pressing left will shrink the window’s width.
        # Pressing right will grow the window’s width.
        # Pressing up will shrink the window’s height.
        # Pressing down will grow the window’s height.
        bindsym $left       resize shrink width 5 px or 5 ppt
        bindsym $down       resize grow height 5 px or 5 ppt
        bindsym $up         resize shrink height 5 px or 5 ppt
        bindsym $right      resize grow width 5 px or 5 ppt

        # same bindings, but for the arrow keys
        bindsym Left        resize shrink width 5 px or 5 ppt
        bindsym Down        resize grow height 5 px or 5 ppt
        bindsym Up          resize shrink height 5 px or 5 ppt
        bindsym Right       resize grow width 5 px or 5 ppt

        # back to normal: Enter or Escape or Mod1+r
        bindsym Return mode "default"
        bindsym Escape mode "default"
        bindsym Mod1+r mode "default"
}

bindsym Mod1+r mode "resize"

# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
        status_command i3status
        tray_output primary
}

#######################################################################
# automatically start i3-config-wizard to offer the user to create a
# keysym-based config which used their favorite modifier (alt or windows)
#
# i3-config-wizard will not launch if there already is a config file
# in ~/.config/i3/config (or $XDG_CONFIG_HOME/i3/config if set) or
# ~/.i3/config.
#
# Please remove the following exec line:
#######################################################################
#exec i3-config-wizard


# Program launcher
bindsym Mod1+Control+i exec firefox
bindsym Mod1+Control+m exec aerc


# Volume control
bindsym Mod1+Control+minus exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status 
bindsym Mod1+Control+plus  exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status 
bindsym Mod1+Control+0     exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status

# Window float
for_window [class="MPlayer" instance="xv"] floating enable
for_window [class="Ncview"] floating enable
for_window [class="Signal"] floating enable
for_window [class="zoom"] floating enable
for_window [class="Matplotlib"] floating enable
for_window [class="Inkscape"] floating enable
for_window [class="Pavucontrol"] floating enable
for_window [class="Simple-scan"] floating enable
for_window [class="Virt-manager"] floating enable

output of

 cat /sys/class/net/wlp3s0/statistics/tx_bytes  

->

259183 

Offline

#6 2022-01-04 16:09:56

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,360

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

seth wrote:

your i3 config and

ah, shit - i3status.conf …

Why's there no rx_bytes?

Online

#7 2022-01-04 16:27:20

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Yeah, I was wondering if you were asking for i3status

general {
	output_format = "i3bar"
	colors = true
	interval = 1
}

order += "wireless wlp3s0" 
order += "battery 0"
order += "cpu_usage"
order += "memory"
order += "volume master"
order += "tztime local"


wireless wlp3s0 {
	format_up = "%essid \ %quality \ %bitrate \ %ip "
	format_down = "No Connection"
   color_good = "#00FFFF"
   color_bad = "#FF0000"
}

battery 0 {
	format = " Batt %percentage "
   format_down = "No Batt"
	path = "/sys/class/power_supply/BAT1/uevent"
   low_threshold = 20
   color_bad = "#FF0000"
}

cpu_usage {
	format = " CPU %usage "
}

memory {
        format = " Mem %used/%total "
}

volume master {
     format = " Vol %volume "
     format_muted = "Muted"
     device = "default"
     mixer = "Master"
}

tztime local {
	format = " %Y-%m-%d %H:%M:%S "
}
 cat /sys/class/net/wlp3s0/statistics/tx_bytes  

-> 307768

 cat /sys/class/net/wlp3s0/statistics/rx_bytes  

-> 3625849

Last edited by redshoe (2022-01-04 16:27:53)

Offline

#8 2022-01-04 16:40:13

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,360

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

All good, but i3status actually queries the nl80211 interface and you're probably using a wext driver?
(Or if nl80211, it's indeed a bug in the wl driver)
https://github.com/i3/i3status/blob/mas … ess_info.c

…
static int get_wireless_info(const char *interface, wireless_info_t *info) {
    memset(info, 0, sizeof(wireless_info_t));

#ifdef __linux__
    struct nl_sock *sk = nl_socket_alloc();
    if (genl_connect(sk) != 0)
        goto error1;

    if (nl_socket_modify_cb(sk, NL_CB_VALID, NL_CB_CUSTOM, gwi_scan_cb, info) < 0)
        goto error1;

    const int nl80211_id = genl_ctrl_resolve(sk, "nl80211");
    if (nl80211_id < 0)
        goto error1;

    const unsigned int ifidx = if_nametoindex(interface);
    if (ifidx == 0)
        goto error1;

    struct nl_msg *msg = NULL;
    if ((msg = nlmsg_alloc()) == NULL)
        goto error1;

    if (!genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, nl80211_id, 0, NLM_F_DUMP, NL80211_CMD_GET_SCAN, 0) ||
        nla_put_u32(msg, NL80211_ATTR_IFINDEX, ifidx) < 0)
        goto error2;

    if (nl_send_sync(sk, msg) < 0)
        // nl_send_sync calls nlmsg_free()
        goto error1;
    msg = NULL;

    if (nl_socket_modify_cb(sk, NL_CB_VALID, NL_CB_CUSTOM, gwi_sta_cb, info) < 0)
        goto error1;

    if ((msg = nlmsg_alloc()) == NULL)
        goto error1;

    if (!genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, nl80211_id, 0, NLM_F_DUMP, NL80211_CMD_GET_STATION, 0) || nla_put_u32(msg, NL80211_ATTR_IFINDEX, ifidx) < 0 || nla_put(msg, NL80211_ATTR_MAC, 6, info->bssid) < 0)
        goto error2;

    if (nl_send_sync(sk, msg) < 0)
        // nl_send_sync calls nlmsg_free()
        goto error1;
    msg = NULL;

    nl_socket_free(sk);
    return 1;

error2:
    nlmsg_free(msg);
error1:
    nl_socket_free(sk);
    return 0;

#endif
…

Online

#9 2022-01-04 16:46:37

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Thanks. I have not specified which (nl80211 or wext) one to use in wpa_supplicant. Would it be worth it to try explicitly specifying it?

Offline

#10 2022-01-04 16:48:51

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,360

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Yes, enforcing nl80211 will either
- fail (because it's wext only)
- make i3status work
- expose a bug in the driver

Online

#11 2022-01-04 16:58:39

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Hmm... Forcing wpa_supplicant to use nl80211 does... nothing (connection works but still no bitrate). And even with wext driver, it works but still no bitrate. Weird. So, this could be a bug in the driver huh?

Offline

#12 2022-01-04 17:11:41

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,360

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

If

iw dev wlp3s0 info

agrees w/ i3status then yes, it's more likely in the driver.

Online

#13 2022-01-04 17:40:25

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Well, with the BCM43228 card I get

 Interface wlp3s0
	ifindex 3
	wdev 0x1
	addr 1c:3e:84:ef:25:2f
	ssid OogieBoogie
	type managed
	wiphy 0

As you can see I do not get any channel and txpower info.

But with the Intel card (which works fine), I get

Interface wlp3s0
	ifindex 2
	wdev 0x1
	addr 60:36:dd:7c:c8:ba
	ssid OogieBoogie-2.4G
	type managed
	wiphy 0
	channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
	txpower 16.00 dBm

Offline

#14 2022-01-04 18:12:12

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Now with a different driver "b43-firmware", I get something that I am supposed to get via 'iw dev wlp3s0 info'

Interface wlp3s0b1
	ifindex 2
	wdev 0x1
	addr 1c:3e:84:ef:25:2f
	ssid OogieBoogie
	type managed
	wiphy 0
	channel 161 (5805 MHz), width: 20 MHz (no HT), center1: 5805 MHz
	txpower 20.00 dBm

BUT, now I am not getting any info on my i3status. Man, Broadcom cards are wonky as hell.

Offline

#15 2022-01-04 18:22:48

redshoe
Member
Registered: 2015-12-16
Posts: 255

Re: Wireless connection bitrate showing up as 0 kb/s with BCM43228 card

Well... I asked people over at broadcom-wl github, and they said there is nothing they can do since they are just packaging the drivers which is straight from the Broadcom. So, I guess I'll be using the card without any bitrate info. At least it works.

Last edited by redshoe (2022-01-04 18:23:35)

Offline

Board footer

Powered by FluxBB