Pagina 1 di 1

[risolto] errore nel compilare driver wl dopo ricomp kernel

Inviato: mer 14 ott 2009, 1:03
da thepaperboy
allora, questa è davvero bella.
prendo il kernel in uso, lo ricompilo cambiando solo il processor family, riavvio, funziona. scarico dal sito della broadcom (http://www.broadcom.com/support/802.11/linux_sta.php) i driver sta linux per la mia scheda wireless e procedo con la compilazione secondo le istruzioni fornite (http://www.broadcom.com/docs/linux_sta/README.txt), procedura che con il precedente kernel (cioé quello originale della 13) aveva funzionato perfettamente.

al momento della compilazione vera e propria, mi ritrovo con questo errore

Codice: Seleziona tutto

bash-3.1# make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-2.6.29.6'
make[1]: *** No rule to make target `il'.  Stop.
make[1]: Leaving directory `/usr/src/linux-2.6.29.6'
make: *** [all] Error 2
e se provo a copiare il modulo wl.ko dalla directory dei vecchi moduli (che ho salvato), e provo ad attivarlo, ho questo errore:

Codice: Seleziona tutto

bash-3.1# insmod wl.ko 
insmod: error inserting 'wl.ko': -1 Invalid module format
,

Ovviamente il secondo errore è ovvio (credo), essendo quel modulo stato compilato con un altra configurazione del kernel. il problema è il primo, cioè che non riesco a compilare il modulo del kernel per la scheda wireless.

ecco il makefile

Codice: Seleziona tutto

#
# Makefile fragment for Linux 2.6
# Broadcom 802.11abg Networking Device Driver
#
# Copyright 2008, Broadcom Corporation
# All Rights Reserved.
# 
# This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
# the contents of this file may not be disclosed to third parties, copied
# or duplicated in any form, in whole or in part, without the prior
# written permission of Broadcom Corporation.
#
# $Id: Makefile_kbuild_portsrc,v 1.1.2.4.84.1 2009/08/11 01:19:20 Exp $

obj-m              += wl.o

wl-objs            := 
wl-objs            += src/wl/sys/wl_linux.o
wl-objs            += src/wl/sys/wl_iw.o
wl-objs            += src/shared/linux_osl.o

EXTRA_CFLAGS       :=
EXTRA_CFLAGS       += -I$(src)/src/include
EXTRA_CFLAGS       += -I$(src)/src/wl/sys

EXTRA_LDFLAGS      := $(src)/lib/wlc_hybrid.o_shipped

all:
	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`

clean:
	KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd` clean

install:
	install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko

Re: errore nel compilare driver wireless dopo ricompilaz kernel

Inviato: gio 15 ott 2009, 18:52
da tigerwalk
Il symlink ai sorgenti /usr/src/linux è corretto?

Re: errore nel compilare driver wireless dopo ricompilaz kernel

Inviato: gio 15 ott 2009, 18:55
da thepaperboy
tigerwalk ha scritto:Il symlink ai sorgenti /usr/src/linux è corretto?
sì, punta alla directory linux-2.6.29.6/ che contiene i sorgenti originari. è proprio per questo che non capisco perché non riesca più la compilazione.

Re: errore nel compilare driver wireless dopo ricompilaz kernel

Inviato: gio 15 ott 2009, 19:55
da targzeta
Il problema non è nei driver, ma nei sorgenti del kernel.
thepaperboy ha scritto:...

Codice: Seleziona tutto

bash-3.1# make
...
make[1]: *** No rule to make target `il'.  Stop.
...
...
Emanuele

Re: errore nel compilare driver wireless dopo ricompilaz kernel

Inviato: gio 15 ott 2009, 22:47
da thepaperboy
spina ha scritto:Il problema non è nei driver, ma nei sorgenti del kernel.
thepaperboy ha scritto:...

Codice: Seleziona tutto

bash-3.1# make
...
make[1]: *** No rule to make target `il'.  Stop.
...
...
Emanuele
già, questo l'avevo supposto. ma perché dovrebbe essere lì l'errore se, quando avevo compilato il driver normalmente, con i sorgenti originali, non avevo avuto problemi? cioé, rispetto ad allora io non ho modificato nulla, se non ricompilando il kernel. ma anche la stessa ricompilazione ha avuto come unico esito la modifica della famiglia del processore.

EDIT: il problema era causato dalla presenza di spazi bianchi nella directory in cui si trovava il modulo, che era /home/thepaperboy/per \ il \ sistema/hybdrid. grazie mille a spina che ha intuito l'inghippo.