* Re: Linux Serial Code Problems
@ 2013-09-05 7:57 Roger Davis
2013-09-05 13:30 ` Theodore Ts'o
0 siblings, 1 reply; 5+ messages in thread
From: Roger Davis @ 2013-09-05 7:57 UTC (permalink / raw)
To: linux-serial
RE: Linux Serial Code Problems
I recently found the following info. Perhaps I'm confused, but it seems apparent to me that there is a known basic deficiency in the code causing this problem from the following quote found at : http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fserial.sourceforge.net%2F&ei=8DUoUo_pL6mGiQL50oCQDg&usg=AFQjCNEM7PQaUtOlie3UHz1fotvbTgPLNg&sig2=sM8-xwyv7dYtcJQ-k8aelg
===============================
"Periodically, I will release testing serial drivers with my guessesas to how to let the serial driver talk to a particular PCI serialboard. As you may have gathered by now, there is no standard PCIserial interface. (The PCI consoritium which is in charge ofstandardizing the PCI bus must have been ASLEEP AT THE SWITCH ." (my caps), found at : http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC4QFjAA&url=http%3A%2F%2Fserial.sourceforge.net%2F&ei=8DUoUo_pL6mGiQL50oCQDg&usg=AFQjCNEM7PQaUtOlie3UHz1fotvbTgPLNg&sig2=sM8-xwyv7dYtcJQ-k8aelg
also...
PCI Modem support
I am getting a lot of e-mail messages about supporting PCI modems,so here's the scoop concerning supporting PCI serial/modem devices.Right now *NO* PCI modems are supported, although support for some arein testing. If you have some PCI modem, please read on below; if youhave a PCI serial board which is not a modem, please skip to the next section....
First of all, the serial driver does not, and will never support,controller-less modems, which are somtimes called winmodems.(n.b. Winmodem(tm) is a trademark of 3COM corporation, and refers to aspecific brand of controller-less modems. However, people havestarted using "winmodems", without the capital letter, to refer tothe generic class of modems which require a windows specific driverbecause they do not implement a full modem in hardware.) If you havea PCI-based modem, the odds are about even as to whether or not it isa winmodem or not. The following site, "Winmodems are notmodems". Before you send me e-mail, please check yourmodem against the listing found in the above web site; if it is awinmodem, or controller-less modem, I can't help you.
If your modem isn't listed on the "Winmodems are not modems" website, there are some other ways you can tell if your PCI modem is acontroller-less modem. If the packaging on the box states thatWindows 95 or 98 is a requirement, that's a pretty good hint. Modemswhich are labeled as "HCF" modems (Host Controller Family) fromRockwell are controller-less modems. If you've installed the softwareon a Windows box, you can check and see how big are the drivers thatthey've installed. If the driver (typically a .VXD file) is large,that's another tipoff. If the modem is extremely cheap (20 or 30 USdollars), that's another hint. Fundamentally, you get what you payfor.
If you are unfortunate enough to own a winmodem and desire to useit under Linux, there is a project which is trying to develop a driverfor some controller-less modem chipsets. But because of thecomplexities associated with the modem protocol standards (V.90 V.34,and their ilk), they have a long road ahead of them. If you areinterested in more information, please refer to the Linmodem Web Site. (Update:There is now an Alpha driver for the Lucent winmodems, and PC-TEL hasreleased a binary-only driver.)
===========================
Is the above "ASLEEP AT THE SWITCH" still current info, and if so, is there any plan to rectify the lack of PCI bus serial interface situation?
Thanks!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Linux Serial Code Problems
2013-09-05 7:57 Linux Serial Code Problems Roger Davis
@ 2013-09-05 13:30 ` Theodore Ts'o
0 siblings, 0 replies; 5+ messages in thread
From: Theodore Ts'o @ 2013-09-05 13:30 UTC (permalink / raw)
To: Roger Davis; +Cc: linux-serial
On Thu, Sep 05, 2013 at 02:57:51AM -0500, Roger Davis wrote:
>
> I recently found the following info. Perhaps I'm confused, but it
> seems apparent to me that there is a known basic deficiency in the
> code causing this problem from the following quote found at....
You are quoting from: http://serial.sourceforge.net/ which was written
by yours truly back when I was the serial driver maintainer. I don't
want to tread on the current maintainer's toes, but with that caveat,
it's not that there's a "basic deficiency in the code", but rather
it's a fundamental deficiency in the reality as you might wish it to be.
Take a look at drivers/tty/serial/8250/8250_pci.c from the kernel
sources. You will see there is a huge list of quirks and exceptions
for various PCI cards, to work around the fact that the standards by
the PCI Consortium are well, "loose". There are some some generic
entries that can be found in the PCI standards --- see the generic
entries for PCI_CLASS_COMMUNICATION_SERIAL,
PCI_CLASS_COMMUNICATION_MODEM, PCI_CLASS_COMMUNICATOIN_MULTISERIAL.
But then also take a look at all of the quirks and exceptions to deal
with random cards and modems.
Thus my comments, which you quoted:
> As you may have gathered by now, there is no standard PCIserial
> interface. (The PCI consoritium which is in charge of standardizing
> the PCI bus must have been asleep at the switch.)
If it worked on an older kernel, but doesn't on a new kernel. It
could be because someone added a quirk that that worked for their PCI
card, but not for yours. This could happen if they added one with an
overly broad match based on the PCI id, or it could be because the
vendor made changes in their PCI card without changing the PCI id's.
(I've seen that before.) This is why Greg K-H's suggestion of doing a
kernel bisection search might be useful to identify what change might
have caused the regression.
Looking at this whole mess, you know one of the reasons why I'm glad
I'm no longer the serial driver maintainer. (Also, these days I'm a
big fan of ethernet and MyFi devices, and try to avoid serial/modem
interfaces in general. :-)
Cheers,
- Ted
^ permalink raw reply [flat|nested] 5+ messages in thread
* Linux Serial Code Problems
@ 2013-09-04 23:38 Roger Davis
2013-09-05 2:43 ` Greg KH
2013-09-05 3:06 ` Theodore Ts'o
0 siblings, 2 replies; 5+ messages in thread
From: Roger Davis @ 2013-09-04 23:38 UTC (permalink / raw)
To: linux-serial
On Mon, Sep 02, 2013 at 06:14:30PM -0500, Roger Davis wrote:
I have been pursuing a serial port problem for over a year, using Ubuntu 12.04.
I reported it on 2012-12-07, and the bug was confirmed soon after that. I'm not
sure if the root cause is in the basic Linux kernel, or if it is only in Ubuntu.
Others are having problems with similar modems.
The exact same computer and modem (USR 5610C, PCI, 16550 chip, Linux
compatible, http://www.usr.com/products/modem/modem-comparison.asp , with
integral controller and serial port, NOT a Wimmodem ) works just fine in
Windoze. I switch OS's by hardwire switches in removable drive trays, so it is
really the exact very same computer, not just another one of the same spec.
The serial port ttyS4 seems to be detected, but yet not detected, and not
usable by the modem. IRQ 17 also seems to behave oddly. I suspect that internal
modems with both controller and integral serial ports have been kinda
"overlooked" during coding, so the code gets confused and stumbles?
There has been no fix action since I reported it, and the bug is still
unassigned.
Please see confirmed bug " https://bugs.launchpad.net/ubuntu/+bug/1087519 " for
much more details.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Linux Serial Code Problems
2013-09-04 23:38 Roger Davis
@ 2013-09-05 2:43 ` Greg KH
2013-09-05 3:06 ` Theodore Ts'o
1 sibling, 0 replies; 5+ messages in thread
From: Greg KH @ 2013-09-05 2:43 UTC (permalink / raw)
To: Roger Davis; +Cc: linux-serial
On Wed, Sep 04, 2013 at 06:38:56PM -0500, Roger Davis wrote:
> On Mon, Sep 02, 2013 at 06:14:30PM -0500, Roger Davis wrote:
> I have been pursuing a serial port problem for over a year, using Ubuntu 12.04.
> I reported it on 2012-12-07, and the bug was confirmed soon after that. I'm not
> sure if the root cause is in the basic Linux kernel, or if it is only in Ubuntu.
> Others are having problems with similar modems.
As this used to work on older kernels, and not on newer ones, is there
any way you can:
- first ensure this is still a problem on 3.11
- if that fails, use 'git bisect' to find the offending patch?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Linux Serial Code Problems
2013-09-04 23:38 Roger Davis
2013-09-05 2:43 ` Greg KH
@ 2013-09-05 3:06 ` Theodore Ts'o
1 sibling, 0 replies; 5+ messages in thread
From: Theodore Ts'o @ 2013-09-05 3:06 UTC (permalink / raw)
To: Roger Davis; +Cc: linux-serial
I haven't been the serial driver maintainer in many years, but here
are some quick tips.
1) I prefer using c-kermit to debug serial problems. That's because
it doesn't do anything automatically. You manually set the baud rate,
enable disable flow control, etc., using simple comamands. I don't
like programs which automatically try to dial, or automatically try to
"configure the modem" etc., because that just confuses things.
C-kernel doesn't do any of this. You can configure the modem
yourself, using AT commands. And when you are debugging, that's
actually preferred.
2) The serial driver registeres the irq only when the tty is open, and
it drops the irq when the last file descriptor to the tty is closed.
This is a throwback to the ISA bus days, when there were limited
number of irq ports available, and various serial cards had hacks to
try to allow serial ports to share irq channels. So don't use
/proc/interrupts to see if the irq was properly gathered. Instead use
/proc/tty/driver/serial (or the setserial program) to see what port
and irq were assgiend.
3) If you can boot the older version of Ubuntu where the serial driver
worked, check the port and irq that was detected when it wored, and
compare it to a newer kernel in /proc/tty/driver/serial. It may be
that the port and irq isn't properly getting configured.
4) The fact that the UART was automatically detected seems to indicate
that the port is correct and there is a UART answering. What I would
suspect is either (a) there is some kind of interrupt set up problem,
or (b) there is some magic ACPI hack which Windows knows about but we
don't in Linux which is required to power up the modem board fully ---
this could be some weird power management thing...
Good luck, and I hope some of this is helpful,
- Ted
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-09-05 13:30 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-05 7:57 Linux Serial Code Problems Roger Davis
2013-09-05 13:30 ` Theodore Ts'o
-- strict thread matches above, loose matches on Subject: below --
2013-09-04 23:38 Roger Davis
2013-09-05 2:43 ` Greg KH
2013-09-05 3:06 ` Theodore Ts'o
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).