# bcm4312 - zainstalowałem sterowniki, iwconfig nie widzi wifi

## blendermen

Dzień dobry.

Od ostatniej aktualizacji systemu nie mogę poradzić sobie z wifi Broadcom bcm4312 - (przed działała)

kernel: 3.7.1-gentoo

wifi: 04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)

Problem polega na tym, że robiłem wszystko jak w how-to http://linuxwireless.org/en/users/Drivers/b43

Wszystko przebiega bez zarzutów ale dmesg wyświetla, że wlan0 nie jest gotowe:

```
[   97.731297] b43-phy0: Loading firmware version 666.2 (2011-02-23 01:15:07)

[   97.734153] b43-phy0 debug: b2062: Using crystal tab entry 19200 kHz.

[   99.119333] b43-phy0 debug: Chip initialized

[   99.119534] b43-phy0 debug: 64-bit DMA initialized

[   99.119821] b43-phy0 debug: QoS enabled

[   99.128326] b43-phy0 debug: Wireless interface started

[   99.128443] b43-phy0 debug: Adding Interface type 2

[   99.132792] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
```

Po wpisaniu ifconfig  jest wlan0! a po wpisaniu iwconfig nie ma..

ifconfig:

```
wlan0     Link encap:Ethernet  HWaddr 00:24:2b:71:0c:c8  

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
```

iwconfig

```
wlan0     no wireless extensions.
```

```
rfkill list

0: phy0: Wireless LAN

        Soft blocked: no

        Hard blocked: no
```

Wygląda na to, że sterownik działa bo lampa od wifi się pali, sterownik się ładuje (Kernel driver in use: b43-pci-bridge)

Czy ktoś ma tą karte i miał podobny problem? Gdzie mogę jeszcze szukać przyczyny ?

Przeszukałem już całe forum i nie znalazłem odpowiedzi. Próbowałem zainstalować też sterowniki producenta STA driver ale wywala przy kompilacji mnóstwo błędów mimo, że mam wszystkie pakiety zainstalowane i wszystko skonfigurowane..więc pozostałem przy starym sprawdzonym już sposobie..no który jednak nie działa heh

Edit:

Udało mi się zainstalować sterowniki producenta -sta drivers (wl) ale nadal to samo. iwconfig pokazuje no wireless extensions. Czy to może być wina jakichś innych ustawień w kernelu?

Pozdrawiam.

----------

## Oniryczny

czy włączyłeś obsługę tego chipa w kernelu?

używasz wpa_supplicant czy wireless-tools ?

----------

## blendermen

Tak, włączyłem:

```

 linux # cat .config | grep B43

CONFIG_B43=m

CONFIG_B43_SSB=y

CONFIG_B43_PCI_AUTOSELECT=y

CONFIG_B43_PCICORE_AUTOSELECT=y

CONFIG_B43_PCMCIA=y

CONFIG_B43_PIO=y

CONFIG_B43_PHY_N=y

CONFIG_B43_PHY_LP=y

CONFIG_B43_LEDS=y

CONFIG_B43_HWRNG=y

CONFIG_B43_DEBUG=y

CONFIG_B43LEGACY=m

CONFIG_B43LEGACY_PCI_AUTOSELECT=y

CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y

CONFIG_B43LEGACY_LEDS=y

CONFIG_B43LEGACY_HWRNG=y

CONFIG_B43LEGACY_DEBUG=y

CONFIG_B43LEGACY_DMA=y

CONFIG_B43LEGACY_PIO=y

CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y

# CONFIG_B43LEGACY_DMA_MODE is not set

# CONFIG_B43LEGACY_PIO_MODE is not set

CONFIG_SSB_B43_PCI_BRIDGE=y

 linux # 
```

Mam zainstalowane to i to.[/list]

----------

## Oniryczny

dodałeś odpowiednie skrypty aby wlan0 startował?

----------

## blendermen

Tak, wpisuje

modprobe b43

ifconfig wlan0 up

I normalnie na obudowie zapala mi się dioda sygnalizująca włączenie wifi ale nie działa.

----------

## Oniryczny

```

# cd /etc/init.d

# ln -s net.lo net.wlan0

# /etc/init.d/net.wlan0 start
```

i

```

# nano /etc/conf.d/net

config_wlan0="dhcp"
```

----------

## blendermen

```

init.d # /etc/init.d/net.wlan0 start

 * Bringing up interface wlan0

 *   Starting wpa_supplicant on wlan0 ...

ioctl[SIOCSIWPMKSA]: Invalid argument

ioctl[SIOCSIWMODE]: Invalid argument

ioctl[SIOCGIWRANGE]: Invalid argument

ioctl[SIOCGIWMODE]: Invalid argument

ioctl[SIOCSIWAP]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWPMKSA]: Invalid argument                               [ ok ]

 *   Starting wpa_cli on wlan0 ...                                  [ ok ]

 *   Backgrounding ... ...

 * WARNING: net.wlan0 has started, but is inactive

```

To samo. Nie działa.[/list]

----------

## Oniryczny

Czy na pewno masz zaznaczone wszystkie potrzebne opcje w konfiguracji kernela?

```

# cat /etc/conf.d/net
```

pakiet wireless-tools zainstalowałeś?

a plik wpa_supplicant.conf masz poprawny?

----------

## blendermen

Tak ale konfiguracja  ustawień sieci nie jest na tym etapie potrzebna bo mi w ogóle sieci nie wykrywa. Samo wydanie polecenia iwconfig powinno dać jakąś odpowiedź a daje tylko:

```

 # iwconfig 

eth0      no wireless extensions.

lo        no wireless extensions.

sit0      no wireless extensions.

wlan0     no wireless extensions.

# 
```

sieci wifi też oczywiście nie wykrywa

 *Quote:*   

> 
> 
>  # iwlist scan
> 
> eth0      Interface doesn't support scanning.
> ...

 

Ale co ciekawe zauważyłem, że po wpisaniu iw wlan0 scan wykrywa sieci wifi. Jak to sie dzieje, że ani ifconfig i iwconfig,iwlist nie działają a jeden jedyny iw działa?

wpa_supplicant.conf

```

# allow frontend (e.g., wpa_cli) to be used by all users in 'wheel' group

          ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

          #

          # home network; allow all valid ciphers

          network={

               ssid="wifi_dom"

               scan_ssid=1

               key_mgmt=WPA-PSK

               psk="moje_haslo"

          }

          #

```

 jest poprawny bo wcześniej działał (na starym jajku) a teraz wywala takie błędy:

```
# wifi -1

ioctl[SIOCSIWPMKSA]: Invalid argument

ioctl[SIOCSIWMODE]: Invalid argument

ioctl[SIOCGIWRANGE]: Invalid argument

ioctl[SIOCGIWMODE]: Invalid argument

ioctl[SIOCSIWAP]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWENCODEEXT]: Invalid argument

ioctl[SIOCSIWPMKSA]: Invalid argument

```

wireless-tools zainstalowane

----------

## Oniryczny

generowałeś kernel samemu? jaka wersja?

----------

## SlashBeast

Byc moze userspace ktory uzywasz nie ogarnia nowych cudow jak nl80211.

Mialem podobny (taki sam?) problem z karta intela i rozwiazaniem bylo dodanie obslugi 'starej' warstwy zgodnosci. 

Sprawdz czy masz wlaczone CONFIG_CFG80211_WEXT, jezeli nie, to jest pewnie Twoj problem.

----------

## blendermen

Kernela budowałem sam. Używam najnowszego vannilia-sources i gentoo-sources na żadnym nie działa.

Udało mi się powrócić do starego jajka (tego przed aktualizacją) i działa na starym vanillia 3.6.11. Dziwni mnie fakt, że na każdym jajku dawałem tą samą konfiguracje. Nie mogłem się pomylić. Ustawiłem sobie po lewej konsole ze starą konfiguracją a po prawo z nową i ustawiałem. Potem sprawdziłem jeszcze .configi i pliki w /lib/modules/ Wszystko się zgadza. CONFIG_CFG80211_WEXT wkompilowałem na stałe przed chwilą i nic. No cóż, będę pracował na starym a na razie dziękuje za pomoc.

----------

## SlashBeast

3.6.12 rowniez nie dziala? Powinienes wyszukac ostatnia wersje na ktorej dziala.

----------

## blendermen

Zrobiłem jak poleciłeś i wstrzeliłem się do wersji 3.7.10, więc nie jest tak źle

----------

## SlashBeast

Istotne jest by znalezc breaking point i wtedy zrobic binarne wyszukiwanie po commitach ktory wifi urwal.

----------

