Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora 34 n'est plus maintenu

#1 20/07/2022 20:27:14

hitec-user
Membre
Inscription : 18/03/2007
Messages : 278

hcfpcimodem : installation sur Fedora 34 et supérieur - obstacles

Bonsoir,

C'est plus une ébauche de topic qu'une demande d'aide, mais ça pourra probablement intéresser du monde.

Afin de transformer un PC en terminal téléphonique, j'ai ressorti du placard mon modem Rockwell HCF 56k Data/Fax/Voice/Spkp (je n'aime pas jeter un matériel en bon état de fonctionnement).
Et puis une tour, ça sert à ça non ? ajouter des extensions pour étendre les fonctionnalités (à bas la dictature du Gaming).

Hélàs, il n'est pas intégré dans le noyau Linux, j'ai donc voulu installer manuellement le module.

Je suis donc allé sur cette page : https://sites.google.com/site/lalitpund … -hcf-modem
...ce qui m'a conduit à télécharger l'archive hcfpcimodem-1.21full.tar.gz ici : http://www.linuxant.com/drivers/hcf/full/downloads.php

Comme tout ça date d'un autre temps, il y a quelques corrections à faire. hammer

Pour commencer, j'ai eu ce message :

[root@localhost hcfpcimodem-1.21full]# make install
make[1] : on entre dans le répertoire « /usr/src/modem_56k/hcfpcimodem-1.21full/nvm »
mkdir -m 755 -p cvt
tr -d '\015' < inf/HCFCTY.mst | tr '\\' '@' | cpp -DDAA_STANDARD -DINT_PCI -P | tr '@' '\\' | grep -v '^[ 	]*$' > inf/hcfpci.cty
<stdin>:1:2: erreur: la directive de pré-traitement #comment invalide
...

Je suis donc entré dans le fichier /usr/src/modem_56k/hcfpcimodem-1.21full/nvm/inf/HCFCTY.mst
Pas expert mais avec de petites notions en prog (au stade de l'initiation), à la première ligne j'ai corrigé "#comment" par ";comment".

;comment 07/21/03: Master file Rev 2.03
;  Copyright (c) Conexant Systems, Inc. 1997-2003
#if defined INT_PCI
        #if defined TYP_DF1 || defined TYP_DF2 || defined TYP_DF
...

Il a cessé de râler pour ça, cool !

La deuxième chose à laquelle j'ai fait attention a été ceci :

...
../modules/kernelcompiler.sh: cannot determine version, using gcc
<ligne-de-commande>: erreur fatale: /usr/src/linux/include/linux/config.h : Aucun fichier ou dossier de ce type
compilation terminée.
...

Après quelques recherches, j'ai vu que le fichier config.h a été remplacé par generated/autoconf.h.
J'ai fait ceci en conséquence :

mkdir -p /usr/src/linux/
cd /usr/src/kernels/5.17.12-100.fc34.x86_64/include/linux
ln -s ../generated/autoconf.h ./config.h
cd /usr/src/linux/
ln -s /usr/src/kernels/5.17.12-100.fc34.x86_64/include ./include

Avant de cogner un plafond innocent avec votre tête qui n'a rien fait non plus... JE SAIS ! c'est pour l'expérience. tongue

Encore une fois, ça l'a fait taire et le make install se déroule sans accroc. Ah ! j'aime bien... hmm

Étape suivante :

[root@localhost hcfpcimodem-1.21full]# hcfpciconfig
...
WARNING: missing file /lib/modules/5.17.12-100.fc34.x86_64/build/include/linux/version.h
The cause of this is usually a missing or unconfigured
kernel source tree (and sometimes an incorrect directory or symbolic link).

However, proper /boot/config-5.17.12-100.fc34.x86_64 was found.
Would you like to try using it (in a temporary kernel tree)? [yes] 

Unable to prepare temporary kernel tree

First, ensure that the proper kernel source and compiler packages
from your distribution vendor and/or the community are installed.

The Linux kernel can then be reconfigured by running "make menuconfig"
under the kernel source directory (usually /usr/src/linux).

Verify that the proper options for your system are selected.

Then compile and install your new kernel (for more information about
this procedure, see the README file under the kernel source directory),
reboot the system using the new kernel, and re-run "hcfpciconfig".

Bon, je crois que j'ai compris. Décidément, il va vraiment falloir entrer dans le code pour le réadapter.

Là ! j'ai la tête un peu en vrac à cause d'un virus (chhut !), ou bien c'est la chaleur (j'ai du mal avec la chaleur, comme un CPU), mais je vais rapidement y revenir.

Gnument vôtre.

Hors ligne

#2 21/07/2022 08:14:24

Nednet
Membre
Lieu : aux alentours de Toulouse
Inscription : 07/12/2015
Messages : 990

Re : hcfpcimodem : installation sur Fedora 34 et supérieur - obstacles

hitec-user a écrit :
WARNING: missing file /lib/modules/5.17.12-100.fc34.x86_64/build/include/linux/version.h

ça signifierait pas qu'il te manque les kernel-headers ? et donc qu'il suffit de les installer au lieu d'aller plonger dans le code ?


Il n'y a aucune honte à ne pas savoir
mais beaucoup à ne pas apprendre

Hors ligne

#3 21/07/2022 11:30:24

hitec-user
Membre
Inscription : 18/03/2007
Messages : 278

Re : hcfpcimodem : installation sur Fedora 34 et supérieur - obstacles

Bien vu Nednet,

J'ai toujours les headers installés mais après vérification, c'est la version pour le noyau 5.17.11 que j'ai or la dernière mise à jour du noyau (celle en fonction actuellement) est la 5.17.12.
Donc, avant la fin du support, les headers n'ont pas suivi. J'ai tenté de les mettre à jour, mais j'ai les derniers en date.

Ça explique d'autres anomalies que j'ai rencontré ces derniers temps.

Il est donc grand temps que je mette à niveau ma Fedora. (J'ai un peu procrastiné sur ce coup là, je sais, c'est pas bien. hmm )

Merci.

Hors ligne

#4 21/07/2022 12:05:42

nouvo09
Accro à Fedo !
Lieu : Paris
Inscription : 22/09/2005
Messages : 23 688

Re : hcfpcimodem : installation sur Fedora 34 et supérieur - obstacles

Comme tu pourras le constater là:

https://archive.fedoraproject.org/pub/f … ackages/k/

tous les paquets relatifs au kernel ont bien été mois à jour vers la version 5.17.12 sauf en effet peu d'entre eux. Il faut donc en conclure que cette mise à jour n'était pas nécessaire. En revanche le kernel-devel à jour est bien présent.


C'est pas parce que c'est difficile qu'on n'ose pas,
c'est parce qu'on ose pas que c'est difficile !

Hors ligne

#5 22/07/2022 23:27:28

hitec-user
Membre
Inscription : 18/03/2007
Messages : 278

Re : hcfpcimodem : installation sur Fedora 34 et supérieur - obstacles

nouvo09, en effet, j'avais bien vu le kernel-devel, mais c'est le kernel-headers qui n'était pas le bon (j'avais aussi des dysfonctionnements avec VirtualBox).

De toute façon, avec l'arrêt du support de 34, il était nécessaire que je passe à 36.
D'ailleurs, il serait peut-être nécessaire que je transfères cette discussion sur le forum de Fedora 36, mais je ne sais comment faire. Est-ce que je peux la diriger ou j'en recréée une en pointant un lien de l'une vers l'autre ?

La machine que j'utilise est ma machine à tout faire au quotidien.
Désormais, j'ai ceci :

[root@localhost hcfpcimodem-1.21full]# rpm -qa |grep kernel
kernel-headers-5.18.4-200.fc36.x86_64
kernel-srpm-macros-1.0-14.fc36.noarch
kernel-tools-libs-5.18.4-200.fc36.x86_64
kernel-cross-headers-5.18.4-200.fc36.x86_64
kernel-core-5.18.11-200.fc36.x86_64
kernel-modules-5.18.11-200.fc36.x86_64
kernel-modules-extra-5.18.11-200.fc36.x86_64
libreport-plugin-kerneloops-2.17.1-1.fc36.x86_64
abrt-addon-kerneloops-2.15.1-1.fc36.x86_64
kernel-devel-5.18.11-200.fc36.x86_64
texlive-l3kernel-svn59118-55.fc36.noarch
python3-ipykernel-6.6.1-2.fc36.noarch
python3-metakernel-0.29.0-3.fc36.noarch
python3-metakernel-python-0.19.1-51.fc36.noarch
kernelshark-2.1.0-1.fc36.x86_64
kernel-rpm-macros-205-14.fc36.noarch
kernel-5.18.11-200.fc36.x86_64
kernel-modules-internal-5.18.11-200.fc36.x86_64
kernel-tools-5.18.4-200.fc36.x86_64

Ça y est, je suis sur Fedora 36, mais comme tu l'as anticipé malgré tout, le problème persiste.

Le dernier retour de la commande (depuis la source non modifiée (hormis le '#' remplacé par un ';') :

[root@localhost hcfpcimodem-1.21full]# hcfpciconfig --dumpdiag
Conexant HCF controllerless PCI modem driver, version 1.21full

If you need license keys, assistance or more information, please go to:
	http://www.linuxant.com/

When reporting a problem for the first time, please send
us the file generated by "hcfpciconfig --dumpdiag".

No pre-built modules for: Fedora-36 linux-5.18.11-200.fc36.x86_64 x86_64-SMP

Trying to automatically build the driver modules...
(this requires a C compiler and proper kernel sources to be installed)

Where is the linux source build directory that matches your running kernel?
[/lib/modules/5.18.11-200.fc36.x86_64/build] 

WARNING: missing file /lib/modules/5.18.11-200.fc36.x86_64/build/include/linux/version.h
The cause of this is usually a missing or unconfigured
kernel source tree (and sometimes an incorrect directory or symbolic link).

However, proper /boot/config-5.18.11-200.fc36.x86_64 was found.
Would you like to try using it (in a temporary kernel tree)? [yes] 

Unable to prepare temporary kernel tree

First, ensure that the proper kernel source and compiler packages
from your distribution vendor and/or the community are installed.

The Linux kernel can then be reconfigured by running "make menuconfig"
under the kernel source directory (usually /usr/src/linux).

Verify that the proper options for your system are selected.

Then compile and install your new kernel (for more information about
this procedure, see the README file under the kernel source directory),
reboot the system using the new kernel, and re-run "hcfpciconfig".

Cela n'a pas résolu l'accès à linux/version.h.
Pas de surprise car, comme je l'ai soulevé dans mon premier post, les noms de fichiers et chemins ne correspondent pas à ceux qui sont fournis aujourd'hui (ce code source est vieux et doit bel et bien être réadapté).

J'ai fait une première tentative en ajoutant les chemins pour les fichiers montrés du doigt, mais sans succès. J'ai justement des messages d'erreur sur l'arborescence du noyau.

En lisant le code, il y a beaucoup plus à faire pour être compatible avec l'arborescence des noyaux actuels.
Bonne nouvelle, il semble de bien gérer le numéro de noyau présent dans le chemin sous Fedora, ce qui n'était apparemment pas le cas à l'époque sous Debian/Ubuntu (je n'ai pas encore vérifié si ça a changé).

Il y a du travail... dans un premier temps, je pense le simplifier en ne gérant que l'architecture de Fedora et je me pencherai sur les 2 autres distributions plus tard (à moins qu'un test révèle un bon fonctionnement sur Debian, j'en ai justement un en 32 bits sur mon portable. Je testerai donc dessus, si ça marche, je laisserai tout le code correspondant).

Je ne suis pas encore à l'aise avec les outils collaboratifs comme gitlab (je débute dans ce domaine), mais j'essaierai d'y déposer cette reprise de code si la licence choisie par Conexant le permet.

Bonne nuit à tous,
Gnument vôtre.

Hors ligne

Pied de page des forums