Carte DVB Nexus // CVS // 2.6.11-rc2

Carte DVB Nexus // CVS // 2.6.11-rc2 - Installation - Linux et OS Alternatifs

Marsh Posté le 10-02-2005 à 23:57:01    

Bonsoir à tous,
 
Cela fait quelques jours que j'essaie de faire  marcher ma carte dvb Nexus sous
 Mdk 2.6.11rc2 + driver CVS. J'aimerais m'assurer que je n'ai rien oublié  
dans ma procédure :  
 
1/ installation de Mdk 10.1 (2.6.8)
2/ Reboot
3/ maj noyau 2.6.8 => 2.6.11-rc2
- detar fichier /usr/src/linux-2.6.11-rc2
- création lien symbolique "linux"
- make menuconfig
- make bzImage
- make modules
- make modules_install
- make install
- gestionnaire de démarrage => création nouvelle entrée
- Reboot
4/ Pilote CVS
- activation de hot-plug dans les services
- copie "dvb-ttpci-01.fw" => /lib/hotplug/firmware/  
- detar pilote cvs "dvb-kernel-20050203.tar.tar"
- création du lien symbolique DVB  
- /usr/local/src/DVB/make  
- /usr/local/src/DVB/build-2.6/./MAKEDEV-DVB.sh  
- /usr/local/src/DVB/build-2.6/./insmod.sh load  
 
Erreurs au chargement :
Inserting DVB modules into kernel
FATAL: Module crc32 not found.
 
Après recherches, je ne trouve aucun crc32.ko sur le disque.  
J'ai essayé  de continuer sans.
 
On m'a conseillé de charger à la main les pilotes de ma Nexus via modprobe. J'ai pu charger "stv0299" et "dvb-ttpci". => j'ai obtenu très brièvement une mire à l'écran de la télé.  
 
J'ai continué en compilant l'appli dvb (VDR), qui s'arrête avec le msg suivant :
 
In file included from dvbosd.c:11:
/usr/include/linux/dvb/osd.h:104: error: variable or field `__user' declared void
/usr/include/linux/dvb/osd.h:104: error: expected `;' before '*' token
dvbosd.c: In member function `void cDvbOsd::Cmd(OSD_Command, int, int, int, int, int, const void*)':
dvbosd.c:102: error: 'struct osd_cmd_t' has no member named 'data'
make: *** [dvbosd.o] Erreur 1
 
 
Pourriez-vous me donner votre avis sur le séquencement opéré, ainsi que sur le message d'erreur ?  
 
D'avance merci.
 
 
 
 
 

Reply

Marsh Posté le 10-02-2005 à 23:57:01   

Reply

Marsh Posté le 11-02-2005 à 07:37:02    

crc32.ko c'est un module du noyau dans la section crytpo me semble :)

Reply

Marsh Posté le 11-02-2005 à 16:29:55    

Par rapport à ton message d'erreur, je pense qu'il va chercher le mauvais fichier .h
regarde si osd.h n'existe dans ton driver chopé en CVS:

find /usr/local/src -name osd.h


si c'est le cas, ce que tu peux tenter de faire pour résoudre ton problème c'est copier le fichier le plus récent à la place de l'ancien (en pensant à sauvegarder l'ancien)

cp /usr/include/linux/dvb/osd.h /usr/include/linux/dvb/osd.h.old
cp /usr/local/src/DVB/je_sais_pas_quoi/osd.h /usr/include/linux/dvb/osd.h


et tu retentes la compil' (je ne serais pas surpris que tu doives faire cette manip sur plusieurs fichiers)

Reply

Marsh Posté le 11-02-2005 à 23:09:34    

Non.
Tu édites tout simplement le Makefile du rép VDR.
avec DVBDIR="/usr/local/src/DVB"
(et fais idem avec le fichier runvdr)
 
++

Reply

Marsh Posté le 11-02-2005 à 23:49:58    

0liv a écrit :


si c'est le cas, ce que tu peux tenter de faire pour résoudre ton problème c'est copier le fichier le plus récent à la place de l'ancien (en pensant à sauvegarder l'ancien)

cp /usr/include/linux/dvb/osd.h /usr/include/linux/dvb/osd.h.old
cp /usr/local/src/DVB/je_sais_pas_quoi/osd.h /usr/include/linux/dvb/osd.h


et tu retentes la compil' (je ne serais pas surpris que tu doives faire cette manip sur plusieurs fichiers)


Merci Oliv !
cp /usr/local/src/dvb-kernel/linux/include/linux/dvb/osd/h (+ récent)
vers
/usr/include/linux/dvb/osd.h (+ ancien)
 
a résolu le problème de compilation; j'ai pu lancer l'application VDR, après avoir chargé les pilotes du noyau 2.6.11 :
modprobe stv0299
modprobe dvb-ttpci
 
Je vais maintenant retravailler sur le pilote CVS.
 
Juste une précision : dois-je recompiler mon noyau en virant toute la partie pilotes DVB, ou puis-je les laisser en module (si j'appelle uniquement les pilotes CVS, il ne devrait pas y avoir de conflits, non ?)
 
Je poste la suite demain.
 
 
 
 

Reply

Marsh Posté le 11-02-2005 à 23:53:09    

riot a écrit :

Non.
Tu édites tout simplement le Makefile du rép VDR.
avec DVBDIR="/usr/local/src/DVB"
(et fais idem avec le fichier runvdr)
 
++


Je préfère l'autre méthode, même si c'est moins propre.
Car la version de VDR que j'utilise est en développement, il en sort une par semaine.
(Elle m'évite de devoir modifier chaque nouvelle version de VDR avant compilation).
 
Merci en tout cas.
 

Reply

Marsh Posté le 12-02-2005 à 14:23:16    

Citation :

Juste une précision : dois-je recompiler mon noyau en virant toute la partie pilotes DVB, ou puis-je les laisser en module (si j'appelle uniquement les pilotes CVS, il ne devrait pas y avoir de conflits, non ?)


si justement je pense qu'il peut y avoir des conflits au niveau de la table des symboles (mais bon j'en suis pas sûr)... donc il est quand même préférable de tester en virant le support DVB du noyau
ps:

Citation :

3/ maj noyau 2.6.8 => 2.6.11-rc2
- detar fichier /usr/src/linux-2.6.11-rc2
- création lien symbolique "linux"
- make menuconfig
- make bzImage
- make modules
- make modules_install
- make install


pour un noyau 2.6 certaines de ces étapes sont inutiles...
essaie: make menuconfig
make
make modules_install
et éventuellement make install si t'as pas envie de recopier à la main le bzImage et System.map au bon endroit ;)

Reply

Marsh Posté le 15-02-2005 à 23:01:54    

Me revoici...
 
J'ai recompilé mon noyau 2.6.11rc2 en désactivant la totalité du support DVB. J'ai ensuite "détaré" le dernier pilote cvs "dvb-kernel-20050215.tar.tar"
pui lancé un make  
en fin de séquence, j'obtiens les erreurs ci-dessous:
 
 
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c: In function `samsung_tbmu24112_pll_set':
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c:63: warning: unused variable `msg'
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c: In function `skystar23_samsung_tbdu18132_pll_set':
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c:193: warning: unused variable `msg'
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c: At top level:
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c:124: warning: 'samsung_tbmu24112_config' defined but not used
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c:182: warning: 'samsung_tdtc9251dh0_config' defined but not used
/usr/local/src/dvb-kernel/build-2.6/b2c2-common.c:210: warning: 'skystar23_samsung_tbdu18132_config' defined but not used
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvbdev.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dmxdev.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_demux.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_filter.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_ca_en50221.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_frontend.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_net.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb_ringbuffer.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-core.o
/usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-core.c: In function `dibusb_find_device':
/usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-core.c:408: warning: ISO C90 forbids mixed declarations and code
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-dvb.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-fe-i2c.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-firmware.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-remote.o
  CC [M]  /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-usb.o
make[3]: *** Pas de règle pour fabriquer la cible « /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-pid.s », nécessaire pour « /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-pid.o ». Arrêt.
make[2]: *** [_module_/usr/local/src/dvb-kernel/build-2.6] Erreur 2
make[2]: Leaving directory `/usr/src/linux-2.6.11-rc2'
make[1]: *** [all] Erreur 2
make[1]: Leaving directory `/usr/local/src/dvb-kernel/build-2.6'
make: *** [all] Erreur 2
[root@PCTEST DVB]#

 
Qu'en pensez-vous ?

Reply

Marsh Posté le 16-02-2005 à 13:46:41    

Code :
  1. touch /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-pid.s

?
 
sinon:

kafifi a écrit :

Je préfère l'autre méthode, même si c'est moins propre.
Car la version de VDR que j'utilise est en développement, il en sort une par semaine.
(Elle m'évite de devoir modifier chaque nouvelle version de VDR avant compilation).
 
Merci en tout cas.


Il suffirait juste de changer le Makefile et le runvdr.


Message édité par Riot le 16-02-2005 à 13:49:51
Reply

Marsh Posté le 16-02-2005 à 15:08:58    

Citation :

Pas de règle pour fabriquer la cible « /usr/local/src/dvb-kernel/build-2.6/dvb-dibusb-pid.s »


les .s c'est pas des fichiers assembleurs  :??: donc ça devrait faire partie du code source...

Reply

Marsh Posté le 16-02-2005 à 15:08:58   

Reply

Marsh Posté le 17-02-2005 à 11:48:37    

Ou mieux, tu choisis dans le Makefile ce que tu compileras.
Tu n'as peut-être pas besoin des drivers DVB pour une carte usb.

Reply

Marsh Posté le 19-02-2005 à 21:47:39    

Bonsoir à tous,
 
Après pas xx manips et une mise à jour, voici ou j'en suis :
 
1/ maj + compilation noyau 2.6.11-rc4 **sans aucun support dvb**  => OK
2/ installation pilotes cvs 16-02-2005 => OK
3/ make + MAKEDEV-DVB.sh => OK
4/ analyse des drivers nécessaires à mes cartes ff (1xNexus & 1xtechnotrend)
5/ modification de insmod.sh pour ne garder que les pilotes utiles (cf fichier en enclose)
6/ installation de vdr-1.3.21 => OK
 
=> Les modules se chargent presque tous, et vdr se lance, en reconnaissant les 2 cartes.
 
Les 3 modules récalcitrants sont :
FATAL : Module modprobe i2c-core not found
FATAL : Module modprobe crc32 not found
FATAL : Module modprobe evdev not found
 
Nb : il me semble que les 1er et 3ème sont importants (je les ai vues dans ma config 2.4.26).
En revanche, le crc32 ne me dit rien.
 
i2c-core : il devrait être créé à la compilation du noyau  
crc32  : idem
evdev  : ayant désactivté le support dvb à la compilation, il est normal qu'il soit absent.
 
 
C'est là ou j'ai besoin d'aide. Comment dois-je faire pour créer / charger ces modules ? Sont-ils tous nécessaires ?
 
Oliv, si tu es toujours là, help ;-)

Reply

Marsh Posté le 20-02-2005 à 14:16:12    

Citation :

FATAL : Module modprobe i2c-core not found
FATAL : Module modprobe crc32 not found
FATAL : Module modprobe evdev not found


c'est clair que sans i2c-core t'es dans le caca :)
alors faut déja savoir si il est compilé dans le noyau ou en tant que module... si c'est dans le noyau tu peux virer les "insmod" correspondant... si c'est en tant que module: tu fais:

cp /lib/modules/2.6.11-rc4/kernel/drivers/i2c/i2c-core.ko /usr/local/src/dvb-kernel/...


et tu fais ça pour les 2 premiers.

Citation :

evdev  : ayant désactivté le support dvb à la compilation, il est normal qu'il soit absent.


bon c'est donc qu'il faut que t'actives le support DVB (en tant que module si possible) mais tu ne mets aucun module supplémentaire

Reply

Marsh Posté le 20-02-2005 à 14:48:30    

kafifi a écrit :

i2c-core : il devrait être créé à la compilation du noyau  
crc32  : idem


Oui enfin si tu les a mis en modules, hein!
 

kafifi a écrit :

evdev  : ayant désactivté le support dvb à la compilation, il est normal qu'il soit absent.


Rien à voir. evdev est ailleurs.

Reply

Marsh Posté le 20-02-2005 à 16:49:43    

c'est clair que sans i2c-core t'es dans le caca :)
alors faut déja savoir si il est compilé dans le noyau ou en tant que module... si c'est dans le noyau tu peux virer les "insmod" correspondant... si c'est en tant que module: tu fais:

cp /lib/modules/2.6.11-rc4/kernel/drivers/i2c/i2c-core.ko /usr/local/src/dvb-kernel/...


 
@oliv, @riot,
J'avance grâce à vous.
 
Je viens de vérifier, il n'y a ni   i2c-core.ko   ni    crc32.ko
dans      /lib/modules/2.6.11-rc4/kernel/drivers/i2c/
Comme je ne sais pas vérifier s'ils sont en dur, je préfère l'option modules. J'ai donc modifié mon config et recompilé. Cette fois, le fichier i2c-core.ko est présent, et le module se charge correctement.  
 
EDIT : je viens de me rendre compte que modprobe i2c-core charge en mémoire un module i2C_core
J'ai été obligé de modifier le rmmod du script.
 
 
Il ne reste plus que 2 modules KO.
 
crc32
=> j'ai cherché dans les paramètres, apparemment il est impossible de l'utiliser en module. Comment puis-je vérifier qu'il est en dur ? (Une fois la vérification faite, j'enlèverai le insmod correspondant).
 
evdev
Je ne sais pas ou est ce paramètre. Pouvez-vous m'aiguiller ?
 
NB :  
J'ai essayé plusieurs options de config, suivies de recompilations.
- Lorsque je n'active pas le support DVB, il manque des éléments (ex i2c-core).
- Lorsque j'en active trop, j'ai des conflits au chargement de certains modules (pb de symbol)
 
A+


Message édité par kafifi le 20-02-2005 à 17:08:09
Reply

Marsh Posté le 20-02-2005 à 17:09:40    

Citation :

evdev
Je ne sais pas ou est ce paramètre. Pouvez-vous m'aiguiller ?
 


dans:
Device Drivers  --->  
   Input device support  --->
      < M > Event interface (et il te generera un module evdev.ko)
 

Citation :

- Lorsque je n'active pas le support DVB, il manque des éléments (ex i2c-core).


pas normal vu qu'il n'a rien à faire (au niveau compil noyau) avec le support DVB. i2c-core est dans "I2C support" alors que le DVB est dans "Multimedia devices"

Citation :

crc32
=> j'ai cherché dans les paramètres, apparemment il est impossible de l'utiliser en module. Comment puis-je vérifier qu'il est en dur ? (Une fois la vérification faite, j'enlèverai le insmod correspondant).


[17:11][root@gentoo /usr/src/linux]#grep CRC32 .config
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRC32=m
CONFIG_LIBCRC32C=m


pourtant moi j'arrive à tous les mettre en modules :??:  enfin tu fais ton grep sur CRC32 dans le .config et si tu vois "m" ou "y" c'est que c'est bon ;)
 
Oliv'

Reply

Marsh Posté le 20-02-2005 à 18:42:58    

evdev est OK (après modif config + compilation)
 
> pas normal vu qu'il n'a rien à faire (au niveau compil noyau) avec le support DVB.  
> i2c-core est dans "I2C support" alors que le DVB est dans "Multimedia devices"
=> Je viens de vérifier, tu as raison.
 
> pourtant moi j'arrive à tous les mettre en modules :??:  enfin tu fais ton grep sur CRC32 dans le  
> .config et si tu vois "m" ou "y" c'est que c'est bon ;)
 
Ici, sous MDK 10.1, c'est différent je ne sais pourquoi."makemenuconfig" m'empêche certains choix. Dans make menuconfig, à la page "library routines", j'ai :  
<M> CRC-CCITT functions
--- CRC32 functions <= cette ligne est verrouillée
<M> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check

 
Ce qui est cohérent avec le résultat de  
grep CRC32 nodvb04  
 
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRC32=y
CONFIG_LIBCRC32C=m
 
En résumé, le seul pb résiduel est crc32.
A priori, il est "en dur". Puisque les modules sont chargés et que je n'ai aucun msg  
d'erreur, cela signifie que crc32 "en dur" a été trouvé, non ?
 
Quel est votre avis ?

Reply

Marsh Posté le 20-02-2005 à 23:34:07    

S'il est en dur, il ne peut pas charger le module (ultra-logique). Donc tu peux ne pas tenir compte de ce message d'erreur.

Reply

Marsh Posté le 21-02-2005 à 00:38:32    

juste par curiosité c'est une nexus dvb-c pour le cable ou dvb-s pour le sat que tu as.  
 
la version cable est presque identique a celle du sat...
 
kafifi tu as fais très bon choix, la nexus  :ouch:

Reply

Marsh Posté le 21-02-2005 à 19:11:27    

Citation :

CONFIG_CRC32=y


donc oui il est en dur donc pas de pbes ;)

Reply

Marsh Posté le 21-02-2005 à 19:27:36    

weed a écrit :

juste par curiosité c'est une nexus dvb-c pour le cable ou dvb-s pour le sat que tu as.  
 
la version cable est presque identique a celle du sat...
 
kafifi tu as fais très bon choix, la nexus  :ouch:


 
2 cartes cohabitent : Nexus dvb-s + Technotrend sat
 
A+
 

Reply

Marsh Posté le 21-02-2005 à 19:30:11    

riot a écrit :

S'il est en dur, il ne peut pas charger le module (ultra-logique). Donc tu peux ne pas tenir compte de ce message d'erreur.


 
Je suis d'accord. Je me demandais en réalité comment vérifier que crc32 était bien intégré en dur.
 
J'imagine que si ce n'était pas le cas, j'aurais eu un msg d'erreur au chargement...
 
Merci.


Message édité par kafifi le 21-02-2005 à 19:31:04
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed