Nombre de ports série limités par défaut

Sur une debian etch de base, le noyau ne reconnaît par défaut que 4 ports séries même si matériellement il en existe plus.

$ grep _UARTS /boot/config-$(uname -r)
CONFIG_SERIAL_8250_NR_UARTS=16
CONFIG_SERIAL_8250_RUNTIME_UARTS=4

CONFIG_SERIAL_8250_NR_UARTS indique le nombre maximal de ports série que le noyau est capable de gérer et CONFIG_SERIAL_8250_RUNTIME_UARTS indique le nombre maximal de ports séries qui seront détectés par défaut par le noyau.

Si on utilise sa machine comme serveur de fax ou autre, et que l'on a besoin d'utiliser 6, 9, 12 ou 15 ports série, ça devient vite insuffisant.

Dans debian, le pilote de gestion des ports série est compilé en dur dans le noyau, mais heureusement il existe une option à passer au noyau pour le forcer à détecter un certain nombre de ports.

Pour augmenter la limite de 4 à 8 par exemple, il suffit de lui passer l'option suivante : 8250.nr_uarts=8 via le bootloader (grub, lilo, yaboot, silo, etc ...)

Pour grub, il suffit d'ajouter l'option à la variable kopt du menu.lst , ex. : '# kopt=root=/dev/sdaX ro quiet 8250.nr_uarts=8', puis d'exécuter la commande update-grub pour que ce soit pris en compte.
Pour lilo; il suffit d'ajouter l'option à la variable append de l'entrée du noyau qui va bien dans lilo.conf, ex : 'append="8250.nr_uarts=8"', puis d'exécuter la commande lilo pour que ce soit pris en compte.

A noté que depuis le noyau 2.6.24, debian a augmenté la limite par défaut du nombre maximal de ports série utilisables de 16 à 32.