Page 1 sur 1

[patch] Patch noyau - Problème driver ath5k (résolu)

Publié : lun. 30 avr. 2012, 19:17
par alex-gus
Bonjour :)

J'ai un problème avec ma carte wifi, qui utilise le driver ath5k. J'ai donc cherché préalablement sur notre ami google.
J'ai trouvé deux patchs : http://git.kernel.org/?p=linux/kernel/g ... 37359577d2
et
http://git.kernel.org/?p=linux/kernel/g ... 7a1ddb9b0b

Le problème est que je ne sais pas comment faire pour patcher :( .
Si vous voulez bien m'aider :D je vous en remercie d'avance ^^

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:10
par FoolEcho
Salut,

Questions bêtes: tu es sûr que ces patchs conviennent ? quel est ton problème exactement ?
alex-gus a écrit :Le problème est que je ne sais pas comment faire pour patcher :( .
Il faut récupérer les sources du kernel et compiler le module ath5k après application des patchs (le plus propre étant de passer par un PKGBUILD).
Je regarde ça tout à l'heure (j'éditerai ce message si tu n'as pas posté entre-temps avec d'autres infos).

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:28
par alex-gus
Questions bêtes: tu es sûr que ces patchs conviennent ? quel est ton problème exactement ?
J'en sais rien du tout. j'ai trouvé l'info ici :https://bbs.archlinux.org/viewtopic.php?id=139270

Mon problème est que le pilote ath5k bug de temps en temps, avec des messages :
gain calibration timeout (XXXXMhz)
gain calibration timeout (XXXXMhz)
gain calibration timeout (XXXXMhz)
....


J'ai regardé hier soir comment compiler son propre noyau mais je ne sais pas ou trouver les sources de ce noyau, je ne sais pas si celui de kernel.org conviendrait ?

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:37
par FoolEcho
alex-gus a écrit :J'en sais rien du tout.
Tu ne sais pas quel est le problème et tu espères que ça résolve... Mouais... :copain: :fou:

En tous cas, voilà le PKGBUILD, à priori:

Code : Tout sélectionner

pkgname=('ath5k-calibration')
pkgver=3.3.0
pkgrel=1
pkgdesc="ath5k kernel module patched to correct some trouble about calibration."
arch=('i686' 'x86_64')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('linux-headers' 'linux')
options=('!strip')
install=ath5k.install
source=(
  'http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.3.tar.xz'
  'base.c.patch::http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff_plain;h=62e2c102cc1d2600381410c089ca9a37359577d2'
  'phy.c.patch::http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=commitdiff_plain;h=5c17ddc4a047c59638c7eb8537aa887a1ddb9b0b'
)
md5sums=('7133f5a2086a7d7ef97abac610c094f5'
         '5008eaf2bb0fb4fddf1aff85a019d043'
         'cc54a459c16053df9864da20c033fab4')

mod_dir=/lib/modules/`uname -r`/updates/drivers/net/wireless/ath/ath5k

build() {
  cd ${srcdir}/linux-3.3
  patch -Np1 -i ${srcdir}/base.c.patch
  patch -Np1 -i ${srcdir}/phy.c.patch
  cd drivers/net/wireless/ath/ath5k
  make -C /usr/src/linux-`uname -r`/ M=`pwd`
  gzip -9 ath5k.ko
}

package() {
  cd ${pkgdir}
  mkdir -p ${pkgdir}/${mod_dir}
  install -D -m 0644 ${srcdir}/linux-3.3/drivers/net/wireless/ath/ath5k/ath5k.ko.gz ${pkgdir}/${mod_dir}/ath5k.ko.gz
}
Et le ath5k.install:

Code : Tout sélectionner

post_install() {
  echo " > Running depmod now..."
  depmod -a
  echo " > Reloading ath5k module..."
  echo "   Please note that you may REBOOT your system to get it works!"
  modprobe -r ath5k
  modprobe ath5k
}

post_upgrade() {
  post_install
}

post_remove() {
  post_install
}
Ça se patche et ça compile... À toi de voir si ça résoud ton problème inconnu... :lol:

Je ne le mets pas sur Aur dans la mesure où les patchs figurant dans la branche stable il est probable qu'ils fassent leurs apparitions sur des prochaines mises de noyau (pas avant la 3.4 il semble).

Il te faut installer base-devel si ce n'est déjà fait, récupérer le PKGBUILD et le .install, les mettre dans un répertoire puis lancer makepkg -si (ça te donnera un paquet installé dans la foulée). :chinois:

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:47
par alex-gus
Merci :)

Mais les sources je les prends où?

EDIT : Ah ça se fait automatiquement ^^, j'avais pas vu :D

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:49
par FoolEcho
Elles seront téléchargées au moment du makepkg, voir le PKGBUILD. :)

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 10:55
par alex-gus
Encore merci ^^. Pour le moment ça marche :). C'est assez magique, ça se fait tout seul ;)

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 11:12
par alex-gus
J'ai redémarré, et ça marche. Juste un probleme quand pacman essaie d'installer le paquet il nous dit qu'il y a un probleme sur la ligne 5 et 18 d'un ".install"

J'ai donc lancé ce qu'il y a dans le script "à la main" apres l'instalation en faisant :
depmod -a
modprobe -r ath5k
modprobe ath5k

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 12:57
par FoolEcho
J'ai corrigé mon message, il manque un guillemet dans le .install:

Code : Tout sélectionner

  echo " > Reloading ath5k module..."
.

:resolu: (en attendant que le patch soit éventuellement inclu dans le noyau...)
Tu pourrais changer le titre d'ailleurs (préciser que le sujet parle de ath5k) ?

Re: [patch] Patch noyau

Publié : mar. 01 mai 2012, 13:51
par alex-gus
oui possible ^^