Pagina 1 di 1

patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 0:26
da thepaperboy
ragazzi, questa broadcom è proprio malefica.

dopo mille peripezie avevo settato i broadcom sta driver sulla 12.2 e funzionavano alla perfezione. ora con la 13 non riesco a installare il driver (con i b43 il wireless funziona malissimo).

seguendo le istruzioni sul sito della broacom (http://www.broadcom.com/support/802.11/linux_sta.php), incontro questo errore

Codice: Seleziona tutto

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.29.6'
  LD      /hybrid_wl/built-in.o
  CC [M]  /hybrid_wl/src/wl/sys/wl_linux.o
  CC [M]  /hybrid_wl/src/wl/sys/wl_iw.o
  CC [M]  /hybrid_wl/src/shared/linux_osl.o
  LD [M]  /hybrid_wl/wl.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /hybrid_wl/wl.o
see include/linux/module.h for more information
  CC      /hybrid_wl/wl.mod.o
  LD [M]  /hybrid_wl/wl.ko
make[1]: Leaving directory `/usr/src/linux-2.6.29.6'

vorrei quindi applicare la patch da loro proposta (http://www.broadcom.com/support/802.11/linux_sta.php) al kernel della 13. solo che il file è un .zip, quindi mi chiedevo se potessi applicarlo lo stesso con bzcat. cioé, ovviamente non funziona. se provo unzip:

Codice: Seleziona tutto

bash-3.1# unzip 5_10_91_9_patch_2_6_29_kernel.zip.gz 
Archive:  5_10_91_9_patch_2_6_29_kernel.zip.gz
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of 5_10_91_9_patch_2_6_29_kernel.zip.gz or
        5_10_91_9_patch_2_6_29_kernel.zip.gz.zip, and cannot find 5_10_91_9_patch_2_6_29_kernel.zip.gz.ZIP, period.
non riesco quindi a capire come diavolo applicare questa patch.

pensavo di spacchettarla e poi dare

Codice: Seleziona tutto

cat nomefile | patch | patch -p1 --dry-run
almeno questo è corretto?

Re: patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 0:42
da phobos3576
Con Ark si apre benissimo. All'interno del file.ZIP c'è un documento che ti spiega come applicare la patch.

Re: patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 0:57
da targzeta
thepaperboy ha scritto:...incontro questo errore

Codice: Seleziona tutto

KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.29.6'
  LD      /hybrid_wl/built-in.o
  CC [M]  /hybrid_wl/src/wl/sys/wl_linux.o
  CC [M]  /hybrid_wl/src/wl/sys/wl_iw.o
  CC [M]  /hybrid_wl/src/shared/linux_osl.o
  LD [M]  /hybrid_wl/wl.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /hybrid_wl/wl.o
see include/linux/module.h for more information
  CC      /hybrid_wl/wl.mod.o
  LD [M]  /hybrid_wl/wl.ko
make[1]: Leaving directory `/usr/src/linux-2.6.29.6'
E dov'è l'errore? Io vedo un Warning, però il modulo è stato compilato lo stesso.
...
solo che il file è un .zip, quindi mi chiedevo se potessi applicarlo lo stesso con bzcat....
si usa zcat al posto di bzcat.

Codice: Seleziona tutto

cat nomefile | patch | patch -p1 --dry-run
almeno questo è corretto?
no :). Non è che al posto del il primo 'patch' volevi scriverci un 'unzip' no? In quel caso sarebbe 'unzip -c'.

Emanuele

Re: patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 1:59
da thepaperboy
piccolo errore di scrittura, il primo patch è un doppione.

in attesa di ricompilare il kernel con la patch, sono riuscito a far funzionare il wireless seguendo la guida sul sito della broadcom (che invece per la 12.2 non mi aveva funzionato). per attivarlo al boot, lo scrivo perché a qualcuno possa servire e perché nella guida non c'è, bisogna dare:

Codice: Seleziona tutto

1)cp wl.ko /lib/modules/`uname-r`/kernel/net/wireless/

2)depmod -a

per la patch invece, queste sono le istruzioni

Codice: Seleziona tutto

INTRODUCTION
------------
This is a patch file that will updgrade the 5.10.91.9 hybrid driver 
with support for 2.26.29 kernels.

PATCH INSTALLATION INSTRUCTIONS 
-------------------------------
1. cd to top directory of the original release.  This directory will already contain a Makefile
   and src and lib directories (assuming the initial tarball has been extracted).

2. Save the patchfile in this directory.

3. patch -p1 < patchfile.  This will upgrade the required files.

4. Clean and Build as contained in the original README.txt:

  Clean up:			make -C /lib/modules/<2.6.xx.xx>/build M=`pwd` clean
  Build:			make -C /lib/modules/<2.6.xx.xx>/build M=`pwd`

See the original README for instructions on loading.
ma non mi hanno mica chiarito la faccenda. anzi, quella che mi sembrava un patch per il kernel mi pare invece essere una patch per il driver per farlo funzionare con il kernel 2.6.29, con il quale però, come verificato, già funziona.

ho provato a seguire le indicazioni (entrare nella directoy di lavoro e applicare la patch) ma mi ritrovo con :

Codice: Seleziona tutto

bash-3.1# patch -p1 < patch_2.6.29_kernels 
patching file src/wl/sys/wl_iw.c
Hunk #1 FAILED at 9.
Hunk #2 succeeded at 60 with fuzz 2 (offset 6 lines).
Hunk #3 FAILED at 609.
Hunk #4 FAILED at 634.
Hunk #5 FAILED at 1109.
Hunk #6 FAILED at 1132.
Hunk #7 FAILED at 1787.
Hunk #8 FAILED at 1918.
7 out of 8 hunks FAILED -- saving rejects to file src/wl/sys/wl_iw.c.rej
patching file src/wl/sys/wl_linux.c
Hunk #1 FAILED at 10.
Hunk #2 FAILED at 41.
Hunk #3 FAILED at 121.
Hunk #4 succeeded at 322 with fuzz 2 (offset 44 lines).
Hunk #5 FAILED at 402.
Hunk #6 FAILED at 717.
Hunk #7 succeeded at 903 with fuzz 2 (offset 58 lines).
Hunk #8 FAILED at 919.
6 out of 8 hunks FAILED -- saving rejects to file src/wl/sys/wl_linux.c.rej
patching file src/wl/sys/wl_linux.h
Hunk #1 FAILED at 9.
Hunk #2 FAILED at 72.
2 out of 2 hunks FAILED -- saving rejects to file src/wl/sys/wl_linux.h.rej

Re: patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 11:16
da giberg
Qui c'è una guida per l'installazione su Slackware:
http://beginlinux.com/appsm/wireless_m/ ... -wireless/

Re: patchare il kernel con file.zip per attivare driver broadcom

Inviato: mar 29 set 2009, 11:44
da thepaperboy
giberg ha scritto:Qui c'è una guida per l'installazione su Slackware:
http://beginlinux.com/appsm/wireless_m/ ... -wireless/
non c'è scritto nulla di più di quello che dice nella guida della patch. seguendola, ottengo l'errore di cui sopra, anche dopo aver provato a riscaricare e ripetere tutte le operazioni.
però utilizza un metodo diverso per caricare il modulo al boot. oltre a quello che ho fatto io dice:

Codice: Seleziona tutto

5)Add following Lines to /etc/rc.local
modprobe wl
iwconfig eth1 essid "mylan"
dhcpcd eth1
a me questo non è servito, quindi mi pare superfluo (sbaglio?).

domanda: qualcuno di voi capisce l'utilità di questa patch? dovrebbe upgradare per usare il modulo per il kernel 2.6.29 ma il modulo funziona già con questo.

mi rispondo da solo: ho notato la data, hanno aggiornato i driver ma hanno lasciato sul sito la vecchia patch. problema risolto, quindi: bastava che lo scrivessero sul sito. gli mando una mail