# Atheros y madwifi,  Grandes problemas.....

## jarugama11

Hola de nuevo, ya reinstale y tengo un gran gran problema.

No puedo compilar madwifi-ng por que me tira un error de lo mas raro. 

Esta es mi tarjeta de red:

```

rugama rugama # lspci | grep Wireless

04:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

```

luego al compilar el driver me sale este error:

```

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.30-gentoo-r5/build

 * Found sources for kernel version:

 *     2.6.30-gentoo-r5

 * Checking for suitable kernel configuration options...

 *    requires CONFIG_KMOD to be set to y or m                         ->_>_>_>_>_> esto es de lo mas raro

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * 

 * ERROR: net-wireless/madwifi-ng-0.9.4 failed.

 * Call stack:

 *                 ebuild.sh, line   49:  Called pkg_setup

 *   madwifi-ng-0.9.4.ebuild, line   33:  Called linux-mod_pkg_setup

 *          linux-mod.eclass, line  578:  Called linux-info_pkg_setup

 *         linux-info.eclass, line  720:  Called check_extra_config

 *         linux-info.eclass, line  615:  Called die

 * The specific snippet of code:

 *         die "Incorrect kernel configuration options"

 *  The die message:

 *   Incorrect kernel configuration options

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/die.env'.

 * 

```

Lo extraño del caso es que hice la misma configuracion del kernel de todas las demas intalaciones que he hecho. Y ademas me tengo habilitado el soporte de la tarjeta en el kernel.

pero no carga el modulo ath_pci pero si el ath5k.

Aca la salida de me lsmod

```

rugama rugama # lsmod

Module                  Size  Used by

snd_hda_codec_realtek   178768  1 

snd_hda_intel          22152  1 

snd_pcsp                8412  1 

snd_hda_codec          56512  2 snd_hda_codec_realtek,snd_hda_intel

snd_hwdep               6272  1 snd_hda_codec

snd_pcm                63456  3 snd_hda_intel,snd_pcsp,snd_hda_codec

snd_timer              17692  1 snd_pcm

snd                    50944  11 snd_hda_codec_realtek,snd_hda_intel,snd_pcsp,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer

ath5k                 104904  0 

soundcore               6256  1 snd

snd_page_alloc          8108  2 snd_hda_intel,snd_pcm

```

[/quote]

----------

## Inodoro_Pereyra

```
grep CONFIG_KMOD /usr/src/linux/.config
```

Necesita eso habilitado y no lo tiene, a ver que te devuelve como resultado ese comando.

Salud!

----------

## jarugama11

No dice nada.

Si habilito esta opcion en el /usr/src/linux/.config,( sin hacer nada mas de esto, simplemente es una prueba, ya que esta opcion de habilitar kernel .config la habilite justo despues de este error y desconozco como utilizarla) e intento compilar sale esto:

```

* IMPORTANT: 2 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

Calculating dependencies... done!

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) net-wireless/madwifi-ng-0.9.4

openpty failed: 'out of pty devices'

 * madwifi-0.9.4.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                 [ ok ]

 * checking ebuild checksums ;-) ...                                     [ ok ]

 * checking auxfile checksums ;-) ...                                    [ ok ]

 * checking miscfile checksums ;-) ...                                   [ ok ]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found sources for kernel version:

 *     2.6.30-gentoo-r5

 * Checking for suitable kernel configuration options...                  [ ok ]

>>> Unpacking source...

>>> Unpacking madwifi-0.9.4.tar.bz2 to /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work

 * Applying madwifi-ng-0.9.3-uudecode-gcda-fix.patch ...                  [ ok ]

 * Converting madwifi-0.9.4/ath/Makefile to use M= instead of SUBDIRS= .  [ ok ]

 * Converting madwifi-0.9.4/ath_hal/Makefile to use M= instead of SUBDIR  [ ok ]

 * Converting madwifi-0.9.4/net80211/Makefile to use M= instead of SUBDI  [ ok ]

 * Converting madwifi-0.9.4/ath_rate/Makefile to use M= instead of SUBDI  [ ok ]

 * Converting madwifi-0.9.4/ath_rate/amrr/Makefile to use M= instead of SUBDIRS= ...                                                                      [ ok ]

 * Converting madwifi-0.9.4/ath_rate/minstrel/Makefile to use M= instead of SUBDIRS= ...                                                                  [ ok ]

 * Converting madwifi-0.9.4/ath_rate/onoe/Makefile to use M= instead of SUBDIRS= ...                                                                      [ ok ]

 * Converting madwifi-0.9.4/ath_rate/sample/Makefile to use M= instead of SUBDIRS= ...                                                                    [ ok ]

 * Applying madwifi-dfs-ieee80211-skb-update.patch ...                    [ ok ]

 * Applying madwifi-ng-0.9.4-2.6.27-r3811.patch ...                       [ ok ]

 * Applying madwifi-ng-0.9.4-request_module-build.patch ...               [ ok ]

>>> Source unpacked in /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work

>>> Compiling source in /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4 ...

 * Preparing ath_hal module

make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERNELPATH=/usr/src/linux all

make -C /usr/src/linux M=/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal modules

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

  CC [M]  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/ah_os.o

  HOSTCC  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/uudecode.o

  HOSTLD  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/uudecode

  UUDECODE /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/i386-elf.hal.o

  LD [M]  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/ath_hal.o

  Building modules, stage 2.

  MODPOST 1 modules

  CC      /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/ath_hal.mod.o

  LD [M]  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/ath_hal/ath_hal.ko

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

 * Preparing wlan module

make -j2 HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KERNELPATH=/usr/src/linux all

make -C /usr/src/linux M=/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211 modules

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

  CC [M]  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/if_media.o

  CC [M]  /var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.o

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211_vap_setup':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:381: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211com_media_status':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1021: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211com_media_change':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1073: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211_media_change':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1186: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211_media_status':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1230: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211_getstats':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1448: error: 'struct net_device' has no member named 'priv'

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c: In function 'ieee80211_set_multicast_list':

/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.c:1487: error: 'struct net_device' has no member named 'priv'

make[2]: *** [/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211/ieee80211.o] Error 1

make[2]: *** Waiting for unfinished jobs....

make[1]: *** [_module_/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/work/madwifi-0.9.4/net80211] Error 2

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

make: *** [all] Error 2

 *

 * ERROR: net-wireless/madwifi-ng-0.9.4 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3372:  Called linux-mod_src_compile

 *             environment, line 2602:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                      CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                          ${BUILD_FIXES}         ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 *  The die message:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERNELPATH=/usr/src/linux all

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/environment'.

 *

>>> Failed to emerge net-wireless/madwifi-ng-0.9.4, Log file:

>>>  '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/build.log'

 * Messages for package net-wireless/madwifi-ng-0.9.4:

 *

 * ERROR: net-wireless/madwifi-ng-0.9.4 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_compile

 *             environment, line 3372:  Called linux-mod_src_compile

 *             environment, line 2602:  Called die

 * The specific snippet of code:

 *               eval "emake HOSTCC=\"$(tc-getBUILD_CC)\"                      CROSS_COMPILE=${CHOST}-                                          LDFLAGS=\"$(get_abi_LDFLAGS)\"                                          ${BUILD_FIXES}         ${BUILD_PARAMS}                                          ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}";

 *  The die message:

 *   Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS=  KERNELPATH=/usr/src/linux all

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/environment'.

 *

 * IMPORTANT: 2 news items need reading for repository 'gentoo'.

 * Use eselect news to read news items.

```

Debo volver a compilar el kernel para habilitar la opcion esta?? que pasos debo seguir para corregir esto??? no tengo red inalambrica y no puedo seguir con la instalacion, help!!!!!!!!!!

----------

## Theasker

 *Inodoro_Pereyra wrote:*   

> 
> 
> ```
> grep CONFIG_KMOD /usr/src/linux/.config
> ```
> ...

 

esta opción es correcta, pero creo q ahora se llama de otra forma, prueba a ver con esto:

```
grep KMOD /usr/src/linux/.config
```

En el kernel 2.6.27 usaba CONFIG_KMOD pero en el que tengo ahora 2.6.30 usa otro nombre. Yo lo probé así y además tuve el mismo problema que tu, identico, pero no recuerdo bien como lo solucioné.

```
# grep KMOD ../linux-2.6.30-gentoo-r5/.config

CONFIG_X86_P4_CLOCKMOD=y
```

Seguiré haciendo memoria si no es eso.

Un saludo

----------

## gringo

 *Quote:*   

> requires CONFIG_KMOD to be set to y or m 

 

entiendo que se refiere a la posibilidad de poder cargar o no módulos en el kernel.

En el kernel 2.6.30 dicha opción se llama CONFIG_MODULES.

No estoy seguro, pero creo que si lo habilitas como módulo (M) no tienes que recompilar el kernel, tan sólo tienes que volver a compilar, instalar los módulos del kernel y ejecutar un depmod -A al final ( el update-modules de gentoo creo que es lo mismo básicamente).

Una vez solucionado esto prueba con la versión del madwifi-ng que está en ~arch, los últimos kernels casi siempre requieren la versión mas reciente posible de un paquete que incluye un módulo para el kernel.

De cualquier manera, hay un bug abierto en el que se dice básicamente lo que ya he comentado pero al parecer el driver madwifi no compila para todo el mundo. Por si le quieres echar un vistazo :

https://bugs.gentoo.org/show_bug.cgi?id=262761

saluetes

----------

## Txema

Esto mismo me pasó a mí pero no recuerdo qué hice, sé que esa opción del kernel la eliminaron hace tiempo y por tanto no se puede configurar.

Pero, ¿porqué quieres tener el driver madwifi y el ath5k a la vez? ¿no sería más sencillo usar el que viene en el kernel, ath5k, que es además el que se está actualizando ya que el otro lo han dejado apartado? Además, para tu tarjeta, si has leído http://en.gentoo-wiki.com/wiki/Atheros_5xxx verás que madwifi no funciona con tu tarjeta, necesitas una modificación del mismo, madwifi-hal, que está en el overlay AllenJB's Overlay

Saludos.

Edit: Creo que lo he encontrado, https://bugs.gentoo.org/show_bug.cgi?id=262761 -> a ver si te funciona la versión =net-wireless/madwifi-ng-0.9.4.4030.20090529 y olvida lo de madwifi-hal, que según la línea de lspci es para unas tarjetas ligeramente distintas.

----------

## jarugama11

Con emerge no hubo forma, recompile kernel dos veces  alternando soluciones de diferenes lugares y nada, al final, lo que soluciono el problema fue descargar el madwifi-hal  y luego ejecutar un par de scrip y despues

```

make

make install

```

y listo, athero corriendo.

Gracias a todos por sus respuestas!!!!!!!

----------

## jarugama11

[quote="jarugama11"]Hola de nuevo, ya reinstale y tengo un gran gran problema.

No puedo compilar [b]madwifi-ng[/b] por que me tira un error de lo mas raro. 

Esta es mi tarjeta de red:

[code]

rugama rugama # lspci | grep Wireless

04:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI Express Adapter (rev 01)

[/code]

luego al compilar el driver me sale este error:

[code]

 * Determining the location of the kernel source code

 * Found kernel source directory:

 *     /usr/src/linux

 * Found kernel object directory:

 *     /lib/modules/2.6.30-gentoo-r5/build

 * Found sources for kernel version:

 *     2.6.30-gentoo-r5

 * Checking for suitable kernel configuration options...

 *    requires CONFIG_KMOD to be set to y or m                         ->_>_>_>_>_> esto es de lo mas raro

 * Please check to make sure these options are set correctly.

 * Failure to do so may cause unexpected problems.

 * Once you have satisfied these options, please try merging

 * this package again.

 * 

 * ERROR: net-wireless/madwifi-ng-0.9.4 failed.

 * Call stack:

 *                 ebuild.sh, line   49:  Called pkg_setup

 *   madwifi-ng-0.9.4.ebuild, line   33:  Called linux-mod_pkg_setup

 *          linux-mod.eclass, line  578:  Called linux-info_pkg_setup

 *         linux-info.eclass, line  720:  Called check_extra_config

 *         linux-info.eclass, line  615:  Called die

 * The specific snippet of code:

 *   		die "Incorrect kernel configuration options"

 *  The die message:

 *   Incorrect kernel configuration options

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/net-wireless/madwifi-ng-0.9.4/temp/die.env'.

 * 

[/code]

Lo extraño del caso es que hice la misma configuracion del kernel de todas las demas intalaciones que he hecho. Y ademas me tengo habilitado el soporte de la tarjeta en el kernel.

pero no carga el modulo [b]ath_pci[/b] pero si el [b]ath5k[/b].

Aca la salida de me lsmod

[code]

rugama rugama # lsmod

Module                  Size  Used by

snd_hda_codec_realtek   178768  1 

snd_hda_intel          22152  1 

snd_pcsp                8412  1 

snd_hda_codec          56512  2 snd_hda_codec_realtek,snd_hda_intel

snd_hwdep               6272  1 snd_hda_codec

snd_pcm                63456  3 snd_hda_intel,snd_pcsp,snd_hda_codec

snd_timer              17692  1 snd_pcm

snd                    50944  11 snd_hda_codec_realtek,snd_hda_intel,snd_pcsp,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer

ath5k                 104904  0 

soundcore               6256  1 snd

snd_page_alloc          8108  2 snd_hda_intel,snd_pcm

[/code][/quote][/quote]

----------

