Caméra non reconnue

ouai c’est le plus important.

Au collège, pour l’épreuve du Brevet, quand j’ai vu l’alignement au cordeau des tables et chaises dans la grande salle de restaurant… J’ai fait demi-tour illico !

salut

cela signifie qu’il faudra d’autres compilations?

La compilation qui a échoué faute de place a quand même créé des fichiers .ko .o … Par erreur je les ai détruit mais ne serait-il pas possible de les utiliser sur mon noyau 4.19 ? Et sur les suivants ce qui permettrait de faire les upgrade ? avec genre un
sudo modprobe machin.ko

Si tu veux un noyau épuré et plus petit en taille.
Il peut aussi te manquer au premier essai une fonctionnalité ou un pilote.

Une recompilation est souvent plus rapide quand tout a été conservé ;
(pas de make clean ou équivalent ; sauf peut-être en cas d’échec)

Si ton .config est bien réussi, ce n’est pas une obligation.
Et il n’y aura probablement pas de kernel upgrade à faire après.

Je pense que les modules compilés sont “versionnés” avec la version du noyau qui est compilée.
C’est à vérifier cependant. (CONFIG_MODVERSIONS)

root@n40l:~# grep CONFIG_MODVERSIONS /boot/config-4.9.0-9-amd64
CONFIG_MODVERSIONS=y
rem@n40l:~$ 

Donc, je ne pense pas que tu puisses les utiliser avec ton noyau 4.19
et les mettre à jour avec ce dernier.

Tu peux essayer, mais le 4.19 peut te jeter ou ton système ne pas apprécier.
Et compiler avec un 4.19 des modules pour les charger sur un 4.14.114 posera le même problème.

root@n40l:/lib/modules/3.16.0-4-amd64/kernel/drivers/media/tuners# uname -a
Linux n40l 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1 (2019-04-12) x86_64 GNU/Linux
root@n40l:/lib/modules/3.16.0-4-amd64/kernel/drivers/media/tuners# ls
it913x.ko  m88rs6000t.ko  msi001.ko  mxl301rf.ko  qm1d1c0042.ko
root@n40l:/lib/modules/3.16.0-4-amd64/kernel/drivers/media/tuners# modprobe ./it913x.ko 
modprobe: FATAL: Module ./it913x.ko not found in directory /lib/modules/4.9.0-9-amd64
root@n40l:/lib/modules/3.16.0-4-amd64/kernel/drivers/media/tuners#

Comment tu vas augmenter l’espace dispo nécessaire pour compiler le 4.14.114 ?
Je ne sais même pas dans quel emplacement l’occupation disque augmente pour cette compilation.

facile :
le disque démarrait sur un 30 Go - j’avais oublié depuis le temps
il y a un deuxième disque 500 Go mais j’avais laissé windows dessus vu les problèmes
j’ai donc décidé de diminuer la partition windows , puis un ext4 (/dev/sdb2) +swap
puis
mv /home /home0 && mkdir /home
création d’un point de montage dans fstab de sdb2 vers /home
mount -a
cp -a /home0/caro /home/
et c’est fait

1 J'aime

Salut

Donc la compilation va se faire dans le nouveau /home/caro sur sdb2 ?
Et tu as préservé une sauvegarde dans /home0/caro ?

Tu as quel espace libre dans sdb2 ?

Je pense qu’il doit exister une possibilité de compiler sur une machine A un noyau - ou toute autre source - destiné pour une machine B ; pour profiter de la puissance de la machine A.
Je n’en sais pas plus.

Alors ? la compilation est lancée ?
Ou tu peaufines le .config ?
Tu as trouvé facilement l’option pour l’écran tactile ?

Après réflexion, perso, je n’aurais pas repris les options du noyau 4.19
mais j’aurai fait avec ce que le 4.14.114 propose.

la blague : j’avais oublié de brancher l’ordi : plus de courant , obligé de rebooter
par contre j’ai essayé sans reprendre totu au début ( juste make deb-pkg) c’'est fini :slight_smile:
là je cherche les pages pour savoir comment l’utiliser sans tout casser :slight_smile:

pour l’instant ca ne marche pas
mt9m114
./include/config/video/mt9m114.h
./drivers/staging/media/atomisp/i2c/.mt9m114.mod.o.cmd
./drivers/staging/media/atomisp/i2c/mt9m114.o
./drivers/staging/media/atomisp/i2c/mt9m114.c
./drivers/staging/media/atomisp/i2c/mt9m114.mod.c
./drivers/staging/media/atomisp/i2c/.mt9m114.ko.cmd
./drivers/staging/media/atomisp/i2c/mt9m114.h
./drivers/staging/media/atomisp/i2c/mt9m114.ko
./drivers/staging/media/atomisp/i2c/mt9m114.mod.o
./drivers/staging/media/atomisp/i2c/.mt9m114.o.cmd
./debian/hdrtmp/usr/src/linux-headers-4.14.114/include/config/video/mt9m114.h
./debian/tmp/lib/modules/4.14.114/kernel/drivers/staging/media/atomisp/i2c/mt9m114.ko
./debian/dbgtmp/usr/lib/debug/lib/modules/4.14.114/kernel/drivers/staging/media/atomisp/i2c/mt9m114.ko
./.tmp_versions/mt9m114.mod

lsmod
mt9m114 28672 0
v4l2_common 16384 4 stkwebcam,gspca_main,via_camera,mt9m114
videodev 131072 6 gspca_vicam,v4l2_common,stkwebcam,gspca_main,via_camera,mt9m114
media 28672 2 videodev,mt9m114

uname -a
Linux roca 4.14.114 #1 SMP Wed May 1 05:58:53 UTC 2019 i686 GNU/Linux

logs ?

Il y a apparemment un oubli du module atomisp ; parfois un module est préférable.
https://cateee.net/lkddb/web-lkddb/VIDEO_ATOMISP.html

grep CONFIG_VIDEO_ATOMISP /boot/config-4.14.114-*

Bravo !
Pour la config, la compil et l’amorçage réussi :slight_smile:

merci

grep -i atomisp /boot/config-4.14.114 donne
CONFIG_INTEL_ATOMISP=y
grep -i mt9m /boot/config-4.14.114
CONFIG_VIDEO_MT9M114=m

il faut que je remplace le y par m ?

lesquels faudrait-il?
sudo dmesg |egrep -i ‘mt9m|atomsip|cam’
[ 8.238028] usbcore: registered new interface driver vicam
[ 8.241839] usbcore: registered new interface driver stkwebcam
[ 8.594013] mt9m114: module is from the staging directory, the quality is unknown, you have been warned.
[ 8.656068] mt9m114 i2c-INT33F0:00: gmin: initializing atomisp module subdev data.PMIC ID 1
[ 8.656448] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V1P8SX not found, using dummy regulator
[ 8.656493] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V2P8SX not found, using dummy regulator
[ 8.656510] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V1P2A not found, using dummy regulator
[ 8.656526] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply VPROG4B not found, using dummy regulator
[ 8.763201] mt9m114: module is from the staging directory, the quality is unknown, you have been warned.
[ 8.796593] mt9m114 i2c-INT33F0:00: camera pdata: port: 0 lanes: 1 order: 00000000
[ 8.860289] mt9m114 i2c-INT33F0:00: register atomisp i2c module type 1
[ 8.957053] intel_int0002_vgpio(E) asus_wireless(E) ac(E) industrialio(E) acpi_pad(E) mt9m114(CE) rfkill(E) i2c_mux(E) battery(E) snd_soc_core(E) snd_compress(E) pcc_cpufreq(E) pwm_lpss_platform(E) pwm_lpss(E) snd_firewire_tascam(E) snd_firewire_lib(E) snd_hwdep(E) snd_rawmidi(E) snd_seq_device(E) snd_pcm(E) snd_timer(E) snd(E) soundcore(E) firewire_core(E) crc_itu_t(E) stkwebcam(E) gspca_vicam(E) gspca_main(E) via_camera(E) videobuf_dma_sg(E) videobuf_core(E) viafb(E) v4l2_common(E) videodev(E) media(E) ledtrig_camera(E) camellia_generic(E) parport_pc(E) ppdev(E) lp(E) parport(E) efivarfs(E) ip_tables(E) x_tables(E) ext4(E) crc32c_generic(E) crc16(E) mbcache(E) jbd2(E) fscrypto(E) hid_asus(E) usbhid(E) uas(E) usb_storage(E) scsi_mod(E) mmc_block(E) i915(E) crc32c_intel(E) i2c_algo_bit(E) drm_kms_helper(E)

Dans l’absolu, “y” veut dire qu’il est intégré au noyau, donc pas de besoin de le “modprober”, et tout est peut être correct.
Mais il est possible que ça ai besoin que ça soit compilé en module pour lui passer des arguments, donc ça se teste.
Par contre, ne recommence pas à zéro, tu changes juste le flag dans la confi, et tu relance le make sans faire le clean, il ne recompilera que ce qu’il faut.

2 J'aime

ok
donc je tente en changeant le y par m dans le .config
je désinstalle les 4.14
et je relance le make
puis je réinstalle les 4.14 et je reboote desuus

le dmesg montre des erreurs intéressantes aussi :
[ 8.656448] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V1P8SX not found, using dummy regulator
[ 8.656493] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V2P8SX not found, using dummy regulator
[ 8.656510] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply V1P2A not found, using dummy regulator
[ 8.656526] mt9m114 i2c-INT33F0:00: i2c-INT33F0:00 supply VPROG4B not found, using dummy regulator

je n’avais pas fait attention :
la compilation a créé le headers et le image mais aussi linux-image-4.14.114-dbg_4.14.114-1_i386.deb et linux-libc-dev_4.14.114-1_i386.deb

avant de recompiler je les installe et je vois

oui, c’est intéressant.
Il y a aussi :

mt9m114: module is from the staging directory, the quality is unknown, you have been warned.

et

[ 8.957053] mt9m114(CE) # Le seul avec CE et non E
1 J'aime

bien joué je n’avais pas vu

là j’ai tenté un .config avec le m sur atomisp
au lancement du make :
make deb-pkg
HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/bin2c
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
.config:6853:warning: symbol value ‘m’ invalid for INTEL_ATOMISP
*
* Restart config…
*
*
* Enable support to Intel MIPI camera drivers
*
Enable support to Intel MIPI camera drivers (INTEL_ATOMISP) [N/y/?] (NEW)
j’ai appuyé sur entrée ( = new)

Donc tu désactives carrément INTEL_ATOMISP (choix N majuscule par défaut)
(NEW) indique que c’est un nouveau choix à faire ; sans valeur initiale changée.
Le choix ? aurait été intéressant pour avoir une petite aide.

On ne s’est pas trop occupé des firmwares pour le moment…
Il y a aussi le check pour vérifier si le pilote ISP a été chargé correctement.

Éditer le .config à la main n’est pas une bonne idée ; les dépendances ne sont pas gérées.

Pas trop de réussite

le check :

dmesg | grep atomisp
[ 1418.382343] mt9m114: Unknown symbol atomisp_register_i2c_module (err 0)

les firmware proposés sont

  • iaisp_2400_css.bin.big
  • iaisp_2400_css.bin.small
    mais locate iaisp ne donne rien

j’ai aussi tenté insmod videobuf2-core.ko sans résultat d’où

317 insmod /usr/lib/modules/4.14.114/kernel/drivers/media/v4l2-core/videobuf2-core.ko
318 insmod /usr/lib/modules/4.14.114/kernel/drivers/media/v4l2-core/videobuf2-memops.ko
319 insmod /usr/lib/modules/4.14.114/kernel/drivers/media/v4l2-core/videobuf2-dma-contig.ko
mais locate ov5640_1.ko et locate ov5640 ne donnent rien

j’ai quand même tenté un insmod /home/bruno/mt9m114-camera/linux-4.14.114-00/drivers/staging/media/atomisp/i2c/mt9m114.ko

mais
insmod: ERROR: could not insert module /home/bruno/mt9m114-camera/linux-4.14.114-00/drivers/staging/media/atomisp/i2c/mt9m114.ko: Unknown symbol in module

En essayant de nettoyer les répertoires j’ai vu un fichier modules.order qui contient une ligne :
kernel//home/caro/mt9m114-camera/mt9m114.ko
il date du 27 /4 donc une des premières tentatives.
jai un Makefile et aussi .tmp_versions .mt9m114.o.d mt9m114.c Makefile

Salut

As-tu téléchargé les deux fichiers de firmware ?
https://github.com/jfwells/linux-asus-t100ta/tree/master/webcam/firmware

Et les avoir copiés dans ton répertoire /lib/firmware ?
les deux fichiers copiés avec un mode 644 pour root ?

Et reboot ?

locate iaisp ne donne rien

Il faut un updatedb en root pour mettre à jour.

je tente donc avec

j’ai toujours l’histoire du noyau ( du config ) que j’utilise : il vient du 4.19.

Ça existe un make menuconfig ?
En reprenant avant la config 4.14.114 d’origine ? Celle de l’installation du paquet ?

euh maintenant c’est fait

fait, et maintenant que j’ai mis les fichiers ca donne
/usr/lib/firmware/iaisp_2400_css.bin.big
/usr/lib/firmware/iaisp_2400_css.bin.small

reboot !

… et Check !