Dernière mise à jour : 16/12/2003
Je vais tenter de détailler comment installer correctement un modem HSF (les HCF ne sont pas encore reconnus) sous linux. Pour ceux qui l'ignorent, ce type de modems sont à classer dans les winmodems bien qu'ils comportent un numéroteur. Il ne s'agit que des HSF car les autres n'ont rien pour numéroter les rendant aussi utiles qu'un bout de métal. Il y a deux adresses à noter pour des mises à jour récentes de pilotes :
- http://www.linuxant.com/drivers/ : Site Officiel des pilotes développés pour Linux. Pour des raisons de license et parce que Linuxant ne fait pas partie de Conexant, le créateur de ces pilotes a décidé de faire payer une license pour avoir droit à toutes les fonctionnalités de ce pilote. La version "libre" est en effet limitée à 14.4k/s.
Si votre machine (ou portable) est récente, vous pouvez être sûr que votre modem ne sera pas supporté. Ce qu'il faut comprendre ici, c'est que même si le modem n'est pas détecté (come c'est le cas pour mon portable), il y a des chances que cela marche correctement. Commençons par prendre les informations nécessaires. Un petit tour du coté du hardware devrait nous permettre d'y voir plus clair. Faîtes donc un : cat /proc/pci. Le mien retourne ceci pour la section du modem :
-
Bus 0, device 31, function 6:
Modem: PCI device 8086:2486 (Intel Corp.) (rev 1).
IRQ 9.
I/O at 0x2400 [0x24ff].
I/O at 0x2000 [0x207f].
Notez également la ligne parlant du PCI bridge, cela vous permettra de savoir quel type de carte mère vous possédez. Chez moi cela donne : PCI bridge: Intel Corp. 82820 820 (Camino 2) Chipset PCI (-M) (rev 65). Une fois ces informations trouvées, décompactez les pilotes au format tar.gz (je déconseille les RPMs ou src.rpm car ils ne marchent pas correctement et encore moins sur une debian ;) Allez à l'intérieur du répertoire et faîtes un : make install.
Pour le paramétrage, il faut ensuite faire hsfconfig. Assurez vous d'avoir recompilé le kernel au moins une fois avant de lancer cet utilitaire car il a besoin de compiler quelques modules à partir de vos sources. Validez puis laissez tourner. Voila ce qu'il me retourne :
-
tux3:~# hsfconfig
Linux HSF softmodem drivers, version 4.06.06.02
No pre-built HSF modules are available for your exact kernel:
Linux-2.4.17-i686-Debian-2.2
Assuming that a C compiler and proper kernel header files are present on your system, we will now attempt to re-compile the modules.
Where is the directory of C header files that match your running kernel? [/lib/modules/2.4.17/build]
Re-compiling HSF modules for kernel 2.4.17, using source directory
/lib/modules/2.4.17/build. Please wait..
Re-compilation and installation of HSF modules succeeded.
Should we attempt to automatically configure your hardware? [yes]
No supported modem device found.
Is the modem presently installed in your system? [yes]
Sorry, no communication controllers were found.
Please enter your modem's PCI Vendor ID []: 8086
Please enter your modem's PCI Device ID []: 2486
Comme vous pouvez le constater sur les deux dernières lignes, j'entre manuellement le PCI Vendor & Device ID, je les ais trouvés sur la ligne modem de la commande que nous avons fait tout à l'heure. Il me demande alors d'entrer le type de controlleur. Toujours à partir de la commande notée auparavant, je sais que mon controlleur est un intel smartmc (portable) donc je valide 4 (vérifiez le type de carte mère que vous avez avant de valider votre choix).
-
1) /etc/hsf/inf/linux_athens.inf
2) /etc/hsf/inf/linux_hsf.inf
3) /etc/hsf/inf/linux_hsfi.inf
4) /etc/hsf/inf/linux_intel_smartmc.inf
5) /etc/hsf/inf/linux_smarthsf.inf
6) None of the above
Which INF file would you like to use with your HSF modem? (1-6) 4
Selected PCI VendorID=8086 DeviceID=2486 and INF file /etc/hsf/inf/linux_intel_smartmc.inf
Please enter your country name [IRELAND]:
Configuring modem for country: "IRELAND"
You may use the command "hsfconfig --country" to change this setting
Your HSF modem should now be accessible as /dev/ttyHSF0 or through the symbolic link /dev/modem.
A ce stade, tout semble bon, il ne reste plus qu'à vérifier que tout est installé en effectuant un test modem. J'ai du cependant changer un device sous ma debian car je ne voulais pas spécifier /dev/modem de base. J'ai donc tapé ceci : mv /dev/ttyS0 /dev/ttyS0.orig ; ln -s /dev/ttyHSF0 /dev/ttyS0. Il ne reste plus qu'à tester la configuration avec wvdial : wvdialconf /etc/wvdial.conf (en tant que root). Et c'est avec joie que s'affiche :
-
tux3:~# wvdialconf /etc/wvdial.conf
Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- OK
ttyS0<*1>: ATQ0 V1 E1 Z -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 -- OK
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 -- OK
ttyS0<*1>: Modem Identifier: ATI -- 56000
ttyS0<*1>: Speed 115200: AT -- OK
ttyS0<*1>: Max speed is 115200; that should be safe.
ttyS0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 -- OK
ttyS0.orig<*1>: ATQ0 V1 E1 -- ATQ0 V1 E1 -- ATQ0 V1 E1 -- nothing.
Port Scan<*1>: S1 S2 S3
Found a modem on /dev/ttyS0.
ttyS0
Sur ce il ne me reste plus qu'à vous souhaiter bon surf sur votre winmodem sans windows :)