PDA

Voir la version complète : Linux et carte TV



buz
16/10/2003, 19h28
Salut, j'ai un petit probleme.
J'essai d'installer le driver bttv 07.107 sur ma redhat 9. kernel 2.4.20-8
Mais vla quand je lance make, il me dit:
make[1]: Entering directory `/usr/src/linux-2.4.20-8'
make[1]: *** No rule to make target `bttv/bttv-0.7.107/driver'. Stop.

Bon je me doute il me manque qqc mais je ne sais pas quoi.
Merci

buz
16/10/2003, 19h49
En fait l'erreur vient bien avant, j'arrive pas a faire mes modules.
Il me marque :

/usr/src/linux-2.4.20-8/include/net/sock.h:1028: « do_softirq_Rf0a529b7 » non déclaré (première utilisation dans cette fonction)
/usr/src/linux-2.4.20-8/include/net/sock.h: Dans la fonction « sock_recv_timestamp »:
/usr/src/linux-2.4.20-8/include/net/sock.h:1276: AVERTISSEMENT: déclaration implicite de la fonction « put_cmsg_Rf39bf4d9 »
module.c: Dans la fonction « cipe_check_kernel »:
module.c:73: AVERTISSEMENT: déclaration implicite de la fonction « printk_R1b7d4074 »
/usr/src/linux-2.4.20-8/include/linux/skbuff.h: Dans la fonction « kunmap_skb_frag »:
/usr/src/linux-2.4.20-8/include/linux/skbuff.h:1129: AVERTISSEMENT: opérande asm 1 ne concorde pas probablement avec les contraintes
make[3]: *** [module.o] Erreur 1
make[3]: Quitte le répertoire `/usr/src/linux-2.4.20-8/drivers/addon/cipe'
make[2]: *** [_modsubdir_cipe] Erreur 2
make[2]: Quitte le répertoire `/usr/src/linux-2.4.20-8/drivers/addon'
make[1]: *** [_modsubdir_addon] Erreur 2
make[1]: Quitte le répertoire `/usr/src/linux-2.4.20-8/drivers'
make: *** [_mod_drivers] Erreur 2

que dois-je faire reinstaller les sources?

Minuteman
16/10/2003, 22h08
Tu as installé gcc, glibc-kernheaders et le kernel-source?

Maxou
16/10/2003, 23h42
Une petite question rapide au passage, je cherche justement à mettre gcc sur une Redhat mais il me faut plein d'autres packages pour pouvoir l'installer.Comment connait-on la liste de tous les packages à installer, cad la liste "récursive"?

Minuteman
17/10/2003, 08h25
Il te les donne au moment ou tu veux installer gcc...ensuite tu résouds les dépendances au fur et à mesure :p

buz
17/10/2003, 10h07
Je voudrai savoir, car j'ai installé kernelsource.2.4...rpm donc c'est bon mais quand tu installe ce rpm est ce qu'il recré un repertoire /usr/src/linux-2.***
car je l'ai installé mais il ne m'a pas crée le repertoie.
Kernelheaders est normalement integré au rpm kernel source.

en fait je veux reinstaller le repertoire /usr/src/linux-2.****

Minuteman
17/10/2003, 13h41
Nan, kernelheaders est pas intégré au kernel source dans ce cas.
Tu as bien installé les sources du kernel identiques à la version de ton kernel?

buz
17/10/2003, 13h55
Vi, c'est lniux kernel2.4.20-8-athmon.rpm
ma machine c'est un xp donc c'est ca et quand je fait rpm ivh blabla, il me dit que le rpm est deja installé alors je fait rpm ivh --force bla bla mais il ne remet pas le dossier.
Faut que je remette kernelheaders alors bon beh je vais voir si je le trouve. et ca doit me remettre mes sources?.

Peewee
17/10/2003, 14h18
/usr/src/linux-2.4.20-8/include/net/sock.h:1028: « do_softirq_Rf0a529b7 » non déclaré (première utilisation dans cette fonction)


Ton Noyau est configuré pour avoir des "versions" de modules :
CONFIG_MODVERSIONS=y dans ton fichier .config

Tu vires ça :) (les deux autres options sont bonnes)

Ensuite il faut complétement nettoyer les dépendances dans l'arbres des sources. make mrproper, et refaire la config du noyau (sauvegarde ton .config et recopie le c'est le plus rapide)

Eventuellement, make depend, make , make modules devrait suffire.

Retourne a la compilation de ton module.

De toute facon le driver de la bttv est DEJA inclus dans le noyau, la preuve :

i2c-core.o: i2c core module version 2.7.0 (20021208)
i2c-algo-bit.o: i2c bit algorithm module version 2.7.0 (20021208)
bttv: driver version 0.7.100 loaded
bttv: using 4 buffers with 2080k (8320k total) for capture
bttv: Host bridge is PCI device 8086:2570 (Intel Corp.)
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 02:0b.0, irq: 23, latency: 64, mmio: 0xf7efe000
bttv0: detected: Hauppauge WinTV/PVR [card=80], PCI subsystem ID is 0070:4500
bttv0: using: BT878(Hauppauge WinTV PVR) [card=80,autodetected]
bttv0: Hauppauge eeprom: model=45226, tuner=Philips FI1216MF MK2 (3), radio=no
bttv0: using tuner=3
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea642
0,tda8425,pic16c54 (PV951)
tuner: probing bt848 #0 i2c adapter [id=0x10005]
tuner: chip found @ 0xc2
tuner: type set to 3 (Philips (SECAM+PAL_BG) (FI1216MF, FM1216MF, FR1216MF))
bttv0: i2c attach [client=Philips (SECAM+PAL_BG) (FI1216MF,ok]
bttv0: PLL: 28636363 => 35468950 ... ok
bttv0: registered device video1
bttv0: registered device vbi0

buz
17/10/2003, 16h16
Ok merci pour ton aide je vais tester tout ca.

Juste le fichier config c'est celui qui est dans (/usr/src/linux2.4.**).
Est ce la peine de mettre a jour le driver?
Ton soft TV c'est quoi? xawdecode?
Merci encore je vous fais signe ca marche pas mieux.

Peewee
17/10/2003, 16h44
Mise a jour je en sais pas si ca vaut le coup. A voir dans les journaux des versions de ce drivers. J'ai aussi un 7.100 au lieu de 7.107, mais mon noyau a qqs mois :)

Il est possible que le driver de la bttv soit déjà sur ta machine.

Un petit coup de "modprobe bttv" et verifier dans /etc/modules si celui-ci est présent au démarrage (ou tout autre méthode correcte liée à la distribution de Linux que tu utilises)

Le journal que je t'ai mis c'est le démarrage de la carte. Perso je regarde la télé avec xawtv :) (à la vue des screenshoot de ton xawdecode c'est le meme base de logiciel apparement...)

buz
23/10/2003, 10h06
Bon ca marche presque mais c'est pas encore ca.
Je te donne ma procedure d'execution:
make mrproper
make xconfig : la je réactive plein de chose, la prise en charge des modules (désactiver par defaut :sweat: ),
Video For Linux M
V4L information in proc filesystem m
BT848 Video For Linux <M>
<M> I2C Support
<M> I2C bit-banging interfaces
<M> I2C device interface
puis je fait save and exit
make dep
make modules
make modules_install.
Tout se fait normalement
mais quand je reviens a la compilation du driver idem

make[1]: Entering directory `/usr/src/linux-2.4.20-8'
make[1]: *** No rule to make target `bttv/bttv-0.7.107/driver'. Stop.

modprobe bttv rien ne s'affiche

j'ai modifier le .cof comme tu as dit et j'ai inscrit dans /etc/modules.conf tout ce qu'il faut j'ai pas encore tester le soft

Mais je ne comprend pas prquoi il met cette erreur :??:

Peewee
24/10/2003, 04h21
Que donne le driver deja inclus dans le noyau ?
modprobe bttv, ca dit quoi ? :) dmesg apres cette commande pour voir eventuellement d'autres pipotage du driver.

Le "No rule to make trucmuche" : le Makefile est mal fouttu, le shell en cours est foireux, tu es pas root/autres problèmes de droit, tu as pas lu la doc de compilation parce qu'il faut passer une variable à make...

PS. Dans la doc de compilation y a cette instruction :
cd driver-version
make KDIR=/path/to/kernel/source/tree
make install

ici : http://bytesex.org/v4l/build.html