Blaise Braye, IT Edition

Aller au contenu | Aller au menu | Aller à la recherche

mardi, 6 novembre 2007

Kernel panic au réveil

Wao une belle grosse frayeur ce matin en allumant la bête :D

je me rend compte un peu tard qu'elle boot sur le nouveau kernel, celui qui est défectueux lol... Je me dis nonnnn!! Il va encore falloir attendre une heure pour redémarrer proprement, marre.

à l'arrache, j'appuie sur le bouton reset du pc et je demande un démarrage classique sur le noyau précédent...

est-ce qu'il me dit pas kernel panic??? çà le fait vraiment pas, je reset à nouveau, même message... je lit un peux plus et il me dit qu'il arrive pas à lire la partition de swap... qu'est-ce que c'est que cette histoire? je me dit... peut-être qu'elle a besoin de se reposer hihi, j'éteins l'ordi, je le débranche et je plonge sous la douche (sans l'ordi hein)

Quand j'en sors, je relance la machine et voilà qu'elle se porte comme un charme!

Je me disais bien qu'une journée aussi ensoleillé ne pouvait pas commencer avec un pur crash system!!

malheureusement, à ce stade du boot, les logs ne sont pas encore lancés et je ne pourrai donc savoir exactement ce qui s'est passé...

lundi, 5 novembre 2007

Problème d'irq dans mon nouveau noyau

Voici une semaine que la mise à jour de mon noyau (2.6.23.1-10.fc7-i686) sous fedora a été effectuée automatiquement. Si tout allait bien jusque là, il semble que ce ne soit plus d'actualité; à l'heure où j'écris ce texte, j'ai du repasser dans la version antérieure que j'utilisais (2.6.22.9-91.fc7-i686).

Avec le nouveau kernel, deux problèmes majeurs sont apparents. premièrement, mon matériel usb n'est plus reconnu à chaud. deuxio, et c'est le plus embêtant, une fois booté, il faut plus ou moins attendre une minutes pour que le son cesse de fonctionner ainsi que le wifi.

Voici ce que le syslog me dit sur cette fameuse minute qui fout le brin.

[Bash]
    Nov 4 17:46:54 Bujeman kernel: irq 10: nobody cared (try booting with the "irqpoll" option)
    Nov 4 17:46:54 Bujeman kernel: [<c045ad5e>] __report_bad_irq+0x36/0x75
    Nov 4 17:46:54 Bujeman kernel: [<c045af74>] note_interrupt+0x1d7/0x213
    Nov 4 17:46:54 Bujeman kernel: [<c045a41f>] handle_IRQ_event+0x23/0x51
    Nov 4 17:46:54 Bujeman kernel: [<c045b8a3>] handle_level_irq+0x88/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c045b81b>] handle_level_irq+0x0/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c04074cf>] do_IRQ+0x8c/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c0405b6f>] common_interrupt+0x23/0x28
    Nov 4 17:46:54 Bujeman kernel: [<c0431dd6>] __do_softirq+0x56/0xd3
    Nov 4 17:46:54 Bujeman kernel: [<c04073e1>] do_softirq+0x6c/0xce
    Nov 4 17:46:54 Bujeman kernel: [<c045b81b>] handle_level_irq+0x0/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c0431ca9>] irq_exit+0x38/0x6b
    Nov 4 17:46:54 Bujeman kernel: [<c04074e2>] do_IRQ+0x9f/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c0405b6f>] common_interrupt+0x23/0x28
    Nov 4 17:46:54 Bujeman kernel: [<c061c5c1>] _spin_unlock_irqrestore+0xa/0x13
    Nov 4 17:46:54 Bujeman kernel: [<f885629b>] ehci_urb_enqueue+0x234/0xc97 [ehci_hcd]
    Nov 4 17:46:54 Bujeman kernel: [<c0425d51>] enqueue_entity+0x2dd/0x307
    Nov 4 17:46:54 Bujeman kernel: [<c042ab51>] check_preempt_curr_fair+0x6b/0x71
    Nov 4 17:46:54 Bujeman kernel: [<c04264a0>] __wake_up+0x32/0x43
    Nov 4 17:46:54 Bujeman kernel: [<c043a502>] insert_work+0x50/0x53
    Nov 4 17:46:54 Bujeman kernel: [<c057a38e>] usb_hcd_submit_urb+0x6ca/0x770
    Nov 4 17:46:54 Bujeman kernel: [<c0431cc4>] irq_exit+0x53/0x6b
    Nov 4 17:46:54 Bujeman kernel: [<c04074e2>] do_IRQ+0x9f/0xb9
    Nov 4 17:46:54 Bujeman kernel: [<c0425d51>] enqueue_entity+0x2dd/0x307
    Nov 4 17:46:54 Bujeman kernel: [<c0405b6f>] common_interrupt+0x23/0x28
    Nov 4 17:46:54 Bujeman kernel: [<f8cfbbb4>] wrap_alloc_urb+0x288/0x292 [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cfbc1d>] wrap_submit_urb+0x5f/0x113 [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cfc04f>] wrap_submit_irp+0x2f2/0xc2b [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cec4c3>] NdisInterlockedDecrement+0x9/0xc [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cf5193>] pdoDispatchDeviceControl+0xe/0x28 [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cf3424>] IofCallDriver+0x80/0xaf [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cf3ca1>] IofCompleteRequest+0x8f/0x13f [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cfca34>] wrap_urb_complete_worker+0x0/0x24c [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cfcc25>] wrap_urb_complete_worker+0x1f1/0x24c [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<f8cfca34>] wrap_urb_complete_worker+0x0/0x24c [ndiswrapper]
    Nov 4 17:46:54 Bujeman kernel: [<c043a3e3>] run_workqueue+0x7d/0x109
    Nov 4 17:46:54 Bujeman kernel: [<c043d4fb>] prepare_to_wait+0x24/0x3f
    Nov 4 17:46:54 Bujeman kernel: [<c043ac3c>] worker_thread+0x0/0xc4
    Nov 4 17:46:54 Bujeman kernel: [<c043acf6>] worker_thread+0xba/0xc4
    Nov 4 17:46:54 Bujeman kernel: [<c043d3b1>] autoremove_wake_function+0x0/0x35
    Nov 4 17:46:54 Bujeman kernel: [<c043d2ea>] kthread+0x38/0x5e
    Nov 4 17:46:54 Bujeman kernel: [<c043d2b2>] kthread+0x0/0x5e
    Nov 4 17:46:54 Bujeman kernel: [<c0405dbb>] kernel_thread_helper+0x7/0x10
    Nov 4 17:46:54 Bujeman kernel: =======================
    Nov 4 17:46:54 Bujeman kernel: handlers:
    Nov 4 17:46:54 Bujeman kernel: [<c0579368>] (usb_hcd_irq+0x0/0x4e)
    Nov 4 17:46:54 Bujeman last message repeated 2 times
    Nov 4 17:46:54 Bujeman kernel: [<f89b0f8e>] (snd_intel8x0_interrupt+0x0/0x1e2 [snd_intel8x0])
    Nov 4 17:46:54 Bujeman kernel: [<f893cc27>] (sis900_interrupt+0x0/0x5e9 [sis900])
    Nov 4 17:46:54 Bujeman kernel: Disabling IRQ #10
    Nov 4 17:46:54 Bujeman kernel: ndiswrapper (iw_get_freq:278): getting configuration failed (C00002B6)
    Nov 4 17:46:54 Bujeman kernel: ndiswrapper (get_ndis_encr_mode:741): getting encryption status failed (C00002B6)
    Nov 4 17:46:54 Bujeman kernel: ndiswrapper (iw_get_essid:126): getting essid failed (C00002B6)
    Nov 4 17:46:54 Bujeman kernel: ndiswrapper (iw_get_infra_mode:214): getting operating mode failed (C00002B6)
    Nov 4 17:46:55 Bujeman kernel: ndiswrapper (iw_get_network_type:258): getting network type failed: C00002B6
    Nov 4 17:46:55 Bujeman kernel: ndiswrapper (iw_get_freq:278): getting configuration failed (C00002B6)
    Nov 4 17:46:55 Bujeman kernel: ndiswrapper (get_ndis_encr_mode:741): getting encryption status failed (C00002B6)
    Nov 4 17:46:55 Bujeman kernel: ndiswrapper (iw_get_essid:126): getting essid failed (C00002B6)
    Nov 4 17:46:55 Bujeman kernel: ndiswrapper (iw_get_infra_mode:214): getting operating mode failed (C00002B6)


J'ai posté mon problème sur le forum de fedora et l'on m'a répondu assez rapidement que je devais travailler sur les options de boot de mon kernel... Dans l'instant, je me demande ce que c'est pour du chinoix? où est-ce qu'on règle çà? ne vais-je pas faire de bêtises supplémentaires? Puis, prenant mon courage à deux mains, je plonge sur google et je lis des histoire de compilation de noyau, de modifications des modules à charger,...

Je tombe sur ce blog qui me parle de services, de drivers,... de démarrage système en gros; il ne m'apporte pas une grand intérêt si ce n'est l'outil qu'il utilise pour analyser le démarrage d'une machine de manière concrète, c'est pourquoi je tiens à en garder une trace pour un éventuel approfondissement à l'avenir.

La seconde page visitée est de loin bien plus intéressante : comment compiler son noyeau. Tout ne semble pas d'actualité mais çà m'en dit assez pour comprendre vers où je vais. A la différence de ce tutoriel, pour exécuter le front end graphique de configuration du futur noyau, je tape make xconfig (taper make help pour voir toutes les commandes offertes par le MakeFile en un coup d' oeil )

Dans tous les cas l'interface est bien foutu; à chaque sélection d'une option j'ai un message d'information dans une fenêtre supplémentaire qui me dit à quoi sert l'option sélectionnée.

Pour vérifier que la configuration du kernel est en ordre, j'ai simplement comparé les options sélectionnées entre l'ancien noyau et le nouveau.

Après vérification, je me résous à penser que la solution est ailleurs... il semble qu'il y ai moyen de chipoter à des options supplémentaires à partir du boot comme expliqué ici

après modification de la ligne de commande de boot dans grub (en ajoutant au bou "irqpoll" je n'ai plus de problème avec le son et ethernet mais le wifi reste instable:

[Bash]
Nov 5 12:10:16 Bujeman kernel: ndiswrapper (iw_get_network_type:258): getting network type failed: C00002B6
Nov 5 12:10:16 Bujeman kernel: ndiswrapper (iw_get_freq:278): getting configuration failed (C00002B6)
Nov 5 12:10:16 Bujeman kernel: ndiswrapper (get_ndis_encr_mode:741): getting encryption status failed (C00002B6)
Nov 5 12:10:16 Bujeman kernel: ndiswrapper (iw_get_essid:126): getting essid failed (C00002B6)
Nov 5 12:10:16 Bujeman kernel: ndiswrapper (iw_get_infra_mode:214): getting operating mode failed (C00002B6)
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (iw_get_range:1443): getting bit rates failed: C00002B6
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (iw_get_network_type:258): getting network type failed: C00002B6
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (iw_get_freq:278): getting configuration failed (C00002B6)
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (get_ndis_encr_mode:741): getting encryption status failed (C00002B6)
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (iw_get_essid:126): getting essid failed (C00002B6)
Nov 5 12:10:18 Bujeman kernel: ndiswrapper (iw_get_infra_mode:214): getting operating mode failed (C00002B6)

J'ai cherché encore une bonne paire d'heure après un moyen de résoudre ce conflit, je me suis retrouvé sur cette page qui propose de réinstaller la dernière version de ndiswrapper via subversion... rien n'y fait, je dois actuellement accepter de rester sur l'ancien noyau avec les risques que çà comporte.