Autore Topic: Driver Broadcom 4313  (Letto 12200 volte)

Offline Gheerop

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Driver Broadcom 4313
« il: 24 Aprile 2014, 10:09:23 »
Ciao a tutti!
ho da poco installato CentOS.
Come da titolo ho problemi a far riconoscere la scheda di rete e poter aver connessione wireless. Premetto che ricercando nel forum ho trovato problemi simili ma nessuno con il mio stesso errore.
Chiedo gentilmente aiuto, sono arenato da diversi giorni con lo stesso errore.

con il comando
Codice: [Seleziona]
lspci -vvnn | grep 14e4
questo è l'output:
0d:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727]

ho seguito diverse guide ma in particolare mi rifaccio alla pagina HowTos : http://wiki.centos.org/HowTos/Laptops/Wireless/Broadcom

tutto fila liscio fino al punto 3
al comando :
Codice: [Seleziona]
make -C /lib/modules/`uname -r`/build/ M=`pwd`
questo è l'errore:
make: Entering directory `/lib/modules/2.6.32-431.el6.x86_64/build'
make: *** No targets specified and no makefile found.  Stop.
make: Leaving directory `/lib/modules/2.6.32-431.el6.x86_64/build'


mi sono accertato di aver creato la cartella build e di aver scaricato e copiato i vari firmware nelle cartelle appropiate.
Spero in una soluzione, vi ringrazio in anticipo.

Offline LonelyWolf

  • Moderator
  • Hero Member
  • *****
  • Post: 1396
    • Mostra profilo
    • Traversate dei laghi
Re:Driver Broadcom 4313
« Risposta #1 il: 24 Aprile 2014, 11:44:01 »
ben arrivato, per prima cosa e se hai possibilità di collegare via cavo il portatile, hai provato l'open firmware?
yum search broadcom mi restituisce:
b43-openfwwf.noarch : Open firmware for some Broadcom 43xx series WLAN chips
Oppure puoi scaricare RPM da un altro pc e poi installarlo, questo risolverebbe il problema di dover compilare il driver.

Seconda domanda, quando scrivi:
Citazione
mi sono accertato di aver creato la cartella build e di aver scaricato e copiato i vari firmware nelle cartelle appropiate
Intendi che hai scaricato il file e scompattato correttamente, non che hai manualmente creato la cartella build, vero?

Hai provato a seguire le semplici istruzioni del readme alla stessa pagina dove si scarica il driver ?

Offline Gheerop

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Re:Driver Broadcom 4313
« Risposta #2 il: 24 Aprile 2014, 12:22:03 »
yum search broadcom mi restituisce:

b43-fwcutter.x86_64 : Firmware extraction tool for Broadcom wireless driver
b43-openfwwf.noarch : Open firmware for some Broadcom 43xx series WLAN chips
b43-tools.x86_64 : Tools for the Broadcom 43xx series WLAN chip

ovviamente tutti e 3 installati.
Mi ricordo che la direcory build inizialmente non esisteva "fisicamente" ma compariva come si può dire, come directory fantasma. In ogni caso ora è vuota.
Seguendo il readme Broadcom http://www.broadcom.com/docs/linux_sta/README.txt mi sono accertato di aver installato 'kernel-headers' 'kernel-devel' 'gcc'.
Manca appunto il make nella build a quanto pare.

Ricapitolando le mie azioni:
- Ho scaricato il driver da qui: http://www.broadcom.com/support/802.11/linux_sta.php
- mkdir -p /usr/local/src/hybrid-wl
- scompattato il driver in questa cartella, ciò che rimane :  lib, Makefile, src
- dati i permessi in questo modo: chown -R mioUtente.root /usr/local/src/hybrid-wl
- non più in root ma in mioUtente : make -C /lib/modules/`uname -r`/build/ M=`pwd`
quindi qui l'errore già postato

Offline monsee

  • Full Member
  • ***
  • Post: 106
    • Mostra profilo
Re:Driver Broadcom 4313
« Risposta #3 il: 24 Aprile 2014, 13:48:33 »
Ho lo stesso identico driver Wireless. E ti debbo dire che è possibilissimo (anzi, facile) installare il driver che consente la connessione Wi-Fi (devi aggiungere il Repo ATRPMs [attenzione: usalo per installare, ma non lasciarlo sempre impostato perchè ha la tendenza ad aver conflitti coi pacchetti di altri Repo, specie quelli di EPEL], perchè il driver in oggetto sta proprio lì e solamente lì... dopo di che, potrai installarlo o tramite YUM o tramite Yumex [come preferisco far io, dato che detesto sopra ogni cosa fare ricorso al Terminale]).
Tutto bene, dirai... NO!  :(
Perchè, quando vorrai aggiornare il Kernel, ti accadrà che la tua connessione Wireless smetterà di funzionare. Questo, perchè con l'aggiornamento del Kernel NON viene mai aggiornato il corrispondente driver Wi-Fi.
Come fare ad aver tutto aggiornato? Puoi riuscirci (o, almeno, tentar di riuscirci) solo compilandoti "a manina" il driver, sulla base dei sorgenti rilasciati dalla Broadcom. Ci sono valide istruzioni, online, al riguardo. Anche così, tuttavia, può capitare che non ti riesca di aggiornare il Kernel (quando ne esce uno nuovo) in quanto, in quel momento, quelli di ATRPMs non hanno ancora provveduto ad inserir sui propri Server il correlato aggiornamento del driver Wi-Fi. In questi casi, basta generalmente aspettare un po' (dovrebbero bastare alcuni giorni).

Offline Gheerop

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Re:Driver Broadcom 4313
« Risposta #4 il: 24 Aprile 2014, 14:29:25 »
Come suggerito ho cercato il driver a questo link : http://packages.atrpms.net/dist/el6/broadcom-wl/
(il secondo esattamente)
se cerco di installarlo però questo è il messaggio di errore:

requires /boot/vmlinuz-2.6.32-358.23.2.el6.x86_64


grazie mille intanto per le risposte!

Offline monsee

  • Full Member
  • ***
  • Post: 106
    • Mostra profilo
Re:Driver Broadcom 4313
« Risposta #5 il: 24 Aprile 2014, 16:09:08 »
La versione del driver presente nel Repo, evidentemente, è apposta per il kernel-2.6.32-358.23.2 per CentOS (e RHEL6 in generale) a 64 bit. Presumo che tu abbia (come me, del resto) il Kernel successivo (kernel-2.6.32-431.11.2).
Insomma, sui Repo è ancora presente il driver utilizzato per il vecchio Kernel (ormai superato dall'attuale). Ti toccherà aspettare che quelli di ATRPMs aggiornino il loro driver Broadcom in modo che funzioni con il nuovo Kernel. T'avevo detto, infatti, che questo tipo di inghippo capita assai spesso. Io mi ci son scornato, ti confesso, fino a farmi venire il mal di capo...  :(

Offline Gheerop

  • Newbie
  • *
  • Post: 4
    • Mostra profilo
Re:Driver Broadcom 4313
« Risposta #6 il: 24 Aprile 2014, 17:26:56 »
"buone" (insomma) nuove !
sono riuscito a trovare la repo giusta forse e ora con il comando
Codice: [Seleziona]
[user@host hybrid-wl]$ make -C /lib/modules/`uname -r`/build/ M=`pwd`
non ho più le vecchie 3 righe di errore di mancato Make ma:
Citazione
make: Entering directory `/usr/src/kernels/2.6.32-431.11.2.el6.x86_64'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
  CC [M]  /usr/local/src/hybrid-wl/src/shared/linux_osl.o
  CC [M]  /usr/local/src/hybrid-wl/src/wl/sys/wl_linux.o
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c: In function ‘wl_tkip_printstats’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c:3246: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c:3246: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c:3249: warning: passing argument 1 of ‘wl->tkipmodops->print_stats’ from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_linux.c:3249: note: expected ‘struct seq_file *’ but argument is of type ‘char *’
  CC [M]  /usr/local/src/hybrid-wl/src/wl/sys/wl_iw.o
  CC [M]  /usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:79: warning: ‘enum tx_power_setting’ declared inside parameter list
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:79: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_join_ibss’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:726: error: ‘struct cfg80211_ibss_params’ has no member named ‘channel’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1092: warning: ‘enum tx_power_setting’ declared inside parameter list
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1092: error: parameter 2 (‘type’) has incomplete type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_cfg80211_set_tx_power’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error: ‘TX_POWER_AUTOMATIC’ undeclared (first use in this function)
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error: (Each undeclared identifier is reported only once
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1103: error: for each function it appears in.)
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1105: error: ‘TX_POWER_LIMITED’ undeclared (first use in this function)
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1111: error: ‘TX_POWER_FIXED’ undeclared (first use in this function)
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1589: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1594: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1595: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1596: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1597: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1598: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1599: warning: initialization from incompatible pointer type
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_inform_single_bss’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1764: error: too few arguments to function ‘ieee80211_channel_to_frequency’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1793: warning: passing argument 1 of ‘cfg80211_put_bss’ from incompatible pointer type
include/net/cfg80211.h:3380: note: expected ‘struct wiphy *’ but argument is of type ‘struct cfg80211_bss *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:1793: error: too few arguments to function ‘cfg80211_put_bss’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_update_bss_info’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2046: error: ‘struct cfg80211_bss’ has no member named ‘information_elements’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2047: error: ‘struct cfg80211_bss’ has no member named ‘len_information_elements’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2052: warning: passing argument 1 of ‘cfg80211_put_bss’ from incompatible pointer type
include/net/cfg80211.h:3380: note: expected ‘struct wiphy *’ but argument is of type ‘struct cfg80211_bss *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2052: error: too few arguments to function ‘cfg80211_put_bss’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_bss_roaming_done’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2090: warning: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer type
include/net/cfg80211.h:3726: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘u8 *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2090: warning: passing argument 4 of ‘cfg80211_roamed’ makes pointer from integer without a cast
include/net/cfg80211.h:3726: note: expected ‘const u8 *’ but argument is of type ‘s32’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2090: warning: passing argument 5 of ‘cfg80211_roamed’ makes integer from pointer without a cast
include/net/cfg80211.h:3726: note: expected ‘size_t’ but argument is of type ‘u8 *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2090: warning: passing argument 6 of ‘cfg80211_roamed’ makes pointer from integer without a cast
include/net/cfg80211.h:3726: note: expected ‘const u8 *’ but argument is of type ‘s32’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2090: error: too few arguments to function ‘cfg80211_roamed’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_bss_connect_done’:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: warning: passing argument 2 of ‘cfg80211_roamed’ from incompatible pointer type
include/net/cfg80211.h:3726: note: expected ‘struct ieee80211_channel *’ but argument is of type ‘u8 *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: warning: passing argument 4 of ‘cfg80211_roamed’ makes pointer from integer without a cast
include/net/cfg80211.h:3726: note: expected ‘const u8 *’ but argument is of type ‘s32’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: warning: passing argument 5 of ‘cfg80211_roamed’ makes integer from pointer without a cast
include/net/cfg80211.h:3726: note: expected ‘size_t’ but argument is of type ‘u8 *’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: warning: passing argument 6 of ‘cfg80211_roamed’ makes pointer from integer without a cast
include/net/cfg80211.h:3726: note: expected ‘const u8 *’ but argument is of type ‘s32’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2122: error: too few arguments to function ‘cfg80211_roamed’
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c: At top level:
/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.c:2700: fatal error: opening dependency file /usr/local/src/hybrid-wl/src/wl/sys/.wl_cfg80211_hybrid.o.d: Permission denied
compilation terminated.
make[1]: *** [/usr/local/src/hybrid-wl/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
make: *** [_module_/usr/local/src/hybrid-wl] Error 2
make: Leaving directory `/usr/src/kernels/2.6.32-431.11.2.el6.x86_64'