How to identify serial ports (ttySn)?
From: Michael Tokarev
Date: Fri Aug 25 2006 - 15:56:34 EST
On a regular basis, /dev/ttySnn devices gets
renumbered with next kernel version.
For example, we've a PCI serial card (NetMos in
this case), with, say, one serial port on it.
Plus some ports on the motherboard (usually one
or two). The question is where's the NetMos port,
on which /dev/ttySnn?
Some time ago, probably at the time of linux 2.4,
netmos device number was dependent on the max.
number of "standard" serial ports configured in
the kernel during compile. Ie, if it where set
to 8 (ttyS0..ttyS7), netmos one becomes ttyS8.
If set to 4, netmos was ttyS4 etc. I always
configured 8 ports in the kernel, so my netmos
card was always been ttyS8.
Next, with 2.6.something which was the first 2.6
I tried, it suddenly become ttyS4. I don't remember
the details already. So I reconfigured all the
machines (it was UPS control program which is
sitting on that port) to use another device.
At least 2.6.11 assigns ttyS3 to the device, saying
the first two ports are reserved for the onboard
devices. So I again reconfigured the app to use
ttyS3 (or ttyS2 - I'm not sure).
Now, with 2.6.17, the netmos port is ttyS1. Because
in reality, on the motherboard there's only one
serial port soldered (that's the reason why we
got the netmos card in the first place), so "next
unused" device is ttyS1.
So the question is: how to find where's the thing
on the running kernel, and where it will be with
next version? Is there a way to assign a name for
the thing, so it will be independent of the current
kernel? I just want to use it, the hardware is
*constant* for several years, but each kernel
release gives yet another surprize, here or there.
And please don't tell me that's some udev thing.
there's no need to run that f*cked udev on all
those machines, the hardware is stable for many
years, there's no hotpluggable, usb or not,
devices of any sort.
More, there's no way to assign constant name for
that thing with udev, too - it seems. Serial
ports exports no useful information to be
identified.
Thanks.
/mjt
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/