# Compilando driver

## samuelhm

Hola, me es imposible compilar los drivers de compat-wireless sale este error:

```

make -C /lib/modules/2.6.36-gentoo-r5/build M=/usr/src/compat-wireless-2.6.36-5-spn modules

make[1]: Entering directory `/usr/src/linux-2.6.36-gentoo-r5'

  CC [M]  /usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.o

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c: In function 'cfg80211_netdev_notifier_call':

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c:708: error: 'struct net_device' has no member named 'wireless_handlers'

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c:709: error: 'struct net_device' has no member named 'wireless_handlers'

make[3]: *** [/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.o] Error 1

make[2]: *** [/usr/src/compat-wireless-2.6.36-5-spn/net/wireless] Error 2

make[1]: *** [_module_/usr/src/compat-wireless-2.6.36-5-spn] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.36-gentoo-r5'

make: *** [modules] Error 2

```

alguien podria ayudarme?

----------

## esteban_conde

 *samuelhm wrote:*   

> make -C /lib/modules/2.6.36-gentoo-r5/build M=/usr/src/compat-wireless-2.6.36-5-spn modules
> 
> make[1]: Entering directory `/usr/src/linux-2.6.36-gentoo-r5' 

 

Entiendo que quieres compilar un parche compat-wireless-2.6.36-5-spn que está en /usr/src

contra el kernel linux-2.6.36-gentoo-r5 que tambien esta en /usr/src, si no es así rectificame.

De todas maneras no estaria de más que ampliaras la historia.

----------

## agdg

Prueba a compilar el kernel con:

[*] Networking support  --->  

 [*]   Wireless  --->    

```
 --- Wireless                                                     

  │ │    <*>   cfg80211 - wireless configuration API                      │ │  

  │ │    [ ]     nl80211 testmode command (NEW)                           │ │  

  │ │    [ ]     enable developer warnings (NEW)                          │ │  

  │ │    [ ]     cfg80211 regulatory debugging (NEW)                      │ │  

  │ │    [*]     enable powersave by default (NEW)                        │ │  

  │ │    [*]     cfg80211 wireless extensions compatibility (NEW)         │ │  

  │ │    [*]   Wireless extensions sysfs files (NEW)                      │ │  

  │ │    < >   Common routines for IEEE802.11 drivers (NEW)               │ │
```

[*]     cfg80211 wireless extensions compatibility (NEW) <----

----------

## samuelhm

 *Quote:*   

>   │ │                                                --- Wireless                                                                                                          │ │  
> 
>   │ │                                                <M>   cfg80211 - wireless configuration API                                                                           │ │  
> 
>   │ │                                                [*]     nl80211 testmode command                                                                                      │ │  
> ...

 

Lo tengo asi porque antes cuando intentaba compilar el driver me decia que cfg80211 = y and must be M

ahora el error es el comentado de antes.

por cierto cuando compilo primero guardo la configuracion, luego make y luego make modules_install.

siempre que ago esto tengo que volver a instalar todos los demas drives que puedo compilar ( por si en algo fallo )

sigue el error:

```
localhost compat-wireless-2.6.36-5-spn # ls

COPYRIGHT    README            compat_base_tree          config.mk   drivers               include                  master-tag  pending-stable

Makefile     code-metrics.txt  compat_base_tree_version  crap        enable-older-kernels  linux-next-cherry-picks  net         scripts

Makefile.bk  compat            compat_version            defconfigs  fixes                 linux-next-pending       patches     udev

localhost compat-wireless-2.6.36-5-spn # ./scripts/driver-select rtl818x

Processing new driver-select request...

Backup exists: Makefile.bk

Backup exists: drivers/net/wireless/Makefile.bk

Backup exists: net/wireless/Makefile.bk

Backup exists: drivers/net/Makefile.bk

Backup exists: drivers/ssb/Makefile.bk

Backup exists: Makefile.bk

localhost compat-wireless-2.6.36-5-spn # make

make -C /lib/modules/2.6.36-gentoo-r5/build M=/usr/src/compat-wireless-2.6.36-5-spn modules

make[1]: Entering directory `/usr/src/linux-2.6.36-gentoo-r5'

  CC [M]  /usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.o

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c: In function 'cfg80211_netdev_notifier_call':

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c:708: error: 'struct net_device' has no member named 'wireless_handlers'

/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.c:709: error: 'struct net_device' has no member named 'wireless_handlers'

make[3]: *** [/usr/src/compat-wireless-2.6.36-5-spn/net/wireless/core.o] Error 1

make[2]: *** [/usr/src/compat-wireless-2.6.36-5-spn/net/wireless] Error 2

make[1]: *** [_module_/usr/src/compat-wireless-2.6.36-5-spn] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.36-gentoo-r5'

make: *** [modules] Error 2

localhost compat-wireless-2.6.36-5-spn #
```

----------

## gringo

por qué necesitas wireless-compat ? que chip wifi tienes ?

saluetes

----------

## samuelhm

hola tengo el chipset rtl8187 ( ya viene con el kernel) pero esque va super lento, y en ubuntu tenia el mismo problema y cuando instalé los de compat-wireless la velocidad de conexión me aumentó muy significativamente.

----------

## gringo

es que no veo que compat-wireless solucione nada, es básicamente el mismo driver que hay en el kernel, quizas un poco mas actualizado.

No tienes porque hacer la instalación a mano desde las fuentes, hay un ebuild en el overlay pentoo :

http://gpo.zugaina.org/net-wireless/compat-wireless

de cualquier manera yo si fuera tu probaría nuevamente con el driver que viene con el kernel.

saluetes

----------

## samuelhm

gracias gringo, probaré y si n o va mas rapido usare el del kernel, por cierto me descargo el ebuild y lo ejecuto con un comande de emerge o es un binario???

Es ke llevo 2 semanas con gentoo y se me esta haciendo todo muy dificil, la documentacion esta muy obsoleta.

----------

## gringo

 *Quote:*   

> por cierto me descargo el ebuild y lo ejecuto con un comande de emerge o es un binario???

 

si acabas de llegar a gentoo te sugiero que uses layman para manejar overlays.

Está muy bien documentado aqui ( http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=3&chap=5 ) y aqui ( http://www.gentoo.org/proj/es/overlays/userguide.xml) pero en tu caso básicamente se reduce a :

- añadir la cadena "app-portage/layman subversion git" ( sin comillas) al archivo /etc/portage/package.use/layman ( créalo si no existe)

- emerge -av layman

- layman -f ( esto creo que ya no es necesario)

- layman -a pentoo

- añadir source /var/lib/layman/make.conf al make.conf

- emerge -av compat-wireless

( como ves te digo que actives las use subversion y git para layman porque casi todos los overlays usan esos 2 vcs).

saluetes  :Wink: 

----------

## samuelhm

Muchas gracias Gringo, ahora lo tengo funcionando!!!! pues al final no ha mejorado la velocidad como pasó en ubuntu. Aki el problema era firefox que iva extremadamente lento y se kedaba colgado muchas veces, ahora que he puesto chronium va como la seda con compiz+emerald a tope y compilando en segundo plano xDD supongo que alguna use puse mal cuando lo instale o algo.

----------

