Linux-Hardware Digest #758, Volume #14 Fri, 11 May 01 09:13:10 EDT
Contents:
Re: parallel port programming for linux? ("The Snowman")
silver book PC NIC setup rh7.0 or 7.1 (Allen Ahoffman)
Re: Two network cards ("Jürgen Krieger")
----------------------------------------------------------------------------
From: "The Snowman" <[EMAIL PROTECTED]>
Subject: Re: parallel port programming for linux?
Date: Fri, 11 May 2001 12:13:17 GMT
thanks man, I appreciate the help. :)
"Robert L. Klungle" <[EMAIL PROTECTED]> wrote in message
news:[EMAIL PROTECTED]...
> Robert Taylor wrote:
>
> > Sound like a problem for the driver howtos. You are going to build a
> > device/function out of your parrallel port and you want to be able to
> > control inidvidual bits as discrete outputs. You may find it simpler to
> > use an ISA port on a machine as several vendors sell empty prototype
> > boards with the decoder logic already on it. It's a lot simpler to send
> > a word to an address using assembly with a fixed address that way and
> > this can be done in c as well. I did this using an old 8088 PC in my
> > school days to toggle LEDs during a microprocessor course - an
> > electronics class back in the mid eighties. We used DOS, Masm and an ISA
> > decoder board we built in class.
> >
> > Bob Taylor
> >
> > The Snowman wrote:
> > >
> > > Not sure if this is the right group, but it's more hardware related in
> > > nature than programming.
> > >
> > > c++ I know, but directly controlling hardware with it is uncharted
territory
> > > to me. Don't know if this is even possible, though I strongly suspect
it
> > > is, and hence my question :P
> > >
> > > what I'm looking to do is write a little c++ app that grabs control of
the
> > > parallel port and sends signals of my choosing from the parallel port.
> > > basically I need 6 lines that I can control so as to either have
some(how
> > > much can I expect?) voltage on them as detected by the device on the
other
> > > end of the cable.
> > >
> > > reasons for choosing parallel:
> > > 1) I need to be able to set some combination of the lines on/off. ie:
lines
> > > 1, 3, 4, and 5 on, leaving 2 and 6 off.
> > >
> > > 2) I'm scrounging parts here :) therefore the fact that I have a few
old
> > > printer cables and no machines with a free serial port influenced the
> > > decision.
> > >
> > > being able to sense return values would also be nice, but not strictly
> > > required.
> > >
> > > Any help at all would be appreciated.
> > >
> > > Regards,
> > > Snowman
>
> Bob,
>
> Here is a prallel port controller handling a high performance radio
system.
> It should show you what you need to know.
> Please note the top 5 lines.
>
> cheers...bob
>
============================================================================
----
> /*********************************************************************
> scom - Application level utility for reading and writing
> the 82c55 parallel port
> by Robert L. Klungle for Raytheon Systems
> Modifications:
> Date REA Description
> _________ ___ _____________________________________________________
> 04/20/2001 RLK Created
> 04/24/2001 RLK Added cleanup to read/write per testing
> Added header file
>
> **********************************************************************/
> #include <stdio.h>
>
> #include <sys/io.h>
> #include <unistd.h>
>
> #include "scom.h"
>
> /*********************************************************************
> Parallel port write mechanism to the SCOM radio over the parallel port
>
> ______________________________
> Host Busy (P14) __| |__________
> ~500us
> ____ ___________________________ __________
> Data Bus (P0-P9) \/ \/
> ____/\___________________________/\__________
> Data Valid
> ___________________________
> Cmd Clk (P16) _____| |__________
>
> _________________________
> Cmd Ack (P15) _________| |_________
>
> --------------------------------------------------------------------
> Parallel port read mechanism from the SCOM radio over the parallel port
>
> __ ___________
> Host Busy (P14) |______________________________|
> ~500us
> ____ ___________________________ __________
> Data Bus (P0-P9) \/ \/
> ____/\___________________________/\__________
> Data Valid
> ___________________________
> Dav (P10) _____| |__________
>
> _________________________
> Data Ack (P1) _________| |_________
> ~106us
>
> **********************************************************************/
> /* Definitios and Objects */
> #define SCOM_PORT 0x378
> #define ECP_PORT 0x778
> #define LEVEL 3
>
> /* Parallel Port Control Bits */
> #define CR_DATA_ACK 0x01 /* inv */
> #define CR_HOST_BUSY 0x02 /* inv */
> #define CR_CMD_CLK 0x04
> #define CR_IRQ_ENABLE 0x10
> #define CR_PORT_DIR 0x20 /* inv */
>
> /* Parallel Port Status Bits */
> #define SR_CMD_ACK 0x08
> #define SR_DAV 0x40
>
> #define r_c (inb(SCOM_PORT+2))
> #define r_d (inb(SCOM_PORT+0))
> #define r_ecp (inb(ECP_PORT+2))
> #define r_s (inb(SCOM_PORT+1))
> #define w_c(ch) (outb(ch, SCOM_PORT+2))
> #define w_d(ch) (outb(ch, SCOM_PORT+0))
> #define w_ecp(ch) (outb(ch, ECP_PORT+2))
> #define w_s(ch) (outb(ch, SCOM_PORT+1))
>
> /* Forward References */
> static char poly(char *, int);
> static inline void scom_reset_cr(char);
> static inline void scom_set_cr(char);
>
> #if 0
> static SCOM_ERROR_TYPES scom_wait_not_sr(char bits);
> static SCOM_ERROR_TYPES scom_wait_sr(char bits);
> static SCOM_ERROR_TYPES scom_write_char(char);
> #endif
>
> static inline void wait(unsigned long);
>
> /*********************************************************************
> Function Implementations
> **********************************************************************/
> #ifdef SCOM_DEBUG
> int main(int argc, char *argv[])
> {
> char ich[1000];
> char och[1000];
> int cnt = 1, i, port = SCOM_PORT;
>
> /* capture the parallel port for access */
> scom_init();
>
> if (argc != 2)
> {
> cnt = 1;
> och[0] = 'A';
> printf("sending %c\n", och[1]);
> }
> else
> {
> cnt = strlen(argv[1]);
> printf("sending %s\n", argv[1]);
> for (i=0; i<cnt; i++) och[i] = argv[1][i];
> }
>
> /* write the current string to the port */
> if (cnt == 1)
> while (1)
> {
> scom_write(och, cnt);
> ++och[0];
> sleep(1);
> }
> else
> while (1)
> {
> scom_write(och, cnt);
> sleep(1);
> }
>
> /* read some data from the port */
> cnt = 0;
> while ((scom_read(ich, &cnt, 4) == SCOM_TIMEOUT) && (cnt == 0));
>
> printf("Data received: ");
> for (i=0; i<cnt; i++)
> printf("%d ", ich[i] & 0xff);
> printf("\n");
>
> return 0;
> }
> #endif
>
> /* Close the parallel port */
> SCOM_ERROR_TYPES scom_close(void)
> {
> return SCOM_OK;
> }
>
> /* Accumulate a crc polynomial on the fly poly = X^16 + x^12 + x^5 + 1 */
> static char poly(char *data, int nchars)
> {
> int offset;
> long crc = 0;
>
> for (offset = 0; offset < nchars; offset++)
> {
> crc = (crc >> 4) ^ (((crc ^ data[offset]) & 0x0F) * 0x1081);
> crc = (crc >> 4) ^ (((crc ^ (data[offset] >> 4)) & 0x0F) * 0x1081);
> }
> return (char) (crc & 0x000000FF);
> }
>
> /* Initialize the parallel port for reading and writing */
> SCOM_ERROR_TYPES scom_init(void)
> {
> char creg, ecp_reg;
>
> if (iopl(LEVEL) < 0)
> {
> printf("Unable to get port access permissions\n");
> return SCOM_PORT_ACCESS;
> }
>
> /* first set the ECP parallel port in byte mode */
> ecp_reg = r_ecp;
> ecp_reg &= 0x1f; /* clear top bits */
> ecp_reg |= 0x20; /* set byte mode */
> w_ecp(ecp_reg);
> #ifdef DEBUG
> printf("Init ECP register sent: %x\n", ecp_reg);
> #endif
>
> /* setup control register for default */
> creg = r_c;
> creg &= 0x1f;
> /* set data ack low */
> creg |= CR_DATA_ACK; /* set pin 1 low */
> /* set cmd clock */
> creg |= CR_CMD_CLK; /* set pin 16 low */
> /* now set default direction bit in */
> creg |= CR_PORT_DIR;
> w_c(creg);
> #ifdef DEBUG
> printf("Init control register sent: %x\n", creg);
> #endif
>
> return SCOM_OK;
> }
>
> /* Open the parallel port for reading/writing */
> SCOM_ERROR_TYPES scom_open(void)
> {
> return SCOM_OK;
> }
>
> /*
> Read cnt characters from the port into buf
> Note: normal state of Host Busy is low (normally receive allowed)
> 1. Reset host busy (pin 14 low, control bit 1 = 1)
> 2. Reset data acknowledge (pin 1 low, control bit 1 = 1)
> 3. After 500us, dav should set (pin 10 high, status bit 6 = 1)
> 4. Receive data from data port, waiting xxxus between transfers
> 5. Set data ack (pin 1 high, control bit 0 = 0)
> 5. After data ack , dav should go low (pin 10 low, status bit 6 = 0)
> 6. When dav reset, reset data ack (pin 1 low, control bit 0 = 1)
> */
> SCOM_ERROR_TYPES scom_read(char *buf, int *cnt, int max)
> {
> char creg, dreg, sreg;
> register int lpcnt;
>
> /*
> set direction in, no command clock, no host busy, no data ack
> (pins 16, 14, 1 low)
> */
> creg = r_c;
> creg &= ~CR_PORT_DIR;
> creg |= CR_CMD_CLK | CR_HOST_BUSY | CR_DATA_ACK;
> w_c(creg);
> w_d(0xff); /* clear the data port */
>
> if (max > 0)
> {
> for (*cnt=0; *cnt<max; (*cnt)++)
> {
> creg = r_c;
> creg |= CR_PORT_DIR | CR_CMD_CLK | CR_HOST_BUSY | CR_DATA_ACK;
> w_c(creg);
>
> /* now wait for dav */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_DAV) == 0) /* wait for pin 10 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> {
> creg = r_c;
> /* Set direction low, command clock low, no host busy, no data
ack */
> creg |= CR_PORT_DIR | CR_CMD_CLK | CR_HOST_BUSY | CR_DATA_ACK;
> w_c(creg);
> return SCOM_TIMEOUT;
> }
> }
>
> /* now read the data character */
> dreg = r_d;
> buf[*cnt] = dreg;
>
> /* set data ack to radio */
> creg = r_c;
> creg &= ~CR_DATA_ACK; /* set pin 1 high */
> creg |= CR_PORT_DIR | CR_CMD_CLK | CR_HOST_BUSY;
> w_c(creg);
>
> /* now wait for dav to clear */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_DAV) == SR_DAV) /* wait for pin 10 to go low */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> {
> creg = r_c;
> /* Set direction low, command clock low, no host busy, no data
ack */
> creg |= CR_PORT_DIR | CR_CMD_CLK | CR_HOST_BUSY | CR_DATA_ACK;
> w_c(creg);
> return SCOM_TIMEOUT;
> }
> }
>
> /* reset data ack to radio */
> creg = r_c;
> /* Set direction low, command clock low, no host busy, no data ack
*/
> creg |= CR_PORT_DIR | CR_CMD_CLK | CR_HOST_BUSY | CR_DATA_ACK;
> w_c(creg);
> }
> }
> return SCOM_OK;
> }
>
> /*
> * Utility functions to set/reset bits in registers
> */
> static inline void scom_reset_cr(char bits)
> {
> char creg;
>
> creg = r_c;
> creg &= ~bits;
> w_c(creg);
> }
>
> static inline void scom_set_cr(char bits)
> {
> char creg;
>
> creg = r_c;
> creg |= bits;
> w_c(creg);
> }
>
> /* Unpack the receive buffer to rebuild the top bits of bytes */
> SCOM_ERROR_TYPES scom_unpack(char *buf, int *nbytes)
> {
> int i, j, store_cnt = 0;
>
> for (i=0; i<*nbytes; i += 8)
> {
> j = 0;
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x40)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x20)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x10)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x08)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x04)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x02)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> if (i+j < *nbytes)
> {
> if (buf[i+7] & 0x01)
> buf[i+j] |= 0x80;
> buf[store_cnt++] = buf[i+j];
> j++;
> }
> }
> *nbytes = store_cnt; /* number of bytes in buffer */
> return SCOM_OK;
> }
>
> #if 0
> static SCOM_ERROR_TYPES scom_wait_not_sr(char bits)
> {
> char sreg;
> register int lpcnt;
>
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & bits) == bits) /* wait for pin to go low */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
> return SCOM_OK;
> }
>
> static SCOM_ERROR_TYPES scom_wait_sr(char bits)
> {
> char sreg;
> register int lpcnt;
>
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & bits) == 0) /* wait for pin to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
> return SCOM_OK;
> }
> #endif
>
>
/***************************************************************************
> Write cnt characters to the port from buf
> Note: normal state for host busy is low
> 1. Set host busy (pin 14 high, control bit 1 = 0)
> 2. Send data on data port, waiting xxxus between transfers
> 3. After 500us, set cmd clk (pin 16 high, control bit 2 = 0)
> 4. Wait for cmd ack to set(pin 15 high, status bit 3 = 1)
> 5. Reset cmd clock (pin 16 low, control bit 2 = 1)
> 6. Cmd ack should reset (pin 15 low, status bit 3 = 0)
>
***************************************************************************/
> SCOM_ERROR_TYPES scom_write(char *buf, int cnt)
> {
> register int bytecnt, i, lpcnt;
> char creg, dreg, sreg;
> char mod;
>
> /* compute polynomial crc for this data */
> buf[cnt] = poly(buf, cnt) & 0xff;
>
> /* set host busy to radio */
> creg = r_c;
> creg |= CR_CMD_CLK; /* set pin 16 high */
> creg &= ~(CR_PORT_DIR | CR_HOST_BUSY); /* set port out and pin 14 high
*/
> w_c(creg);
> wait(10);
>
> /* send transmit request (02H) */
> dreg = 0x02; /* data start */
> w_d(dreg);
> #ifdef DEBUG
> printf("Out transmit request sent: %x\n", dreg);
> fflush(stdout);
> #endif
>
> /* set cmd clock */
> creg = r_c;
> /* set pin 16 low */
> creg &= ~(CR_PORT_DIR | CR_CMD_CLK);
> w_c(creg);
>
> /* now wait for cmd ack */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == 0) /* wait for pin 15 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* set cmd clock */
> creg = r_c;
> creg |= CR_CMD_CLK; /* set pin 16 high */
> w_c(creg);
>
> /* now wait for cmd ack reset */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == SR_CMD_ACK) /* wait for pin 15 to go low
*/
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* send data byte count adjusted for polynomial crc and top bit pads */
> bytecnt = (cnt + 1) + ((cnt + 1) / 7) + (((cnt + 1) % 7) ? 1 : 0);
> dreg = bytecnt;
> w_d(dreg);
> #ifdef DEBUG
> printf("Out data byte count sent: %d\n", bytecnt);
> #endif
>
> /* set cmd clock */
> creg = r_c;
> creg &= ~(CR_PORT_DIR | CR_CMD_CLK); /* set pin 16 low */
> w_c(creg);
>
> /* now wait for cmd ack */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == 0) /* wait for pin 15 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* set cmd clock */
> creg = r_c;
> creg |= CR_CMD_CLK; /* set pin 16 high */
> w_c(creg);
>
> /* now wait for cmd ack reset */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == SR_CMD_ACK) /* wait for pin 15 to go low
*/
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /*
> Now transmit the data. Need to isolate bit 7 from each 7 bytes and
> send an eighth byte with the previous 7 bits mapped into it.
> Note: receive has to reassemble them the same way
> */
> mod = 0;
> for (i=0; i<(cnt+1); i++)
> {
> dreg = *(buf+i);
> mod |= (dreg & 0x80) ? (0x40 >> (i % 7)) : 0;
> dreg &= ~0x80;
> w_d(dreg);
> #ifdef DEBUG
> printf("Out data sent: %x\n", dreg);
> #endif
>
> /* set cmd clock */
> creg = r_c;
> creg &= ~(CR_PORT_DIR | CR_CMD_CLK); /* set pin 16 low */
> w_c(creg);
>
> /* now wait for cmd ack */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == 0) /* wait for pin 15 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* set cmd clock */
> creg = r_c;
> creg |= CR_CMD_CLK; /* set pin 16 high */
> w_c(creg);
>
> /* now wait for cmd ack reset */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == SR_CMD_ACK) /* wait for pin 15 to go low
*/
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /*
> Now see if it is time to send the sign bit carrier byte.
> Send if modulo 7, or last byte sent.
> */
> if ((i > cnt) || ((i+1) % 7) == 0)
> {
> w_d(mod); /* send the modulus */
> #ifdef DEBUG
> printf("Modulus data sent: %x\n", mod);
> #endif
>
> /* set cmd clock */
> creg = r_c;
> creg &= ~(CR_PORT_DIR | CR_CMD_CLK); /* set pin 16 low */
> w_c(creg);
>
> /* now wait for cmd ack */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == 0) /* wait for pin 15 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* set cmd clock */
> creg = r_c;
> creg |= CR_CMD_CLK; /* set pin 16 high */
> w_c(creg);
>
> /* now wait for cmd ack reset */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == SR_CMD_ACK) /* wait for pin 15 to go
low */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
> mod = 0;
> }
> }
>
> /*
> Now see if it is time to send the sign bit carrier byte.
> Send if modulo 7, or last byte sent.
> */
> if ((i % 7) != 0)
> {
> w_d(mod); /* send the modulus */
> #ifdef DEBUG
> printf("Final modulus data sent: %x\n", mod);
> #endif
>
> /* set cmd clock */
> creg = r_c;
> creg &= ~(CR_PORT_DIR | CR_CMD_CLK); /* set pin 16 low */
> w_c(creg);
>
> /* now wait for cmd ack */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == 0) /* wait for pin 15 to go high */
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
>
> /* set cmd clock */
> creg = r_c;
> creg |= CR_PORT_DIR | CR_CMD_CLK; /* set direction in and pin 16 high
*/
> w_c(creg);
>
> /* now wait for cmd ack reset */
> sreg = r_s;
> lpcnt = 0;
> while ((sreg & SR_CMD_ACK) == SR_CMD_ACK) /* wait for pin 15 to go low
*/
> {
> sreg = r_s;
> if (++lpcnt == 0)
> return SCOM_TIMEOUT;
> }
> }
>
> /* set host not busy and keep cmd clock high */
> creg = r_c;
> creg |= CR_HOST_BUSY | CR_CMD_CLK; /* set pin 14 low and pin 16 high */
> w_c(creg);
> wait(10);
>
> return SCOM_OK;
> }
>
> /* Instruction loop for waiting (replace with setitimer later */
> static inline void wait(unsigned long t)
> {
> usleep(t);
> }
>
============================================================================
----
> /*********************************************************************
> scom - Application level utility for reading and writing
> the 82c55 parallel port
> by Robert L. Klungle for Raytheon Systems
> Modifications:
> Date REA Description
> _________ ___ _____________________________________________________
> 04/24/2001 RLK Created
>
> **********************************************************************/
>
> typedef enum
> {
> SCOM_BAD_COUNT,
> SCOM_OK,
> SCOM_OPEN,
> SCOM_PORT_ACCESS,
> SCOM_READ,
> SCOM_TIMEOUT,
> SCOM_WRITE,
>
> SCOM_NR_ERRORS
> } SCOM_ERROR_TYPES;
>
> SCOM_ERROR_TYPES scom_close(void);
> SCOM_ERROR_TYPES scom_init(void);
> SCOM_ERROR_TYPES scom_open(void);
> SCOM_ERROR_TYPES scom_read(char *buf, int *cnt, int max);
> SCOM_ERROR_TYPES scom_write(char *buf, int cnt);
> SCOM_ERROR_TYPES scom_unpack(char *buf, int *);
>
------------------------------
From: Allen Ahoffman <[EMAIL PROTECTED]>
Subject: silver book PC NIC setup rh7.0 or 7.1
Date: 11 May 2001 08:23:51 -0400
does anyone know how to get the onboard NIC on a silver bookPC working?
It appear s to be doing arp but no ip traffic works.
it has a sis900 onboard NIC, but loaded freebsd 4.2 and redhat 7.0 and its
just not working.
if there is a newer module or some such?
--
Hardware Support
Announce Communications Inc
October specials:
500mhz Celeron CPU
10/100 network
15Gb IDE hard disk
10GB data transfer/mo.
4 IP(s)
$75/mo.
no OS load charge in October.
No setup charges.
1 month minimum.
------------------------------
From: "Jürgen Krieger" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.networking,comp.os.linux.setup
Subject: Re: Two network cards
Date: Fri, 11 May 2001 14:13:13 +0200
Make sure that you really cofigured the eth1 right!
(IP, active,...)
run in bash!
type ifconfig (there you see what you did)
type route (to see where your traffic goes)
(ifconfig and route can be used to update your system!)
I don't trust xwindows!
cu Jürgen
--
--
=========================================================
Jürgen Krieger
Head of Database-Management
Tel:+43 7228 76301
Tel:+43 7228 20070
Fax:+43 7228 76303
Server2000 International:
http://www.server2000.de
http://www.server2000.cc
http://www.server2000.ch
http://www.server2000.li
http://torres.server2000.at
=========================================================
"Stranger in the night expecting glanses" <[EMAIL PROTECTED]> schrieb im
Newsbeitrag news:9ck4qd$i1b$04$[EMAIL PROTECTED]...
> I've got two tulip compatible network adapters in my computer, but i don't
> get them to work, as the first one should be used for pppoe (TDSL/
> germany).
> i configured it in KDE2, and got the message an icon will be available to
> connect to the net after the next xserver start... but i'm to stupid to
> find
> it.
> The normal network should work over eth1, but every action (ping etc)
uses
> eth0, which is connected to the tdsl adapter...
> thanks for any help!
>
>
>
>
>
>
>
>
>
>
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list by posting to comp.os.linux.hardware.
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Hardware Digest
******************************