LINUX.ORG.RU

BCM4313 (rev 01) не выжимает полную скорость под онтопиком

 , ,


0

2

Ещё год назад, когда переехали с USB-модема на Wi-Fi, заметили, что как-то он хило пашет: http://neboard.me/thread/137159#138142 На раздающем устройстве двадцаточку тянет спокойно, на прочих подключённых к нему клиентах тоже немногим меньше. А ноутбук с онтопиком от силы 4.5 Mbps выжимает. Тестим на https://broadband.gov.ua/speedtest

Примерно в то же время грузились в оффтопик, но к хотспоту подключиться так и не осилили. Позже, когда настравали репитер, обнаружили, что WPA не-ASCII-пароли как таковые не предусматривает, и хоть они под линуксами (в том числе Android) и работают, но в целом не обязаны ;) Так что кириллицу из пароля убрали (кошмар, теперь каликакиры хакнут!) Давеча загрузились опять, проверили — оффтопик из того же адаптера без напряга выжал 17 Mbps.

Что на онтопике не так? crda, как отписано по ссылке, стоит. Фирмварь вроде тоже стоит:

root@localhost:~# dpkg -l|grep brcm
ii  firmware-brcm80211                            20200817-1                                   all          Binary firmware for Broadcom/Cypress 802.11 wireless cards

Примерно в то же время [2] (даже не примерно, а тоже 22 декабря) нашли хороший, годный тред. Где по табличке определили, что Наш адаптер —

root@localhost:~# lspci -nn -d 14e4:
04:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)

— Особый Случай №1 (вау), которому достаточно ядрёного драйвера brcmsmac и ядрёной же фирмвари. Из какого конкретно пакета — хрен его знает, названия же за 9 лет сто раз поменялись, да и вообще актуальность той портянки под большим сомнением.

Стоит экспериментировать и попробовать firmware-b43-installer и прочие адвайсы, которые вроде как для других моделей? Или модуль от такого вообще нахрен отвалится и лучше, так сказать, синица в руках?

Ответ на: комментарий от mertvoprog

Конечно пробуй. У меня ath9 на 1 канале сквозь стену выдает около 72 мегабит и мозги не парит от слова совсем всякими прошивками и драйверами. Один раз обирал драйвер и подошла лишь одна версия с гитхаба, так там сигнал был в разы хуже. Тоже на дебиане заводил.

anonymous ()
Ответ на: комментарий от anonymous

Не помогло.

No chroot environment found. Starting normal installation
No supported device found.
But firmware is installed unconditionally
Unsupported device(s) found: PCI id  * 14e4:4727 
Trying to install latest firmware 6.30.163.46 .
--2020-10-22 14:18:56--  https://www.lwfinger.com/b43-firmware/broadcom-wl-6.30.163.46.tar.bz2
Распознаётся www.lwfinger.com (www.lwfinger.com)… 173.254.30.178
Подключение к www.lwfinger.com (www.lwfinger.com)|173.254.30.178|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 7684610 (7,3M) [application/x-tar]
Сохранение в: «broadcom-wl-6.30.163.46.tar.bz2»

broadcom-wl-6.30.163.46.tar.bz2       100%[=======================================================================>]   7,33M   348KB/s    за 28s     

2020-10-22 14:19:26 (264 KB/s) - «broadcom-wl-6.30.163.46.tar.bz2» сохранён [7684610/7684610]

broadcom-wl-6.30.163.46.tar.bz2: ЦЕЛ
broadcom-wl-6.30.163.46.wl_apsta.o
This file is recognised as:
filename   :  wl_apsta.o
version    :  784.2
MD5        :  29c8a47094fbae342902d84881a465ff
Extracting b43/lcn1bsinitvals26.fw
Extracting b43/n0bsinitvals22.fw
Extracting b43/lcn0bsinitvals26.fw
Extracting b43/ac1bsinitvals42.fw
Extracting b43/ucode24_lcn.fw
Extracting b43/ht0bsinitvals26.fw
Extracting b43/ucode24_mimo.fw
Extracting b43/n20initvals36.fw
Extracting b43/ucode15.fw
Extracting b43/b0g0bsinitvals9.fw
Extracting b43/lcn405initvals35.fw
Extracting b43/ac1initvals42.fw
Extracting b43/lp0bsinitvals13.fw
Extracting b43/b0g0bsinitvals5.fw
Extracting b43/ucode43.fw
Extracting b43/lp0initvals16.fw
Extracting b43/lp1bsinitvals20.fw
Extracting b43/lcn1initvals25.fw
Extracting b43/b0g0initvals13.fw
Extracting b43/lcn402initvals33.fw
Extracting b43/sslpn3bsinitvals21.fw
Extracting b43/ht0initvals29.fw
Extracting b43/n2bsinitvals19.fw
Extracting b43/sslpn1bsinitvals20.fw
Extracting b43/ucode25_lcn.fw
Extracting b43/lcn0initvals24.fw
Extracting b43/lcn404initvals33.fw
Extracting b43/sslpn1bsinitvals27.fw
Extracting b43/lcn404bsinitvals33.fw
Extracting b43/ucode22_sslpn.fw
Extracting b43/lcn1bsinitvals25.fw
Extracting b43/lcn406initvals37.fw
Extracting b43/ac3initvals43.fw
Extracting b43/lcn2initvals26.fw
Extracting b43/ucode20_sslpn.fw
Extracting b43/lcn403bsinitvals33.fw
Extracting b43/a0g0bsinitvals9.fw
Extracting b43/n0initvals17.fw
Extracting b43/ht0bsinitvals29.fw
Extracting b43/ucode21_sslpn.fw
ucode time:     21:35:19
Extracting b43/sslpn1initvals20.fw
Extracting b43/sslpn0initvals16.fw
Extracting b43/lcn0initvals26.fw
Extracting b43/ucode27_sslpn.fw
Extracting b43/ucode29_mimo.fw
Extracting b43/ucode21_sslpn_nobt.fw
ucode time:     21:35:19
Extracting b43/lp0initvals15.fw
Extracting b43/ucode19_sslpn.fw
Extracting b43/lcn1bsinitvals24.fw
Extracting b43/lcn401bsinitvals33.fw
Extracting b43/lp0bsinitvals14.fw
Extracting b43/ucode16_sslpn_nobt.fw
ucode date:     2012-08-15
Extracting b43/n16bsinitvals30.fw
Extracting b43/a0g1bsinitvals13.fw
Extracting b43/lcn402bsinitvals33.fw
Extracting b43/ucode19_sslpn_nobt.fw
Extracting b43/ucode40.fw
Extracting b43/lcn1initvals24.fw
Extracting b43/sslpn2initvals19.fw
Extracting b43/ac2initvals41.fw
Extracting b43/n16initvals30.fw
Extracting b43/ucode16_lp.fw
Extracting b43/n0initvals22.fw
Extracting b43/sslpn3initvals21.fw
Extracting b43/lp1initvals22.fw
Extracting b43/ac2bsinitvals41.fw
Extracting b43/a0g1bsinitvals9.fw
Extracting b43/n0bsinitvals11.fw
Extracting b43/a0g1bsinitvals5.fw
Extracting b43/lcn2bsinitvals26.fw
Extracting b43/ucode34_mimo.fw
Extracting b43/n1initvals20.fw
Extracting b43/lcn2initvals25.fw
Extracting b43/ucode37_lcn40.fw
Extracting b43/n0initvals16.fw
Extracting b43/n0bsinitvals24.fw
Extracting b43/n1bsinitvals20.fw
Extracting b43/b0g0initvals5.fw
Extracting b43/b0g0initvals9.fw
Extracting b43/lcn0bsinitvals24.fw
Extracting b43/lcn2bsinitvals25.fw
Extracting b43/sslpn4bsinitvals22.fw
Extracting b43/ucode11.fw
Extracting b43/n2initvals19.fw
Extracting b43/pcm4.fw
Extracting b43/ucode13.fw
Extracting b43/lcn0initvals25.fw
Extracting b43/sslpn1initvals27.fw
Extracting b43/lp0bsinitvals15.fw
Extracting b43/lp0initvals14.fw
Extracting b43/lp1bsinitvals22.fw
Extracting b43/n18initvals32.fw
Extracting b43/lcn405bsinitvals35.fw
Extracting b43/ucode41.fw
Extracting b43/lcn400initvals33.fw
Extracting b43/sslpn0bsinitvals16.fw
Extracting b43/lcn401initvals33.fw
Extracting b43/ucode33_lcn40.fw
Extracting b43/a0g1initvals9.fw
Extracting b43/ucode32_mimo.fw
Extracting b43/lcn400bsinitvals33.fw
Extracting b43/lcn404bsinitvals35.fw
Extracting b43/n19initvals34.fw
Extracting b43/ac3bsinitvals43.fw
Extracting b43/n0initvals25.fw
Extracting b43/ucode26_mimo.fw
Extracting b43/n0bsinitvals16.fw
Extracting b43/lcn404initvals35.fw
Extracting b43/lp2bsinitvals19.fw
Extracting b43/n19bsinitvals34.fw
Extracting b43/ucode20_sslpn_nobt.fw
Extracting b43/ac0bsinitvals40.fw
Extracting b43/lcn2initvals24.fw
Extracting b43/sslpn4initvals22.fw
Extracting b43/sslpn2bsinitvals19.fw
Extracting b43/n0bsinitvals25.fw
Extracting b43/lp2initvals19.fw
Extracting b43/n18bsinitvals32.fw
Extracting b43/lcn0bsinitvals25.fw
Extracting b43/n0initvals11.fw
Extracting b43/lcn2bsinitvals24.fw
Extracting b43/n0absinitvals11.fw
Extracting b43/a0g0initvals5.fw
Extracting b43/a0g1initvals13.fw
Extracting b43/pcm5.fw
Extracting b43/ucode35_lcn40.fw
Extracting b43/ucode14.fw
Extracting b43/ucode36_mimo.fw
Extracting b43/a0g0initvals9.fw
Extracting b43/ucode17_mimo.fw
Extracting b43/lp0initvals13.fw
Extracting b43/ucode25_mimo.fw
Extracting b43/lp0bsinitvals16.fw
Extracting b43/lcn406bsinitvals37.fw
Extracting b43/ac0initvals40.fw
Extracting b43/ucode30_mimo.fw
Extracting b43/b0g0bsinitvals13.fw
Extracting b43/n20bsinitvals36.fw
Extracting b43/ucode42.fw
Extracting b43/lcn407initvals38.fw
Extracting b43/lcn1initvals26.fw
Extracting b43/ht0initvals26.fw
Extracting b43/ucode38_lcn40.fw
Extracting b43/lcn407bsinitvals38.fw
Extracting b43/lcn403initvals33.fw
Extracting b43/ucode16_sslpn.fw
Extracting b43/ucode16_mimo.fw
Extracting b43/n0bsinitvals17.fw
Extracting b43/a0g1initvals5.fw
Extracting b43/n0initvals24.fw
Extracting b43/lp1initvals20.fw
Extracting b43/a0g0bsinitvals5.fw
Extracting b43/ucode9.fw
Extracting b43/ucode5.fw
Extracting b43/ucode22_mimo.fw

Перезагрузились — то же самое. Ну хоть не сломалось, и то хлеб :3

mertvoprog ()

вообщем у меня такой же контроллер, работает на полную, узких мест не создаёт, 11.48мбит в данный момент, при максимальной 13-14мбит(и с проводным), пока не пойму как помочь, спрашивай что показать, ядро самосборное, система gentoo, настроенный wpa_supplicant

dmesg | grep bcma
[   23.229044] bcma: bus0: Found chip with id 0x4313, rev 0x01 and package 0x08
[   23.229072] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x24, class 0x0)
[   23.229095] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x18, class 0x0)
[   23.229142] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x11, class 0x0)
[   23.241393] bcma: bus0: Bus registered
[   30.553899] brcmsmac bcma0:1: mfg 4bf core 812 rev 24 class 0 irq 16
[   30.824220] brcmsmac bcma0:1 wlp2s0b1: renamed from wlan0
[   40.614359] brcmsmac bcma0:1: brcms_ops_bss_info_changed: qos enabled: false (implement)
[   40.614371] brcmsmac bcma0:1: brcms_ops_config: change power-save mode: false (implement)
[  149.976833] brcmsmac bcma0:1: brcmsmac: brcms_ops_bss_info_changed: associated
[  149.976839] brcmsmac bcma0:1: brcms_ops_bss_info_changed: qos enabled: true (implement)
[  150.434090] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 159/256 dur 1778/1504
[  150.438776] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 137/256 dur 1602/1504
[  152.995468] brcmsmac bcma0:1: brcmsmac: brcms_ops_bss_info_changed: disassociated
[  152.995478] brcmsmac bcma0:1: brcms_ops_bss_info_changed: qos enabled: false (implement)
[  160.226839] brcmsmac bcma0:1: brcmsmac: brcms_ops_bss_info_changed: associated
[  160.226845] brcmsmac bcma0:1: brcms_ops_bss_info_changed: qos enabled: true (implement)
[  160.578559] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 159/256 dur 1778/1504
[  160.584159] brcmsmac bcma0:1: wl0: brcms_c_d11hdrs_mac80211:  txop exceeded phylen 137/256 dur 1602/1504
[  164.104641] brcmsmac bcma0:1: brcms_ops_bss_info_changed: arp filtering: 1 addresses (implement)


lspci -k
02:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter (rev 01)
	Subsystem: Askey Computer Corp. BCM4313 802.11bgn Wireless Network Adapter
	Kernel driver in use: bcma-pci-bridge


lsmod | grep bcma
bcma                   61440  1 brcmsmac


cat /usr/src/linux/.config | grep BCMA
CONFIG_B43_BCMA=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
CONFIG_B43_BCMA_PIO=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
# CONFIG_BCMA_DEBUG is not set
# CONFIG_USB_HCD_BCMA is not set

spawn_sp ★★★ ()

ещё, подзабыл уже, пока заблеклистил B43 в директории /etc/modprobe.d, были варнинги по нему в dmesg, потом выключу в ядре

spawn_sp ★★★ ()
Ответ на: комментарий от spawn_sp

Не; вымодпробнули b43, brcmsmac и bcma, вмодпробнули обратно только bcma и brcmsmac — всё то же самое.

mertvoprog ()

я тут пошевелил опилки в голове после работы по твоему вопросу, скорее всего у тебя не отрабатывает алгоритм управления скоростью Minstrel в ядре, перед сборкой ядра выглядит это так по команде make menuconfig

[*] Networking support  --->
    [*] Wireless  --->
        <*>   cfg80211 - wireless configuration API
        [ ]     nl80211 testmode command
        [ ]     enable developer warnings
        [ ]     cfg80211 regulatory debugging
        [ ]     cfg80211 certification onus
        [*]     enable powersave by default
        [ ]     cfg80211 DebugFS entries
        [ ]     use statically compiled regulatory rules database
        [ ]     cfg80211 wireless extensions compatibility
        <*>   Generic IEEE 802.11 Networking Stack (mac80211)
        [*]   Minstrel
        [*]     Minstrel 802.11n support
        [ ]       Minstrel 802.11ac support
              Default rate control algorithm (Minstrel)  --->
        [ ]   Enable mac80211 mesh networking (pre-802.11s) support
        -*-   Enable LED triggers
        [ ]   Export mac80211 internals in DebugFS
        [ ]   Trace all mac80211 debug messages
        [ ]   Select mac80211 debugging features  ----
это подменю Networking support, обрати внимание на звёздочки у опций
[*]   Minstrel
        [*]     Minstrel 802.11n support
это включенный алгоритм управления скоростью. Погнали дальше, если есть желание заводи бубен и в пляс;), проанализировать работу(и убедиться включен-не включен Minstrel) можно в директории /sys/kernel/debug/ieee80211/phy0/stations/, если её нет - монтируется командой
# mount -t debugfs debugfs /sys/kernel/debug/
должна быть директория
/sys/kernel/debug/ieee80211/phy0/stations/00:05:2f:18:37:09/
последние цыфры(мак адрес твоей железяки), в ней интересен файл rc_stats, содержимое примерно такое
rate   throughput ewma prob this prob  this succ/attempt success  attempts
  P1     0.9       99.9      100.0          0(  0)        105      111
   2     0.4       25.0      100.0          0(  0)          1        1
   5.5   1.2       25.0      100.0          0(  0)          1        1
  11     1.1       12.5       50.0          0(  0)          1        2
   6     0.0        0.0        0.0          0(  0)          0        0
   9     0.0        0.0        0.0          0(  0)          0        0
  12     0.0        0.0        0.0          0(  0)          0        0
  18     0.0        0.0        0.0          0(  0)          0        0
  24     0.0        0.0        0.0          0(  0)          0        0
  36     0.0        0.0        0.0          0(  0)          0        0
 t48    16.0       40.9       88.8          0(  0)          9       10
T 54    16.2       91.1       91.2        115(126)      96429   109032

Total packet count::    ideal 5756      lookaround 641
буквы t и T пропускная способность двух узлов расположенных рядом друг с другом, T - указывает скорость узла с самой высокой пропускной способностью(54Мбит/с), t - второго по величине пропускной способностью(48Мбит/с), все столбцы описывать не буду, спать уже надо давно, последний attempts - глобальное количество успехов и попыток передачи пакетов, из таблицы видно что почти все пакеты данных были отправлены со скоростью 54Мбит/с. Если интересно по работе алгоритма читай здесь https://wireless.wiki.kernel.org/en/developers/Documentation/mac80211/RateCon.... Ну вот пошевелил опилки;) себе, вообщем собирать ядро(это если minstrel не включен) или передать опции ядру(опять же предварительно убедившись в не работе minstrel) из командной строки ядра в грубе, minstrel должен выбирать максималку(как в таблице), если выбран T(например T4 при наличии ещё и t25, увидишь по максимальному показателю attempts, то minstrel не отрабатывает, давай успехов с плясками

spawn_sp ★★★ ()
Ответ на: комментарий от spawn_sp

Да вроде грузится этот менестрель, судя по dmesg.

[40818.095737] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

Но директории этой в debugfs нет.

root@localhost:~# ls -la /sys/kernel/debug/ieee80211/phy0/
итого 0
drwxr-xr-x 2 root root 0 окт 23 01:54 .
drwxr-xr-x 3 root root 0 окт 23 01:54 ..
mertvoprog ()

Так, а CRDA, оказывается, устарел; ещё с ядра 4.15. Сейчас тупо через iw reg можно регионом рулить вместо него. Но это влияет только на TX, а тут проблема в RX.

mertvoprog ()

В общем, решено установкой проприетарного broadcom-sta-dkms. +1 строчка в vrms ;) Ждём проблем при обновлении ведра.

Почерпнуто на калифоруме, что является ещё одним лучом поноса в сторону калифобов :P

mertvoprog ()
Ответ на: комментарий от mertvoprog

а ну в ядре походу debug для wifi отключен, там полно их для fs и т.д., почитал сегодня пока дежурил, много оказывается у людей с wifi танцев(не знал), в основном в дебиан,минт,убунту, и не только с этим адаптером, есть и с intel, rtl, в арчеподобных и других нет проблемы, смена драйверов адаптеров и прошивок роутера пишут не помогает, лечат сменой канала с 1 на 13, или сменой роутера(типа не совместимая работа, с других точек доступа и смартфонов с раздачей работает)

spawn_sp ★★★ ()
Последнее исправление: spawn_sp (всего исправлений: 1)
Ответ на: комментарий от spawn_sp

Канал-то лучше выбирать подальше от соседей ;)

nmcli d wifi list их сразу колонкой выводит, удобно. Ну и морда к wicd вроде тоже, но он сдох.

mertvoprog ()

У меня, конечно, не та карточка, у меня BCM4311, но работает тоже туго. Кто и на каком драйвере запускает все эти бродкомы - для меня уже запутанная запутанность. Столько этих драйверов... Шо характерно, Манджара пыталась установить драйвер wl. После установки системы сеть пропала и я нашёл эту гадость. сказал Манджаре его удалить и сеть появилась. Увидев твою тему задумался, а на каком же драйвере оно у меня работает? И вот что увидел:

03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4311 802.11b/g WLAN (rev 02)
        Subsystem: Hewlett-Packard Company BCM4311 802.11b/g Wireless LAN Controller
        Kernel driver in use: b43-pci-bridge
        Kernel modules: ssb
что за Kernel driver in use: b43-pci-bridge?

ChekPuk ★★★ ()
Ответ на: комментарий от ChekPuk

Ну видать, тот самый, который у Нас в начале треда не завёлся, и которому нужна фирмварь ;)

mertvoprog ()
Ответ на: комментарий от mertvoprog

ну пару дней назад убунтята починили работу sta-dkms с 5.9 и параллельно с 5.10, а учитывая что 5.10 будет лтсом то дебиану можно не дергаться ближайшие лет 5.

и да пользоваться на броадкоме чем-то кроме broadcom-sta-dkms значит обрекать себя на страдания.

Koropyachaka ()
Ответ на: комментарий от Koropyachaka

Это чо, придётся с тестинга на стейбл переходить опять?

В принципе, число замороженных пакетов, пакетов, установленных из стейбла (ибо достать там старую версию проще, чем предыдущую из тестинга), и перерывы в установке обновлений, исчисляющиеся месяцами, на это изрядно намекают :C Требовательный к свежести софт и так мимо ПМ давно стоит и обновляется, ну кроме Chromium разве что.

mertvoprog ()
Ответ на: комментарий от mertvoprog

Зачем? это же драйвер блобный. просто пакет. ставь его тупо через dpkg и всё. думаю с установкий проблем не будет. там же ни зависимостей ни чего. он либо работает либо нет с текущим ядром.

а по поводу переходить на стейбл… хз я на минте и тут я впервые только столкнулась с тем что с ядром оно не собирается и его нужно патчить. как минимум с 5.4 до 5.8 включительно всё работало само по себе. может и раньше но я внимания не обращала на обновление пакета с драйвером. но ты можешь это остледить по лаунчпаду и релизам бубунты.

учитывая что в тестинг дебиана 5.9 прилетело только около недели-двух назад то посидеть чутьчуть со старым ядром я думаю вполне нормально. убунтята достаточно оперативны

так что с большой вероятностью проблем яростных с новым ядрами не будет у блоба.

Koropyachaka ()
Ответ на: комментарий от Koropyachaka

он либо работает либо нет с текущим ядром

В этом-то и загвоздка… Придётся морозить ведро. А всякие там сисямды хотят свежайшее ведро и превратятся в тыкву, если их обновлять, а ведро нет. И так лавинообразно полсистемы заморозить придётся, и так уже обновления приходится руками разгребать чуть ли не попакетно. Проще на stable сидеть, по ходу.

mertvoprog ()
Ответ на: комментарий от mertvoprog

я же тебе написала. блоб обычно работает нормально с самым новым ведром, пока я только один раз увидела что блоб сделанный для 5.4 не заработал (на 5.9, через две недели заработал и на 5.9 и на 5.10). если же не работает, то его обычно чинят в течении 1-2 недель.

просто не обновляешься неделю-две если апдейт убивает вафлю и чекаешь:

https://launchpad.net/ubuntu/+source/broadcom-sta

Koropyachaka ()
Ограничение на отправку комментариев: только для зарегистрированных пользователей