Trucs:Modems internes Olitec PCI HSF (V92, 56Kv2, etc.)

De Lea Linux
(Redirigé depuis Trucs:Oldid=137)
Aller à la navigation Aller à la recherche
Jean-Jacques Freulon<jeanjacques.freulon chez free.fr>

Des drivers disponibles sous forme de source viennent de sortir pour ces modems. Il était temps, et ce n'est pas grâce à Olitec, qui continue à fournir sous forme binaire les drivers pour noyaux 2.2.17 !
Mise à jour : Olitec distribue des pilotes pour Mandrake 8.0 et RedHat 7.1 sur cette page. Par contre, les pilotes pour noyaux 2.2 ont disparu...

1) Assurez vous que vous avez le modem adéquat en tapant la commande : lspci (en étant root). Vous devez obtenir une ligne du genre :
00:0f.0 Communication controller: CONEXANT: Unknown device 2f00 (rev 01)
et en tapant la commande : lspci -n
00:0f.0 Class 0780: 14f1:2f00 (rev 01)

Vous devez obligatoirement obtenir 14f1:2f00 (ou un identifiant PCI compatible : voir ci-dessous) pour installer les drivers qui suivent.

En tapant la commande : more /proc/pci vous devez obtenir un périphérique du type :
  Bus 0, device 15, function 0:
    Communication controller: Conexant HSF 56k HSFi Modem (rev 1).
      IRQ 10.)
      Master Capable. Latency=32.
      Non-prefetchable 32 bit memory at 0xdd020000 [0xdd02ffff].
      I/O at 0xc400 [0xc407].

Si vous obtenez un type de modem HCF, inutile de continuer, ce qui suit ne marchera pas. Mise à jour 25/3/2002 : des drivers pour les modems HCF viennent de voir le jour : http://www.mbsi.ca/hcflinux/.
Note de Jicé : j'ai lu sur le site de ce driver que certains modems étaient dits HCF par Linux alors qu'ils sont en réalité HSF. Si vous n'avez pas peur de perdre un peu de temps, vous pouvez toujours tester si ce qui suit fonctionne chez vous !

Voici une liste d'identifiants PCI de modems qui fonctionnent avec ce driver :
HSFi (D420)
    PCI ID 14F1:2F00, Subsystem ID 2002:14F1
    PCI ID 14F1:2F00, Subsystem ID 2003:14F1
    PCI ID 14F1:2F00, Subsystem ID 2004:14F1
HSF (D480)
    PCI ID 14F1:2013
    PCI ID 14F1:2014
    PCI ID 14F1:2015
    PCI ID 14F1:2016
    PCI ID 14F1:4311 (RIPTIDE - sound not supported)
    PCI ID 127A:1025
    PCI ID 127A:2013
    PCI ID 127A:2014
    PCI ID 127A:2015
    PCI ID 127A:2016
    PCI ID 127A:4311 (RIPTIDE - sound not supported)
Intel SmartMC (ICH)
    PCI ID 8086:2416
Basic2 / SmartDAA (D840)
    PCI ID 14F1:2043
    PCI ID 14F1:2044
    PCI ID 14F1:2045
    PCI ID 14F1:2046
    PCI ID 14F1:2443
Athens (Yukon)
    PCI ID 14F1:1631

2) Récupérer les sources sur le site : http://www.mbsi.ca/hsflinux (pas la peine d'utiliser les rpm, ils ne contiennent que les sources et vous rajoutent des étapes supplementaires).

POUR TOUT SE QUI SUIT, JE CONSIDERE QUE VOUS AVEZ UN KERNEL EN PHASE AVEC VOTRE ENVIRONNEMENT DE TRAVAIL ET QUE VOUS POINTEZ CORRECTEMENT DESSUS

  • Se connecter en utilisateur root
  • Placez-vous dans le répertoire où est situé le fichier hsflinmodem-4.06.06.01mbsibeta01121400.tar.gz
  • Tapez la commande : tar zxvf hsfmlinmodem*tar.gz pour le décompresser.
  • Placez vous dans le répertoire hsflinmodem-4.06.06.01mbsibeta01121400
  • Tapez la commande : make install
  • Tapez la commande : hsfconfig, répondre aux questions :
    1ère question : où se trouve le kernel de linux (par défaut /usr/src/linux) Tapez Entrée
    Where is the directory of C header files that match your running kernel?
    [/usr/src/linux]
    2ème question : doit-on configurer automatiquement le matériel. Tapez Entrée pour répondre oui
    Should we attempt to automatically configure your hardware? [yes]
    3ème question : pays d'origine (par défaut USA) Tapez FRANCE puis Entrée
    Please enter your country name [USA]:FRANCE
    Normalement si tout c'est bien passé, le programme vous rend la main.


Vous devez trouver les modules dans /lib/modules/KERNEL/misc
Je vous conseille de taper la commande : depmod -a

Vous devez trouver un nouveau device qui s'appelle : /dev/ttyHSF0 et un lien /dev/modem pointant dessus :
crw-rw-rw- 1 root root 240, 64 Jan 16 21:16 ttyHSF0
lrwxrwxrwx 1 root root 12 Jan 16 21:16 modem -> /dev/ttyHSF0
crw-rw-rw- 1 root root 241, 64 Jan 16 21:16 cuaHSF0

le périphérique cuaHSF0 est à conserver, ne le supprimez pas!!!

Note de Jicé : si vous utilisez devfs (Mandrake 8.1 par exemple), le nom du périphérique peut varier, regardez dans le répertoire /dev/tty/.

Les fichiers de config se trouvent sous /etc/hsf

Dans le fichier /etc/modules.conf, plusieurs lignes ont été ajoutées :
alias /dev/ttyHSF* hsfserial
alias char-major-240 hsfserial
alias /dev/ttyCUA* hsfserial
alias char-major-241 hsfserial
alias /dev/modem hsfserial
options hsfserial serialmajor=240 calloutmajor=241


Bon, maintenant que tout est en place, tapez la commande : modprobe hsfserial
Sur mon système, j'obtiens :
Warning: loading /lib/modules/2.4.16NO_SMP/misc/hsfosspec.o will taint the kernel: non-GPL license - license=Copyright (C) 1996-2001 Conexant Systems Inc. All Rights Reserved.
Warning: loading /lib/modules/2.4.16NO_SMP/misc/hsfengine.o will taint the kernel: non-GPL license - license=Copyright (C) 1996-2001 Conexant Systems Inc. All Rights Reserved.


Là on s'aperçoit que deux modules ne sont GPL !!!
Note de Jicé : bien que les sources soient disponibles, la license n'est pas libre stricto sensu. Cependant, ce package permet de faire fonctionner votre modem, et les sources sont quand même disponibles, ce qui permettra la montée de version pour les futures version du noyau. Alors...

En tapant la commande : lsmod

hsfbasic2      92352   2  (autoclean)

hsfserial 16744 0 (unused)
hsfengine 907844 0 [hsfserial]
hsfosspec 12408 0 [hsfbasic2 hsfengine]


Vous venez de charger les modules hsfbasic2, hsfserial, hsfengine et hsfosspec
Tapez la commande : tail /var/log/messages
Jan 16 21:27:20 jjf kernel: PCI: Found IRQ 10 for device 00:0f.0


J'obtiens la confirmation que les modules sont en phase avec le modem (IRQ10 device 00:0f.0)
Vous pouvez (normalement) désormais lancer une connection vers internet et surfer.

ATTENTION POUR LES POSSESSEURS DE CONFIGURATION MULTIPROCESSEUR : la version actuelle ne la supporte pas (j'ai du compiler un kernel sans SMP -