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/lalitpundir/install-and-configuring-a-rockwell-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. :-P

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

É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.
hitec-user wrote:
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 ?
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. :-? )

Merci.
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.
3 mois plus tard
Bon ! pour le moment, ce projet est en standby le temps de passer une licence pro admin sys (1 an) qui me prend tout mon temps.
J'y reviendrai plus tard.

Bon week-end à tous.