Next Previous Contents

8. Προσθήκες για να έχετε PLIP και LP μαζί.

Ο καλύτερος τρόπος για να έχετε τα PLIP και LP μαζί είναι με τη χρήση modules: μπορείτε να φορτώσετε το plip.o και να το ξεφορτώσετε όταν θέλετε να τυπώσετε και αντίστροφα. Εάν θέλετε να χρησιμοποιήσετε τα PLIP και LP ταυτόχρονο, δοκιμάστε τις παρακάτω προσθήκες.

8.1 PLIP και LP μαζί στην ίδια θύρα.

Εάν για κάποιο λόγο θέλετε τα PLIP και LP να υποστηρίζονται απευθείας από τον πυρήνα, μπορείτε να δοκιμάσετε τις παρακάτω προσθήκες.

Πρέπει να πειράξετε τον παρακάτω κώδικα, αλλά κρατήστε αντίγραφα των αρχείων που θα αλλάξετε:


******** modifications to 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 to 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 */

Φυσικά υπάρχει και η συνηθισμένη αποκύρηξη ευθυνών: έλαβα τις παραπάνω προσθήκες και τις παρουσιάζω "όπως τις πήρα". Αυτό σημαίνει ότι τις δοκιμάζετε με δικής σας ευθύνη. Όπως και να έχει, το μόνο πρόβλημα θα είναι η απλή επαναφορά των αρχείων και η μεταγλώττιση.

8.2 PLIP και LP σε διαφορετικές θύρες.

Εάν έχετε τουλάχιστον 2 παράλληλες θύρες μπορείτε να δοκιμάσετε αυτές τις προσθήκες που επιτρέπουν την χρήση του PLIP σε μια θύρα και του LP σε άλλη.

  1. Μετατρέψτε σε σχόλιο την παρακάτω γραμμή στο αρχείο 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. Διαμόρφωση πυρήνα.
    PLIP (parallel port) support (CONFIG_PLIP) [n] y
    
    Parallel Printer support [y] y
    
  3. Μυνήματα πυρήνα κατά την εκκίνηση.
    lp1 at 0x0378, using polling driver
    .....
    NET3 PLIP version 2.0 gniibe@mri.co.jp
    plip2: Parallel port at 0x278, using assigned IRQ 5.
    

Ξανά αποκύρηξη ευθυνών όπως στο τμήμα 8.1.


Next Previous Contents