Page suivante Page précédente Table des matières

8. Patches pour utiliser PLIP et LP ensembles

Le meilleur moyen de faire cohabiter PLIP et LP est d'utiliser les modules du noyau : vous pouvez charger plip.o et le décharger quand vous avez besoin d'imprimer et vice versa. Si vous avez vraiment besoin d'utiliser PLIP et LP ensembles, essayez les patches décrits dans les sections suivantes.

8.1 PLIP et LP sur le même port

Si, pour une raison quelconque, vous souhaitez que PLIP et LP soient supportés directement par le noyau, vous pouvez essayer ces patches.

Vous devez modifier les parties de codes suivantes, MAIS sauvegarder d'abord les fichiers originaux :


******** modifications de linux/drivers/char/lp.c ***********************
struct lp_struct lp_table[] = {
        { 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
/*      { 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
        { 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL,
NULL, },
*/
};
#define LP_NO 1

******** modifications de linux/drivers/net/Space.c ********************
#if defined(PLIP) || defined(CONFIG_PLIP)
    extern int plip_init(struct device *);
    static struct device plip2_dev = {
        "plip2", 0, 0, 0, 0, 0x278, 2, 0, 0, 0, NEXT_DEV, plip_init, };
    static struct device plip1_dev = {
        "plip1", 0, 0, 0, 0, 0x378, 7, 0, 0, 0, &plip2_dev, plip_init, };
/*    static struct device plip0_dev = {
        "plip0", 0, 0, 0, 0, 0x3BC, 5, 0, 0, 0, &plip1_dev, plip_init, };
*/
#   undef NEXT_DEV
#   define NEXT_DEV     (&plip1_dev)
#endif  /* PLIP */

Bien sûr, il y a l'avertissement standard : j'ai reçu ces patches et je les ai mis ici tels quels, c'est-à-dire que vous les essayez à vos risques et périls ! Cela dit, votre plus gros désagrément ne devrait être que la restauration des fichiers et leur recompilation.

8.2 PLIP et LP sur deux ports différents

Si vous avez au moins deux ports parallèles, vous pouvez essayer ces patches. Ils devraient vous permettre d'utiliser PLIP sur un port et LP sur un autre.

  1. Mettre en commentaire un ligne du fichier source du noyau drivers/char/lp.c
    struct lp_struct lp_table[] = {
    { 0x3bc, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
    { 0x378, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, },
    /* { 0x278, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, }, */
    }; 
        3 -> 2
    

  2. Configuration du noyau
    PLIP (parallel port) support (CONFIG_PLIP) [n] y
    
    Parallel Printer support [y] y
    
  3. Le message du noyau au démarrage est alors :
    lp1 at 0x0378, using polling driver
    .....
    NET3 PLIP version 2.0 gniibe@mri.co.jp
    plip2: Parallel port at 0x278, using assigned IRQ 5.
    

Et à nouveau l'avertissement, voir la section PLIP et LP sur le même port.


Page suivante Page précédente Table des matières