[SOLVED] Непонятки с WiFi Broadcom 4313

Итак, есть ноутбук с wifi-карточкой broadcom 4313. Проводная сеть поднялась с полпинка и все заработало, а вот с беспроводной не все так гладко и судя по количеству тем, не у меня одного.
Перепробовав все возможные настройки, я таки смог поднять беспроводную карточку по этой инструкции. Встроенные в ядро модули, карточку тупо не видели, завелся только broadcom-sta драйвер.
А проблема в следующем... после включения, карточка устанавливает соединение с точкой доступа, пинг до точки идет нормально, но вот дальше никак. При этом, пинг с другого компа до ноута не идет и нет никакого доступа до тех пор, пока с ноута не пропингуешь комп, после этого и пинги до ноута доходят и доступ появляется. Да, еще одна странность, если подцепиться к ноуту по ssh и какое-то время его не трогать (минут пять) то связь опять пропадает до тех пор пока комп не пропингуешь.
Мож кто знает куда копать или это драйвер с ядром не дружит ?

lspci -vnn | grep 14e4

06:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller [14e4:4727] (rev 01)

cat /etc/conf.d/net

modules_wlan0="wpa_supplicant"
wpa_supplicant_wlan0="-Dwext"
config_wlan0="192.168.0.230 broadcast 192.168.0.255 netmask 255.255.255.0"
routes_wlan0="default via 192.168.0.206"

iwconfig wlan0

wlan0     IEEE 802.11abg  ESSID:"tech"
          Mode:Managed  Frequency:2.452 GHz  Access Point: 00:22:B0:74:F0:03
          Tx-Power=200 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=65/70  Signal level=-45 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Использовал brcmsmac

Использовал brcmsmac драйвер для такой же карточки (BCM4313, PCI ID 0x4727) по информации отсюда (с другими всё как-то не заводилось). Единственная замеченная проблема - не горит лампочка-индикатор WI-FI на ноуте.

Век живи - век учись, и дураком помрешь.

Этот драйвер не поддерживает

Этот драйвер не поддерживает индикацию включения Wi-Fi.
Зато умеет проприетарный драйвер wl (broadcom-sta).

таки да, заработало

снес broadcom-sta, поставил еще раз brcmsmac по инструкции выше, и... заработало.
что совсем непонятно ибо раньше тоже самое делал, ну да и ладно.
Dmitrik пасиб за совет )
лампочки и энергосбережение мне неважны, ибо ноут стационарный.

з.ы.ну и так, на будущее, мож пригодится кому

git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
копируем из папки linux-firmware/brcm два файла bcm43xx-0.fw и bcm43xx_hdr-0.fw в /lib/firmware/brcm
в ядре включаем последовательно:

-> Device Drivers
-> Generic Driver Options
[*] Include in-kernel firmware blobs in kernel binary
(brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw) External firmware blobs to buildx
(/lib/firmware) Firmware blobs root directory

-> Networking support
-> Wireless
<*> cfg80211 - wireless configuration API
[*] cfg80211 wireless extensions compatibility
<*> Generic IEEE 802.11 Networking Stack (mac80211)

-> Device Drivers
-> Broadcom specific AMBA
< M > BCMA support
[*] Support for BCMA on PCI-host bus

-> Device Drivers
-> Network device support
-> Wireless LAN
< M > Broadcom IEEE802.11n PCIe SoftMAC WLAN driver

ну и чтобы совсем было хорошо..

в логах появились сообщения вида
ieee80211 phy0: brcms_c_dotxstatus: INTERMEDIATE but not AMPDU

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

/usr/src/linux/drivers/net/wireless/brcm80211/brcmsmac/main.с

кусок кода

if (!(txs->status & TX_STATUS_AMPDU)
&& (txs->status & TX_STATUS_INTERMEDIATE)) {
wiphy_err(wlc->wiphy, "%s: INTERMEDIATE but not AMPDU\n",
__func__);
return false;
}

заменить на

if (!(txs->status & TX_STATUS_AMPDU)
&& (txs->status & TX_STATUS_INTERMEDIATE)) {
BCMMSG(wlc->wiphy, "INTERMEDIATE but not AMPDU\n");
return false;
}

.

Bosuslik написал(а):
лампочки и энергосбережение мне неважны, ибо ноут стационарный.

Зачем в таком случае ноут?
Дороже, неудобно, проблемы с расширяемостью...

Bosuslik написал(а):
git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
копируем из папки linux-firmware/brcm два файла bcm43xx-0.fw и bcm43xx_hdr-0.fw в /lib/firmware/brcm
...

Только мне кажется, что эта рекомендация ересью отдаёт?..

:wq
--
Live free or die

Anarchist

Anarchist написал(а):
Bosuslik написал(а):
лампочки и энергосбережение мне неважны, ибо ноут стационарный.

Зачем в таком случае ноут?
Дороже, неудобно, проблемы с расширяемостью...

Bosuslik написал(а):
git clone git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git
копируем из папки linux-firmware/brcm два файла bcm43xx-0.fw и bcm43xx_hdr-0.fw в /lib/firmware/brcm
...

Только мне кажется, что эта рекомендация ересью отдаёт?..

В моём случае фирмвара ставилась из portage :)

Век живи - век учись, и дураком помрешь.

...

ноут достался нахаляву ибо в нем разбили экран, в итоге получился неплохой медиацентр.

может и ересь, но так было в доке написано и оно заработало, тем более что это просто выкачивание последней версии фирмвари и никаких изменений в систему не вносится, кроме создания папки. не вижу в этом ничего страшного.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".