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

Matt Holland vox-tech@lists.lugod.org
Fri, 20 Sep 2002 12:27:20 -0700


> 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

> The proper way to control the serial port from RedHat, if I understand the
> system correctly, is to *create* /etc/rc.d/rc.serial with whatever
> parameters you want (if the file doesn't exist, it defaults to the
> aforementioned IRQ & IO).  In your case,
> 
>    #!/bin/sh
> 
>    setserial /dev/ttyS0 uart none
> 
> The file will be executed by /etc/rc.d/rc.sysinit.  If I understand things
> correctly, /etc/rc.d/rc.sysinit is the first script that gets executed,
> and /etc/rc.d/rc.local is the last script that gets executed, so hopefully
> it'll be executed before the LIRC modules are loaded. But if not, you'll
> need to insert a couple more lines in /etc/rc.d/rc.serial to unload and
> load the LIRC module.

This doesn't seem to have any effect.  Unfortunately, I don't have time 
to troubleshoot this in detail right now (fortunately, I'm heading down 
to Monterey for the jazz festival!), so I'll respond with more detail in 
a few days.

Thanks,
Matt



> Hope that helps!
> 
> -Mark
> 
> 
> On Thu, 19 Sep 2002, Matt Holland wrote:
> 
> 
>>Hey all,
>>
>>Does anyone out there know how RedHat (7.3, if it matters) decides when
>>(and if) to load the serial port driver, and if so, how to stop it from
>>loading?  I ask because I've just started playing with lirc (Linux
>>Infrared Remote Control -- very nifty) with my newly-built home-brew
>>serial IR receiver, but the lirc_serial driver can't grab the port if
>>the serial driver has already been loaded.  I compiled the serial driver
>>as a module when I built my kernel, but I still get:
>>
>>Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT
>>SHARE_IRQ SER
>>IAL_PCI ISAPNP enabled
>>ttyS00 at 0x03f8 (irq = 4) is a 16550A
>>ttyS01 at 0x02f8 (irq = 3) is a 16550A
>>...
>>lirc_serial: port 03f8 already in use, proceeding anyway
>>lirc_serial: compile the serial port driver as module and
>>lirc_serial: make sure this module is loaded first
>>lirc_serial: auto-detected active low receiver
>>
>>in my dmesg output.  The problem is that the serial driver is getting
>>loaded before anything listed in /etc/modules.conf.  Nothing works until
>>I do:
>>
>># setserial /dev/ttyS0 uart none
>># rmmod lirc_serial
>># insmod lirc_serial
>>
>>It's possible that I had to restart lircd after that... I don't remember
>>for certain whether I did or not.  In any case, it seems clear that I
>>could just put those commands (followed by the daemon restart, if
>>necessary) at the end of rc.local, and learn to ignore the error
>>messages during boot (after all, I have no problem ignoring X when it
>>complains about missing fonts ;).  However, it seems like just stopping
>>the serial module from loading in the first place would be the more
>>elegant solution.
>>
>>For those eager Debian users out there... the lirc documentation
>>mentioned modifying /etc/serial.conf on Debian... no such file in a
>>RedHat installation.  Also, I grep'ed the init scripts for 'serial' and
>>didn't find anything enlightening.
>>
>>Incidentally, for those of you who don't always sit *at* your computer
>>when listening to mp3's, watching DVD's, whatever, I highly recommend
>>looking into lirc (www.lirc.org).  I'm a firm believer that a little
>>soldering now and then is good for the soul :)  I can't say enough about
>>the coolness of this project!
>>
>>Thanks,
>>Matt
>>
>>_______________________________________________
>>vox-tech mailing list
>>vox-tech@lists.lugod.org
>>http://lists.lugod.org/mailman/listinfo/vox-tech
>>
> 
> 
> --
> Mark K. Kim
> http://www.cbreak.org/
> PGP key available upon request.
> 
> 
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech