web-dev-qa-db-fra.com

Comment puis-je installer le pilote ath9k de backports-3.12-8 sur Xubuntu 13.10?

J'ai téléchargé les fichiers du noyau 3.12-8 linux-headers-all.deb, linux-headers-generic_i368.deb; linux-image-generic_i386.deb depuis kernel.org et les ai installés via:

 dpkg -i *.deb

Maintenant, j'essaie d'éliminer certaines pertes de signal wifi, qui sont probablement causées par le pilote lui-même. Apparemment, le pilote ath9k a été corrigé, j'aimerais donc remplacer la valeur par défaut par une version de backports.

J'ai téléchargé backports-3.12.8-1.tar.gz depuis kernel.org et j'ai essayé de préparer le module ath9k en:

cd ~/.source/backports-3.12.8-1/
Sudo apt-get install build-essential
Sudo apt-get build-dep linux-image-$(uname -r)
Sudo ln -s /usr/src/linux-headers-$(uname -r) /usr/src/linux
make defconfig-ath9k

Cela me laisse avec "ERREUR de prototypes manquants":

cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer   -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer   -c -o zconf.tab.o zconf.tab.c
cc   conf.o zconf.tab.o   -o conf

Mais quand je continue avec:

Sudo modprobe -r ath9k
Sudo make
Sudo checkinstall

tout fonctionne!!!

Donc mes questions sont:

  • Ce module dépend-il de certains autres modules du noyau?

    Oui, la commande suivante vous dit:

    modinfo ath9k

  • Si oui, où sont les informations à ce sujet?

    Consultez le site wireless.kernel.org/en/users/Drivers/ath9k.

  • Existe-t-il un moyen correct d’installer ce module de noyau, resp. chauffeur?

    Probablement en obtenant un pro en compilation de noyau :-).

THX

4
suqed

Pour ceux qui pourraient tomber sur cette question, comme je viens de le faire:

Cela me laisse avec "ERREUR de prototypes manquants":

cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer   -c -o conf.o conf.c
cc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer   -c -o zconf.tab.o zconf.tab.c
cc   conf.o zconf.tab.o   -o conf

Ces lignes ne sont pas réellement des erreurs. La commande make exécute un ensemble d'autres commandes, comme spécifié dans un fichier nommé Makefile. Par défaut, make écrira ces commandes sur le terminal avant de les exécuter. Par exemple, si Makefile dit d'exécuter foo alors bar puis baz, make écrira foo sur le terminal, puis exécutera la commande foo ; alors il écrira bar sur le terminal et lancera bar; alors il écrira baz sur le terminal et lancera baz.

Dans ce cas, ces lignes cc sont des commandes que make a été programmée pour être exécutée par Makefile. La commande cc exécutera la valeur par défaut du système compilateur C , qui est probablement GCC . Les choses commençant par - sont options , qui affectent le comportement du compilateur C.

Pour les compilateurs comme GCC, options commençant par -W == demandez au compilateur de donner des avertissements lorsqu'il voit du code techniquement valide, mais qui est souvent une mauvaise idée (par exemple, un motif dans le code les programmeurs pensent que agira d'une certaine manière, mais agira réellement d'une autre).

Dans ce cas, -Wall active de nombreux avertissements (pas tous!) De GCC. -Wmissing-prototypes et -Wstrict-prototypes activent des avertissements supplémentaires pour détecter les problèmes liés à la fonction prototype de fonction de C.

Par conséquent, ces messages nous disent vraiment que la commande cc est sur le point d’être exécutée et qu’elle (entre autres choses) devrait nous avertir si elle pense que le code est louche; en particulier, si les prototypes de fonctions sont mal utilisés.

Les avertissements GCC ressemblent à ceci:

main.c: In function ‘main’:
main.c:1:5: warning: traditional C rejects ISO C style function definitions [-Wtraditional]
 int main(int argc, char **argv) {
     ^

Comme rien de tel n'apparaît dans votre sortie, aucun avertissement ni erreur ne sont survenus. même avec ces vérifications supplémentaires -W activées.

1
Warbo

Je recommanderais d'installer un noyau plus récent, bien qu'il devrait fonctionner correctement depuis la version 2.6.30 ou une version similaire. Je l'utilise comme un AP dans le noyau 3.13.0-24-generic, même si je sais qu'il est préférable d'installer un nouveau noyau. Je l'utilisais sur http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.12-vivid/ ou un appareil similaire (jusqu'à ce que mon disque dur se soit écrasé). Je peux vous donner des détails sur celui utilisé dans le noyau mentionné.

  1. dépend: ath9k_hw, mac80211, ath9k_common, cfg80211, ath
  2. J'ai vu les informations et les capacités matérielles quelque part, mais je ne me souviens plus où c'était.
  3. C'est sûr :) Recherchez compat-wireless
0
Pavol Polacko