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
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.
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é.