• [^] # Re: modinfo

    Posté par (site web personnel) . En réponse au message [Fairphone/PostmarketOS] : Adaptation d'un driver imx412 pour imx576. Évalué à 2.

    bah déjà tu as un kernel panic ('fin bon un warning mais c'est à peine mieux pour prendre en compte ton matériel) :/ ce n'est jamais très bon : souci d'initialisation de données, non adaptation/reconnaissance du matériel connecté... ça peut venir de pleins de choses.

    L'idée c'est d'être robuste et pouvoir réinitialiser au déchargement / rechargement du module...

    [Mar Avr 30 15:31:18 2024] qcom-camss acb3000.camss: VFE HW Version = 1.2.0
    [Mar Avr 30 15:31:18 2024] ------------[ cut here ]------------
    [Mar Avr 30 15:31:18 2024] camcc_ife_0_clk status stuck at 'off'
    [Mar Avr 30 15:31:18 2024] WARNING: CPU: 1 PID: 12398 at drivers/clk/qcom/clk-branch.c:87 clk_branch_toggle+0x174/0x18c
    [Mar Avr 30 15:31:18 2024] Modules linked in: msm gpu_sched drm_display_helper drm_exec
    [Mar Avr 30 15:31:18 2024] CPU: 1 PID: 12398 Comm: gst-launch-1.0 Tainted: G W 6.9.0-rc2 #1
    [Mar Avr 30 15:31:18 2024] Hardware name: Fairphone 4 (DT)
    [Mar Avr 30 15:31:18 2024] pstate: 604000c5 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
    [Mar Avr 30 15:31:18 2024] pc : clk_branch_toggle+0x174/0x18c
    [Mar Avr 30 15:31:18 2024] lr : clk_branch_toggle+0x174/0x18c
    [Mar Avr 30 15:31:18 2024] sp : ffff80008142b810
    [Mar Avr 30 15:31:18 2024] x29: ffff80008142b820 x28: 0000000000000003 x27: 0000000000000aa8
    [Mar Avr 30 15:31:18 2024] x26: 0000000000000000 x25: 0000000000000000 x24: 0000000000000001
    [Mar Avr 30 15:31:18 2024] x23: ffffb9ba890a1578 x22: 0000000000000001 x21: ffffb9ba894b5e80
    [Mar Avr 30 15:31:18 2024] x20: ffffb9ba8870ea38 x19: 0000000000000000 x18: 0000000000024500
    [Mar Avr 30 15:31:18 2024] x17: 0000000000000014 x16: 0000000000000030 x15: 0000000000000030
    [Mar Avr 30 15:31:18 2024] x14: 0000000000000000 x13: ffffb9ba8941e2c0 x12: 0000000000002e86
    [Mar Avr 30 15:31:18 2024] x11: 0000000000000f82 x10: ffffb9ba8948d6f0 x9 : ffffb9ba8941e2c0
    [Mar Avr 30 15:31:18 2024] x8 : 00000000ffffefff x7 : ffffb9ba894762c0 x6 : 0000000000000f82
    [Mar Avr 30 15:31:18 2024] x5 : ffff344bf9375848 x4 : ffff80008142b670 x3 : ffff7a9170110000
    [Mar Avr 30 15:31:18 2024] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff344b0236b000
    [Mar Avr 30 15:31:18 2024] Call trace:
    [Mar Avr 30 15:31:18 2024] clk_branch_toggle+0x174/0x18c
    [Mar Avr 30 15:31:18 2024] clk_branch2_enable+0x1c/0x28
    [Mar Avr 30 15:31:18 2024] clk_core_enable+0x6c/0xac
    [Mar Avr 30 15:31:18 2024] clk_enable+0x28/0x54
    [Mar Avr 30 15:31:18 2024] camss_enable_clocks+0xc0/0x100
    [Mar Avr 30 15:31:18 2024] vfe_get+0x474/0x5c4
    [Mar Avr 30 15:31:18 2024] vfe_set_power+0x30/0x58
    [Mar Avr 30 15:31:18 2024] pipeline_pm_power_one+0x144/0x158
    [Mar Avr 30 15:31:18 2024] pipeline_pm_power+0x74/0xfc
    [Mar Avr 30 15:31:18 2024] v4l2_pipeline_pm_use+0x54/0x90
    [Mar Avr 30 15:31:18 2024] v4l2_pipeline_pm_get+0x14/0x20
    [Mar Avr 30 15:31:18 2024] video_open+0x74/0xf0
    [Mar Avr 30 15:31:18 2024] v4l2_open+0x7c/0x11c
    [Mar Avr 30 15:31:18 2024] chrdev_open+0xc8/0x2b4
    [Mar Avr 30 15:31:18 2024] do_dentry_open+0x1a4/0x54c
    [Mar Avr 30 15:31:18 2024] vfs_open+0x2c/0x38
    [Mar Avr 30 15:31:18 2024] path_openat+0xb04/0xdd0
    [Mar Avr 30 15:31:18 2024] do_filp_open+0x9c/0x150
    [Mar Avr 30 15:31:18 2024] do_sys_openat2+0xc4/0x104
    [Mar Avr 30 15:31:18 2024] __arm64_sys_openat+0x64/0xac
    [Mar Avr 30 15:31:18 2024] invoke_syscall+0x48/0x110
    [Mar Avr 30 15:31:18 2024] el0_svc_common.constprop.0+0x40/0xe0
    [Mar Avr 30 15:31:18 2024] do_el0_svc+0x1c/0x28
    [Mar Avr 30 15:31:18 2024] el0_svc+0x34/0xd8
    [Mar Avr 30 15:31:18 2024] el0t_64_sync_handler+0x120/0x12c
    [Mar Avr 30 15:31:18 2024] el0t_64_sync+0x190/0x194
    [Mar Avr 30 15:31:18 2024] ---[ end trace 0000000000000000 ]---
    [Mar Avr 30 15:31:18 2024] qcom-camss acb3000.camss: clock enable failed: -16
    [Mar Avr 30 15:31:18 2024] qcom-camss acb3000.camss: Failed to power up pipeline: -16
    [Mar Avr 30 15:31:18 2024] qcom-camss acb3000.camss: VFE HW Version = 1.5.0

    => on ne voit pas très bien quelle action génère quelle trace : c'est toujours bien d'avoir un terminal affichant le journalctl -f en parallèle d'un terminal où l'on effectue les actions pour déterminer la réponse effective à chaque action.

    => pareil, je ne vois pas pourquoi tu passes de

    qcom-camss acb3000.camss: VFE HW Version = 1.2.0

    à

    qcom-camss acb3000.camss: VFE HW Version = 1.5.0

    pourquoi 2 versions différentes ? ça correspond à quoi ?

    J'ai du mal à interpreter les résultats de dmesg n'étant pas de l'info.

    ah c'était du dmesg et pas du journalctl ? => indique ta méthodologie pour débugguer :-)

    • en gros, il faut commencer par les couches basses : chargement du module par modprobe -i nom_module
    • logs correspondants, outils de diagnostic pour s'assurer que le matériel est correctement détecté
    • si ok, continuer avec actions de plus haut niveau, avec logs afférents
    • pareil outil de diagnostic que tout s'est correctement déroulé est correctement pris en compte (en s'assurant que dbus ne vient pas mettre la grouille au passage...)

    En gros, savoir effectuer les actions séquentiellement et manuellement plutôt que de s'appuyer sur trop d'automatisation qui complique l'analyse...

    La caméra est géré par liaison I2C et c'est le controlleur du driver camss qui renvoie cette erreur.

    déjà voir avec les utilisateurs/développeurs de ce pilote s'ils ont un forum/une mailing-list/un chan IRC ou autre...

    Ils te demanderont sans doute des informations complémentaires :

    • uname -a # pour voir quel noyau tu utilises
    • lspci -knn # pour voir quel matériel tu as et les éventuels pilotes le gérant
    • lsusb ; lsusb --tree # si c'est connecté en USB (a priori non) et quoi est connecté où

    d'après https://www.kernel.org/doc/html/latest/admin-guide/media/qcom_camss.html tu dois pouvoir contacter les gens de Linaro qui semblent avoir repris le sujet (je doute que qualcomm soit très coopératif vu que leurs docs' ne sont plus en ligne et dataient de 2016/2018...)

    ah... je vois que c'est GKH qui est intervenu sur
    https://git.codelinaro.org/clo/la/kernel/msm-3.18/

    bah, tu peux essayer de le contacter, il est sympa :-) (je l'ai rencontré au Fosdem et j'avais un peu bossé avec lui pour ueagle-atm), il t'orientera peut-être mieux vers des utilisateurs plus spécialistes que lui (évite la LKML, spa le meilleur endroit pour obtenir du support... outre le fait que tu risques de faire exploser ta boîte mail)

    Sinon, je vois que tu as un fairphone : essaie d'abord de voir sur leurs forums s'il y a d'autres utilisateurs dans ton cas.
    A priori, tu n'auras pas besoin de recompiler de noyau, les pilotes ça suffit généralement si les interfaces n'ont pas trop changé...

    Bon courage, tu n'es pas à l'abri de trouver un autre utilisateur ayant réussi à le faire fonctionner :-) Notez bien ce qui fonctionne correctement pour pouvoir avancer (et y revenir ensuite pour avoir une méthodologie reproductible)