Installationshinweise fr mehr als eine VS-4COM-Karte unter LINUX Prinzipiell kann Linux Basisadressen ber 3FFh ansprechen. Auch die Anzahl der Schnittstellen pro Interrupt ist prinzipiell nicht begrenzt. Somit ist die Anzahl der seriellen und parallelen Schnittstellen nur durch die Zahl der Steckpl„tze und die Anzahl der freien Interrupts begrenzt (Theoretisch ist die Anzahl der seriellen Schnittstellen auf momentan 64 begrenzt. Dies lieáe sich aber auch „ndern.). Sollen unter Linux mehr als 4 serielle Schnittstellen zum Einsatz kommen, so muá die Datei linux/drivers/char/serial.c ge„ndert werden. In dieser Datei mssen in die Struktur rs_table die zus„tzlichen Schnittstellen eingetragen werden. Prinzipiell ist das an jeder beliebigen Stelle m”g- lich. Eine sinnvolle Reihenfolge erg„be sich nach den Eintr„gen fr ttyS0-ttyS3 (entspricht COM1 - COM4 unter DOS). Der Anfang der Struktur k”nnte demnach so aussehen: struct async_struct rs_table [] = { /* UART CLK PORT IRQ FLAGS */ {BASE_BAUD, 0x3F8, 4, STD_COM-FLAGS },/* ttyS0 */ {BASE_BAUD, 0x2F8, 3, STD_COM-FLAGS },/* ttyS1 */ {BASE_BAUD, 0x3E8, 4, STD_COM-FLAGS },/* ttyS2 */ {BASE_BAUD, 0x2E8, 3, STD_COM-FLAGS },/* ttyS3 */ {BASE_BAUD, 0x2F0, 5, STD_COM-FLAGS },/* ttyS4 */ {BASE_BAUD, 0x3E0, 5, STD_COM-FLAGS },/* ttyS5 */ {BASE_BAUD, 0x2E0, 7, STD_COM-FLAGS },/* ttyS6 */ {BASE_BAUD, 0x260, 7, STD_COM-FLAGS },/* ttyS7 */ Fr den Kernel 1.1x und den in Krze erscheinenden Kernel 1.2 hat sich das Format leicht ge„ndert: struct async_struct rs_table [] = { /* UART CLK PORT IRQ FLAGS */ { 0, BASE_BAUD, 0x3F8, 4, STD_COM-FLAGS },/* ttyS0 */ { 0, BASE_BAUD, 0x2F8, 3, STD_COM-FLAGS },/* ttyS1 */ { 0, BASE_BAUD, 0x3E8, 4, STD_COM-FLAGS },/* ttyS2 */ { 0, BASE_BAUD, 0x2E8, 3, STD_COM-FLAGS },/* ttyS3 */ { 0, BASE_BAUD, 0x2F0, 5, STD_COM-FLAGS },/* ttyS4 */ { 0, BASE_BAUD, 0x3E0, 5, STD_COM-FLAGS },/* ttyS5 */ { 0, BASE_BAUD, 0x2E0, 7, STD_COM-FLAGS },/* ttyS6 */ { 0, BASE_BAUD, 0x260, 7, STD_COM-FLAGS },/* ttyS7 */ Der nachfolgende Teil sollte nicht ge„ndert werden. Hier sind nun neben COM1 - COM4 vier weitere Schnittstellen hinzugefgt worden (Port 2F0h IRQ5, Port 3E0h IRQ5, Port 2E0h IRQ7, Port 260h IRQ7). Nach diesem Prinzip lassen sich weitere Schnittstellen, auch ber 3FFh, anmelden. Fr die parallelen Schnittstellen ist die Datei linux/include/linux/lp.h zu „ndern. In dieser Datei existiert eine Struktur lp_table in der bereits lp0- lp2 (entspricht LPT1 - LPT3 unter DOS) eingetragen sind. Die Struktur fr 4 parallele Schnittstellen wrde wie folgt aussehen: 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, }, { 0x268, 0, 0, LP_INIT_CHAR, LP_INIT_TIME, LP_INIT_WAIT, NULL, NULL, }, }; Weitere parallele Schnittstellen, auch ber 3FFh, sind nach dem gleichen Prinzip einzutragen. Zu beachten sind jedoch folgende Dinge: 1. Mit der Žnderung der Struktur lp_table muá auch immer LP_NO ge„ndert werden. LP_NO wird direkt nach lp_table definiert und muá der Anzahl der parallelen Schnittstellen entsprechen. Die entsprechende Zeile fr die oben angegebenen vier parallelen Schnittstellen muá demnach lauten: #define LP_NO4 2. Fr die parallelen Schnittstellen k”nnen, abgesehen von einigen Spe- zialf„llen, die Interrupts deaktiviert werden. Dies funktioniert so- wohl unter Linux als auch unter DOS. Der Vorteil liegt in der Verfg- barkeit von IRQ5 und IRQ7, die wie in dem Beispiel weiter oben fr die seriellen Schnittstellen verwendet werden k”nnen. 3. Auf der VS-4COM-Karte sollte bei mehr als 2 parallelen Schnittstellen wie im Handbuch beschrieben, die 1. Schnittstelle als 3BCh gejumpert werden, da sonst die Reihenfolge der Schnittstellen unbersichtlich wird. Nach diesen Žnderungen muá der Kernel neu bersetzt und gebootet werden. Norderstedt, den 26. September 1994 gn/gk