OVH Cloud OVH Cloud

Modprobe unicorn_pci_atm impossible !

1 réponse
Avatar
Samuel
Bonjour,

Après deux jours de galère et de recherche sur google, je m'en remets à
vos lumières :

But du jeu : faire fonctionner une carte Bewan PCI St sur une Debian
Woody avec noyau 2.4.23 (reconnue sous WinXP sur un autre ordi)

J'ai récupéré les derniers drivers 0.7.6 sur le site Bewan.
J'ai essayé aussi les drivers précédents mais que ne passent plus à
cause de mon 2.4.23 je crois (plein de unresolved symbol).

Dans le dossier Unicorn, je fais un 'make && make install'
J'ai même modifié le MakeFile pour ne prendre en compte que les
sous-dossier : unicorntest tools unicorn_pci

La compil se passe bien, mais dès que je veux faire un 'modprobe
unicorn_pci_atm' j'ai droit à l'erreur suivante :

Warning: loading /lib/modules/2.4.23-compil-08/extra/unicorn_pci_atm.o
will taint the kernel: non-GPL license - Proprietary
/lib/modules/2.4.23-compil-08/extra/unicorn_pci_atm.o: init_module: No
such device or address
Hint: insmod errors can be caused by incorrect module parameters,
including invalid IO or IRQ parameters
/lib/modules/2.4.23-compil-08/extra/unicorn_pci_atm.o: insmod
/lib/modules/2.4.23-compil-08/extra/unicorn_pci_atm.o failed
/lib/modules/2.4.23-compil-08/extra/unicorn_pci_atm.o: insmod
unicorn_pci_atm failed
unicorn_pcidrv.c : unicorn_pci_init: no PCI cards found

MYSTIQUE :

Dans le fichier 'unicorn_pcidrv.c', j'ai modifié :

#define PCI_VENDOR_ID_ST 0x104a
#define PCI_DEVICE_ID_UNICORN 0x0500

Par les valeurs que me donnent un lspci -n pour ma carte Bewan :

#define PCI_VENDOR_ID_ST 0x14f1
#define PCI_DEVICE_ID_UNICORN 0x1610

La compil se passe bien, mais le 'modprobe unicorn_pci_atm' me donne
droit à un 'segmentation fault' OK
Mais là où c'est étrange, c'est qu'à partir de ce moment, je peux
remetttre les bonnes valeurs dans 'unicorn_pcidrv.c', REcompiler à
nouveau celui-ci ET A CE MOMENT-LA LE 'modprobe unicorn_pci_atm' VEUT
BIEN PASSER et la carte est montée.

Je précise qu'un lspci -v m'indique à priori une IRQ unique pour ma
carte Bewan.

Qui peut me dire ce qui plante, et surtout pourquoi ma carte n'accepte
de se monter qu'à condition qu'un modprobe me retourne un 'segmentation
fault' et que je recompile les drivers pour que cela passe ....
D'ailleurs si je reboote après avoir réussi à monter la carte, celle-ci
n'est plus reconnue, et je dois refaire la manipulation.

A l'aide !!!
Merci beaucoup.
Samuel.

1 réponse

Avatar
Samuel
Rebonjour,

En fait je crois que c'est bien un problème de version de matériel dans
le fichier unicorn_pci/unicorn_pcidrv.c
Si je laisse dans unicorn_pcidrv.c, les valeurs données par lspci -n la
carte veut bien monter même après un reboot.

Un lspci -n me donne (pour ma carte):
02:00.0 Class 0880: 14f1:1610 (rev 01)
02:00.1 Class 0203: 14f1:1611 (rev 01)

J'ai donc mis dans unicorn_pcidrv.c :

#define PCI_VENDOR_ID_ST 0x14f1
#define PCI_DEVICE_ID_UNICORN 0x1610

Au boot je lance la carte par modprobe 'unicorn_pci_atm
ActivationMode=4' et j'ai un message d'erreur :
'segmentation fault'
Par contre syslog a l'air de m'indiquer un début de fonctionnement :

unicorn_pci: AFE 70134
Jan 2 15:59:37 passerelle kernel: unicorn_pci: v 0.7.6, 15:59:21 Jan 2
2004
Jan 2 15:59:37 passerelle kernel: unicorn_pci: MSW parameters:
Jan 2 15:59:37 passerelle kernel: ActivationMode=4
Jan 2 15:59:37 passerelle kernel: ActTimeout00000
Jan 2 15:59:37 passerelle kernel: AutoActivation=1
Jan 2 15:59:37 passerelle kernel: DebugLevel=0
Jan 2 15:59:37 passerelle kernel: DownstreamRate28
Jan 2 15:59:37 passerelle kernel: unicorn_pci: ExchangeDelay
Jan 2 15:59:37 passerelle kernel: FmPollingRate00
Jan 2 15:59:37 passerelle kernel: g_RefGain(
Jan 2 15:59:37 passerelle kernel: g_Teqmode=7
Jan 2 15:59:37 passerelle kernel: InitTimeout 000
Jan 2 15:59:37 passerelle kernel: Interoperability=0
Jan 2 15:59:37 passerelle kernel: unicorn_pci: LCD_Trig000
Jan 2 15:59:37 passerelle kernel: LOS_LOF_TrigP00
Jan 2 15:59:37 passerelle kernel: LoopbackMode=0
Jan 2 15:59:37 passerelle kernel: MswDebugLevel=2
Jan 2 15:59:37 passerelle kernel: RetryTimeP00
Jan 2 15:59:37 passerelle kernel: TrainingDelay0
Jan 2 15:59:37 passerelle kernel: unicorn_pci: useRFC019v=0
Jan 2 15:59:37 passerelle kernel: useRFC029vp00
Jan 2 15:59:37 passerelle kernel: useRFC040v=0
Jan 2 15:59:37 passerelle kernel: useRFC041v=1
Jan 2 15:59:37 passerelle kernel: setINITIALDAC“
Jan 2 15:59:37 passerelle kernel: unicorn_pci: useRFCFixedRate=1
Jan 2 15:59:37 passerelle kernel: useVCXO=0
Jan 2 15:59:37 passerelle kernel: _no_TS652=0
Jan 2 15:59:37 passerelle kernel: unicorn_pci: driver parameters:
DebugLevel=0
Jan 2 15:59:37 passerelle kernel: Unable to handle kernel paging
request at virtual address d093087c
Jan 2 15:59:37 passerelle kernel: printing eip:
Jan 2 15:59:37 passerelle kernel: d089c0cf
Jan 2 15:59:37 passerelle kernel: *pde = 0feaa067
Jan 2 15:59:37 passerelle kernel: *pte = 00000000
Jan 2 15:59:37 passerelle kernel: Oops: 0002
Jan 2 15:59:37 passerelle kernel: CPU: 0
Jan 2 15:59:37 passerelle kernel: EIP: 0010:[<d089c0cf>] Tainted: P
Jan 2 15:59:37 passerelle kernel: EFLAGS: 00010297
Jan 2 15:59:37 passerelle kernel: eax: 0000807c ebx: ffffffff ecx:
000000a8 edx: d0928800
Jan 2 15:59:37 passerelle kernel: esi: d0924760 edi: ff96f800 ebp:
cfeb5800 esp: ce8c5eb4
Jan 2 15:59:37 passerelle kernel: ds: 0018 es: 0018 ss: 0018
Jan 2 15:59:37 passerelle kernel: Process modprobe (pid: 369,
stackpageÎ8c5000)
Jan 2 15:59:37 passerelle kernel: Stack: 00000000 d0924760 ff96f800
d089c4f4 d0924760 cd243380 00003200 d089c54c
Jan 2 15:59:37 passerelle kernel: d0924760 00000000 00000000
d0924808 00000000 cfeb5800 d0924760 ffffffea
Jan 2 15:59:37 passerelle kernel: d08f1460 00000000 ffffffea
d089e91a d0924760 cfeb5800 00000000 d089e8d3
Jan 2 15:59:37 passerelle kernel: Call Trace: [<d0924760>]
[<d089c4f4>] [<d0924760>] [<d089c54c>] [<d0924760>]
Jan 2 15:59:37 passerelle kernel: [<d0924808>] [<d0924760>]
[<d08f1460>] [<d089e91a>] [<d0924760>] [<d089e8d3>]
Jan 2 15:59:37 passerelle kernel: [__free_pages+27/28]
[free_pages+26/28] [sys_init_module+1365/1536] [<d089b060>]
[system_call+51/56]
Jan 2 15:59:37 passerelle kernel:
Jan 2 15:59:37 passerelle kernel: Code: 89 0c 10 b9 00 80 00 00 8b 56
04 b8 18 80 00 00 89 0c 10 b9

Je bloque donc sur 'segmentation fault' au lancement de la carte (est-ce
normal ce message ???)
De plus dans le syslog, ce message m'inquiète aussi :

'Unable to handle kernel paging request at virtual address d093087c'

Merci pour votre aide.
Samuel.