[vox-tech] how *not* to load the serial module at boot time?

Eric Nelson vox-tech@lists.lugod.org
Sat, 21 Sep 2002 09:05:04 -0700


Also, take a look at /etc/modules.conf.  This is where the command=20
line parameters to the modules come from.  Also, if you use modprobe=20
instead of rmmod, insmod, it will use the dependency information in=20
/lib/modules - it is much more intelligent than insmod.

On Friday 20 September 2002 23:38, Mark K. Kim wrote:
> On Fri, 20 Sep 2002, Matt Holland wrote:
> > > I think /dev/ttyS0 defaults to IRQ4 + IO 0x03f8 with no
> > > configuration whatsoever.  AFAIK, there is no driver to load or
> > > unload; you just tell the kernel what the settings are.
> >
> > This would seem to suggest otherwise:
> >
> > $ /sbin/lsmod | grep serial
> > lirc_serial             8928   1 (autoclean)
> > serial                 59392   0 (autoclean)
> >
> > Also, if there's no driver, what's this?
> >
> > /lib/modules/2.4.18-5-lirc-0/kernel/drivers/char/serial.o
>
> Let's see...
>
>    $vi /usr/src/linux/drivers/char/serial.c
>
> It looks like it's got code to forward what's written to /dev/ttySN
> to the proper port I/O, and it's got stuff to do serial terminal.=20
> I didn't realize you can make a module out of this.  Oh well.=20
> ::shrug::
>
> Still, I'd think it wouldn't interfere with anything, but the code
> is more complicated than I'd thought it'd be.  It's probably
> complicated because of all the serial terminal stuff.
>
> But I'm still not sure if the driver getting loaded first is the
> problem because you said:
>
>    Nothing works until
>    I do:
>
>    # setserial /dev/ttyS0 uart none
>    # rmmod lirc_serial
>    # insmod lirc_serial
>
> but if the driver itself was interfering, you'd have to unload it,
> like:
>
>    # rmmod serial
>    # rmmod lirc_serial
>    # insmod lirc_serial
>
> but obviously you don't, so it's the default configuration of the
> serial driver that's problem not the driver itself; and the
> configuration should be settable by creating /etc/rc.d/rc.serial.=20
> But if you can't, try creating /etc/rc.serial instead (check your
> /etc/rc.d/rc.sysinit -- whichever file it looks for and executes is
> the one you should create). Put some debugging output so you can at
> least check that the file gets executed.  BTW, make sure you chmod
> the created file with executable permission after you create it.
>
> Later!
>
> -Mark