Dell Wireless 1830 (DW1830) / Broadcom BCM43602. Падение под нагрузкой.

Автор AntonKuzmin, 15 февраля 2017, 22:03:57

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

AntonKuzmin

Здравствуйте. Использую Debian на Dell XPS15 9550-2334. Внутри стоит адаптер Dell Wireless 1830 (DW1830) с чипом Broadcom BCM43602. lspci говорит на него

Цитировать02:00.0 Network controller: Broadcom Limited BCM43602 802.11ac Wireless LAN SoC (rev 01)

В винде просто «Dell Wireless 1830 802.11ac».

На Debian 8 с 3им ядром и Debian testing с 4ым (и судя по интернетам у других дистрибутивов) есть проблема со стабильностью связи под нагрузкой. Например, включаешь торренты и ютуб в FHD + по мелочи всякие скайпы и thunerdbird`ы, и связь сперва падает в качестве сильно, а затем и отваливается вовсе. Остановка нагрузки не помогает. Может потом долго тупить показывая что нет сети. Иногда помогает ожидаение, иногда только ifconfig down/up. Тогда сеть восстанавливается, но не идеально. Т.е. работая в одном лишь хроме заметны тормоза при загрузке страниц. Привести качество связи в хорошее состояние помогает ребут.

Устанавливал адаптер подавая firmware в sd-карточке при установке. Ссылку брал тут https://wiki.debian.org/brcmfmac , лил вот этот бинарник как и просил установщик https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/plain/brcm/brcmfmac43602-pcie.bin .

Вывод «journalctl -b | grep brcm»

Открыть содержимое (спойлер)
фев 12 22:10:04 ws kernel: usbcore: registered new interface driver brcmfmac
фев 12 22:10:05 ws kernel: brcmfmac 0000:02:00.0: firmware: direct-loading firmware brcm/brcmfmac43602-pcie.bin
фев 12 22:10:05 ws kernel: brcmfmac 0000:02:00.0: firmware: failed to load brcm/brcmfmac43602-pcie.txt (-2)
фев 12 22:10:05 ws kernel: brcmfmac 0000:02:00.0: Direct firmware load for brcm/brcmfmac43602-pcie.txt failed with error -2
фев 12 22:10:05 ws kernel: brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Nov 10 2015 06:38:10 version 7.35.177.61 (r598657) FWID 01-ea662a8c
фев 12 22:10:05 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 12 22:10:05 ws kernel: brcmfmac 0000:02:00.0 wlp2s0: renamed from wlan0
фев 12 22:10:18 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 12 22:10:18 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 12 22:10:25 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 13 11:43:57 ws kernel: Modules linked in: camellia_generic camellia_aesni_avx2 camellia_aesni_avx_x86_64 camellia_x86_64 xts dm_crypt loop dm_mod fuse bnep appletalk ax25 ipx p8023 p8022 psnap llc pci_stub vboxpci(OE) vboxnetadp(OE) vboxnetflt(OE) vboxdrv(OE) zram zsmalloc snd_hda_codec_hdmi dell_led binfmt_misc hid_multitouch i2c_designware_platform i2c_designware_core dell_wmi dell_laptop sparse_keymap dell_smbios mxm_wmi dcdbas snd_hda_codec_realtek snd_hda_codec_generic intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel intel_cstate intel_uncore intel_rapl_perf snd_hda_intel evdev joydev snd_hda_codec serio_raw pcspkr snd_hda_core snd_hwdep snd_pcm iTCO_wdt snd_timer iTCO_vendor_support snd soundcore brcmfmac nvidia_drm(POE)
фев 13 11:43:57 ws kernel:  brcmutil nvidia_modeset(POE) cfg80211 rtsx_pci_ms nvidia(POE) memstick sg i915 mei_me mei idma64 virt_dma drm_kms_helper drm shpchp processor_thermal_device i2c_algo_bit intel_soc_dts_iosf intel_lpss_pci battery hci_uart btbcm btqca btintel bluetooth int3403_thermal wmi dell_smo8800 rfkill int3402_thermal video int340x_thermal_zone intel_lpss_acpi button intel_lpss int3400_thermal acpi_thermal_rel acpi_als acpi_pad kfifo_buf ac industrialio tpm_tis tpm_tis_core tpm ip_tables x_tables autofs4 ext4 crc16 jbd2 crc32c_generic fscrypto ecb mbcache sd_mod rtsx_pci_sdmmc mmc_core crc32c_intel aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd psmouse ahci libahci i2c_i801 xhci_pci libata i2c_smbus xhci_hcd rtsx_pci mfd_core nvme nvme_core usbcore scsi_mod usb_common fan thermal
фев 13 15:17:42 ws kernel: brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 921 (not in use)
фев 15 12:18:34 ws kernel: brcmfmac: brcmf_msgbuf_get_pktid: Invalid packet id 381 (not in use)
фев 15 14:24:39 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 14:24:42 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 14:24:55 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 14:24:55 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 14:24:56 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 14:26:57 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 14:26:58 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 14:27:10 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 14:27:10 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 14:27:11 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 14:47:38 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 14:47:39 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 14:47:40 ws kernel: brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
фев 15 14:47:40 ws kernel: brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
фев 15 14:47:40 ws kernel: brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
фев 15 14:47:40 ws kernel: brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
фев 15 14:47:51 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 14:47:51 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 14:47:53 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 16:28:20 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 18:19:59 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 18:20:00 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 18:20:13 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 18:20:13 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 18:20:14 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 18:27:22 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 18:27:26 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 18:27:27 ws kernel: brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
фев 15 18:27:27 ws kernel: brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
фев 15 18:27:39 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 18:27:39 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 18:27:40 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 18:31:27 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 19:16:03 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 19:16:07 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 19:16:22 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 19:22:44 ws kernel: brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30 0x30)
фев 15 19:22:45 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
фев 15 19:22:46 ws kernel: brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
фев 15 19:22:46 ws kernel: brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
фев 15 19:22:46 ws kernel: brcmfmac: brcmf_cfg80211_escan_handler: scan not ready, bsscfgidx=0
фев 15 19:22:46 ws kernel: brcmfmac: brcmf_fweh_event_worker: event handler failed (69)
фев 15 19:22:58 ws kernel: brcmfmac: brcmf_cfg80211_escan: Connecting: status (3)
фев 15 19:22:58 ws kernel: brcmfmac: brcmf_cfg80211_scan: scan error (-11)
фев 15 19:22:59 ws kernel: brcmfmac: brcmf_inetaddr_changed: fail to get arp ip table err:-23
[свернуть]

Сразу бросается в глаза большое кол-во ошибок «scan error (-11)» и «ail to get arp ip table err:-23» как раз во времена сбоев сети. Нагуглить ничего не удалось кроме многочисленных багрепортов с этим сообщением.

Кроме того, пробовал разобраться с ошибкой «failed to load brcm/brcmfmac43602-pcie.txt (-2)». В сети пишут что это не страшно и работает всё без текстовика. К тому же сам текстовик не найти, его просто нет в репозитории bin-файла и в сети вообще.
Удалось найти лишь вот такие https://github.com/OpenELEC/wlan-firmware/blob/master/firmware/brcm/brcmfmac4330-sdio.txt В этом репозитории их несколько, но для моей модели нет. Судя по всему это какие-то конфиги железки. Возможно такой конфиг и обеспечивает стабильную работу адаптера. Пробовал нагуглить создание этого текстовика, но нашёлся лишь один рецепт который к сожалению успел потерять. Там утверждалось что в текстовик нужно ложить что-то из nvram и делать это командой «mount -t efivarfs none /sys/firmware/efi/efivars» с последующим чтением некоего файла с именем-хешем в /sys/firmware/efi/efivars, и помещением его содержимого в текстовик. Но у меня даже не UEFI загрузка.

Буду рад любым советам и подсказкам, хочется уже заиметь стабильный wifi не падающий под нагрузкой.

ferum

Цитата: AntonKuzmin от 15 февраля 2017, 22:03:57хочется уже заиметь стабильный wifi не падающий под нагрузкой.
Экономически нецелесообразно, проще воткнуть usb свисток и перебросить на него сеть.
Однако на сколько я понимаю имеющийся адаптер использует "чужой" модуль ядра от чего и падение. В таких случаях , по возможности конечно, собирают отдельно модуль . https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 есть ссылка на тестируемые модули не вошедшие в ядро, через menuconfig выбирается нужный и собирается ну и подгружается естественно. Одной прошивкой понятно дело не решить.
Русские дебианщики против цифрового слабоумия !

AntonKuzmin

Спасибо! Воткнул usb-карточку относительно старую Zyxel G202EE, у которой пропускная способность равна роутерской. Пашет на ура, разницы в скорости нет.
Здесь https://wireless.wiki.kernel.org/en/users/drivers/brcm80211 увидел что BCM43602 поддерживается в модуле brcmfmac. Поиск по пакетам по этой фразе даёт пакет "firmware-brcm80211". Это более родной для ОС вариант чем bin скачанный с linux/kernel?

ferum

Прошивка bin закрытая (исходный код недоступен) её просто включают в состав пакета так что без разницы. Ещё раз повторюсь эффект должен/может дать драйвер ( в linux реализуется как модуль ядра) его реально попробовать собрать из исходников по ссылке.
Русские дебианщики против цифрового слабоумия !