From: Andreas Tobler <toa@pop.agri.ch>
To: Bernhard Reiter <bernhard@intevation.de>
Cc: Bernhard Reiter <bernhard@intevation.de>,
linuxppc-dev@lists.linuxppc.org
Subject: Re: Serial driver problem (modem Lombard)
Date: Sat, 22 Apr 2000 18:17:37 +0200 [thread overview]
Message-ID: <3901D09B.4B25722F@pop.agri.ch> (raw)
In-Reply-To: 20000422123747.B8503@cheops.usf.Uni-Osnabrueck.DE
[-- Attachment #1: Type: text/plain, Size: 1836 bytes --]
Bernhard Reiter wrote:
>
> There is a difference in modem device behaviour
> between 2.2.15pre3(coming with LinuxPPC2000) and 2.2.15pre19(after
> Paul M's stable tree, build myself using his .config).
>
Depends on how you got the 2.2.15p19, I had some difficulties due to the
fact that I was too fast. Paul did a backport of ppp-2.4.x to 2.2.x and
I rsynced it with the auvz --delete option; In the wrong moment!!!. But
it wasn't meant for 2.2.x.
So only a clean download helped me. (not all the stuff, only with the -u
disabled (update == looks for date))
Now I can report a clean, more or less, well ppp operation.
> wvdail cannot open /dev/ttyS0 twice with 2.2.51pre19.
> After I ctrl-ced wvdial to interrupt the network connection
> I get an I/O error when I try to open it again.
Do you have the module option in char/devices/serial on? (dumb serial device)
If so, it can tend to a machine check, when you load a module. The patch
below will/could help you maybe. I never got as far to include it into
the kernel stuff....(Paul/Ben?)
>
> Running wvdialconf it started scanning ttyS1 and
> then jumped into the system monitor:
Don't know about a lombard, but a wallstreet has 4 tty's 0,1,2,3
(serial/printer =0, IRDA =1, modem =2; which is not present in my case;
third = 3, the third is unused, I think the lombard has only one SCC so
you can change the SERIAL_DEV_OFFSET to 2 iso 4.
>
> vector:200 at pc=d0849344 msr=1030, sp=c7bf3ce0 [c7bf3ce0]
> current=c7bf2000, pid 745 comm=insmod
>
> Maybe that is an irport error and unrelated to the first problem.
> I have not enquired further, though.
So as for trial and error I'd suggest to disable some serial modules.
> Regards,
> Bernhard
> ps: Please carbon copy relevant replies to me.
CC? or reply?
Regards,
these are my to RP. (chf exchange.....)
Andreas
[-- Attachment #2: Unknown Document --]
[-- Type: text/plain, Size: 2122 bytes --]
--- linux-pmac-stable/drivers/char/serial.c Tue Feb 8 00:46:49 2000
+++ linux/drivers/char/serial.c Mon Feb 14 18:35:47 2000
@@ -150,6 +150,12 @@
#include <asm/bitops.h>
#include <asm/serial.h>
+#ifdef CONFIG_MAC_SERIAL
+#define SERIAL_DEV_OFFSET 4
+#else
+#define SERIAL_DEV_OFFSET 0
+#endif
+
#ifdef SERIAL_INLINE
#define _INLINE_ inline
#endif
@@ -3126,7 +3132,7 @@
serial_driver.driver_name = "serial";
serial_driver.name = "ttyS";
serial_driver.major = TTY_MAJOR;
- serial_driver.minor_start = 64;
+ serial_driver.minor_start = 64 + SERIAL_DEV_OFFSET;
serial_driver.num = NR_PORTS;
serial_driver.type = TTY_DRIVER_TYPE_SERIAL;
serial_driver.subtype = SERIAL_TYPE_NORMAL;
@@ -3190,11 +3196,14 @@
state->icount.frame = state->icount.parity = 0;
state->icount.overrun = state->icount.brk = 0;
state->irq = irq_cannonicalize(state->irq);
+#ifndef CONFIG_PMAC /* XXX */
if (check_region(state->port,8))
continue;
if (state->flags & ASYNC_BOOT_AUTOCONF)
autoconfig(state);
+#endif
}
+#ifndef CONFIG_PMAC /* XXX */
/*
* Detect the IRQ only once every port is initialised,
* because some 16450 do not reset to 0 the MCR register.
@@ -3212,6 +3221,7 @@
state->port, state->irq,
uart_config[state->type].name);
}
+#endif
return 0;
}
@@ -3264,22 +3274,22 @@
state->irq = detect_uart_irq(state);
printk(KERN_INFO "tty%02d at 0x%04x (irq = %d) is a %s\n",
- state->line, state->port, state->irq,
+ state->line + SERIAL_DEV_OFFSET, state->port, state->irq,
uart_config[state->type].name);
- return state->line;
+ return state->line + SERIAL_DEV_OFFSET;
}
void unregister_serial(int line)
{
unsigned long flags;
- struct serial_state *state = &rs_table[line];
+ struct serial_state *state = &rs_table[line + SERIAL_DEV_OFFSET];
save_flags(flags);
cli();
if (state->info && state->info->tty)
tty_hangup(state->info->tty);
state->type = PORT_UNKNOWN;
- printk(KERN_INFO "tty%02d unloaded\n", state->line);
+ printk(KERN_INFO "tty%02d unloaded\n", state->line + SERIAL_DEV_OFFSET);
restore_flags(flags);
}
next prev parent reply other threads:[~2000-04-22 16:17 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-22 10:37 Serial driver problem (modem Lombard) Bernhard Reiter
2000-04-22 13:40 ` Michael Schmitz
2000-04-22 16:17 ` Andreas Tobler [this message]
2000-04-24 4:27 ` unit
2000-04-24 12:28 ` Andreas Tobler
2000-04-26 4:19 ` unit
2000-04-24 10:52 ` Bernhard Reiter
2000-04-24 12:33 ` Andreas Tobler
2000-04-26 12:15 ` Bernhard Reiter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3901D09B.4B25722F@pop.agri.ch \
--to=toa@pop.agri.ch \
--cc=bernhard@intevation.de \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.