Ralph Shumaker wrote:
Ralph Shumaker wrote:
I have just installed fc4 on a clean new system.
On my old system, rh9 saw the modem as /dev/ttyS4 (note the "S4") and
automatically setup the link /dev/modem to point to it (or come to
think of it, I /may/ have had to set up the link manually). Anyway,
this link survived reboots.
On my new system, fc4 sees the same modem as /dev/ttyS14 (note the
"S14") and does not set up the /dev/modem link. What's more, each and
every time I reboot, the link disappears. The link survives logouts,
but not reboots.
It wouldn't be so bad if the PPP program interfaces would offer
/dev/ttyS14, but they don't go beyond /dev/ttyS4. But since they offer
/dev/modem, I can just link /dev/modem to /dev/ttyS14, except that I
have to do it after every boot to keep them working.
Anyone know what's going on with the evaporating link?
MAKEDEV(8) Linux Programmer’s Manual MAKEDEV(8)
NAME
MAKEDEV - create devices
[snip]
BUGS
Let’s hope not. If we’re lucky, any problems we’ll find will be confined
to the
configuration files, which were written by examining the devices.txt
file. If
your system uses udev, conflicts between devices.txt and the in-kernel data
which udev uses for naming devices may crop up.
Gus suggested making a link with MAKEDEV (and reading its man) while
Vinodh suggested using udev (nice pdf on that subject BTW). "man 8
MAKEDEV" mentions possible conflicts between MAKEDEV and udev. Does it
matter which one I use?
(My thanks to Gus and Vinodh for info I didn't know.)
(My thanks to Carl for reminding me of something I'd forgotten, namely
"/etc/rc.local".)
After doing some more research into this, the solution I mentioned won't
work with Fedora Core 3 running udev because the MAKEDEV script doesn't
get called the normal way.
The corrrect way to do this for systems with udev is to create a little
script under /etc/dev.d/$DEVNAME/ where $DEVNAME represents the real
device name. Here is the step-by-step method that I just tested:
Create directory /etc/dev.d/ttyS14 like so (note that this needs to be
done as root or preferably use sudo):
# mkdir /etc/dev.d/ttyS14
Create a shell script in the new directory called modem.dev
Note that the .dev suffix is required. I used vi but you can use any
text processor of your choice. The contents of the modem.dev file are:
<------ snip here ------->
#!/bin/sh
cd /dev
ln -s $DEVNAME modem
<------ snip here ------->
The $DEVNAME environment variable is passed in by the udev system when
the device is created. Using this allows you to quickly change the modem
link by merely renaming the directory.
Make the script executable with chmod:
# chmod u+x /etc/dev.d/ttyS14/modem.dev
Reboot the system. When the system starts up, udev will execute your
script after it creates the ttyS14 device node, thus creating a link
from modem to ttyS14.
If all this seems like too much work, carl's method of putting the link
command in rc.local is your best solution.
Gus
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list