pccardd does not contain an option to exit immediately after probing the cards. This is neccessary in low-memory embedded environments where the overhead of pccardd running after the initial probe is not wanted or needed. Fix: Patch is attached. I am currently re-applying this to my source tree by hand after each cvsup. I have tested this and it works (dozens of 486 8MB wireless systems floating around with this patch). I would appreciate it if a maintainer would look at this and possibly apply it to the -STABLE tree, if possible. (Both man page and source file patches are below) How-To-Repeat: N/A
Revised Patches below.... - Forrest W. Christian (forrestc@imach.com) AC7DE ---------------------------------------------------------------------- --- /usr/src/usr.sbin/pccard/pccardd/pccardd.c Tue Sep 4 20:51:36 2001 +++ pccardd.c Thu Mar 28 01:33:51 2002 @@ -156,12 +156,13 @@ { struct slot *sp; int count, dodebug = 0; + int probeonly = 0; int delay = 0; int irq_arg[16]; int irq_specified = 0; int i; struct sockaddr_un sun; -#define COM_OPTS ":Idvf:s:i:z" +#define COM_OPTS ":Idvf:s:i:zx" bzero(irq_arg, sizeof(irq_arg)); use_kern_irq = 1; @@ -196,6 +197,9 @@ case 's': sock = optarg; break; + case 'x': + probeonly = 1; + break; case 'z': delay = 1; break; @@ -224,12 +228,14 @@ if (doverbose) dump_config_file(); log_setup(); - if (!dodebug && !delay) + if (!dodebug && !delay && !probeonly) if (daemon(0, 0)) die("fork failed"); slots = readslots(); if (slots == 0) die("no PC-CARD slots"); + if (probeonly) + exit(0); if (delay) if (daemon(0, 0)) die("fork failed"); --- /usr/src/usr.sbin/pccard/pccardd/pccardd.8 Tue Sep 4 20:51:30 2001 +++ pccardd.8 Thu Mar 28 01:31:28 2002 @@ -35,6 +35,7 @@ .Nm .Op Fl d .Op Fl v +.Op Fl x .Op Fl z .Op Fl i Ar IRQ .Op Fl I @@ -134,6 +135,14 @@ .It Fl v After reading the configuration file, print out a summary of it. +.It Fl x +Exits immediately after the cards have been probed and attached. +This is primarily useful in embedded applications where it is +desirable to use +.Nm +to start PC-CARD devices but prohibitive memory-wise to leave the +.Nm +process running. .It Fl z Delays running as a daemon until after the cards have been probed and attached. .It Fl I
Responsible Changed From-To: freebsd-bugs->imp Over to the PC-CARD code maintainer.
State Changed From-To: open->closed Integrated patch, will MFC eventually.