Commit Graph

76 Commits

Author SHA1 Message Date
Mitsuru IWASAKI
29d1eb210d Merge from PAO3 -- Quick fix a bug which assign_driver() checks wrong
member variable to find the configuration on new driver allocation.
Correct condition is that card_config and driver are not in use.  Both
of them are cleared in card_removed() (conf->driver->card never be
cleared).

This fix problems `No free configuration for card' on insertion, and
pccardd core dump on removal in condition of the same driver but
different card.

Also this might be emergency measures, complete solution would be made
after Hosokawa-san come back.

Consulted with:	imp
Waiting for:	hosokawa
2000-01-24 13:15:05 +00:00
Tatsumi Hosokawa
eac3536941 Added "attr2" MAC address encoding (used by Megahertz Ethernet Card)
support.

Reviewed by:	Warner Losh <imp@village.org>
Obtained from:	PAO
2000-01-21 09:12:00 +00:00
Tatsumi Hosokawa
a7da6b679e This fixes a bug that /etc/pccard_ether did not work without DHCP.
For example, when /etc/pccard.conf had ed0 in config line, but kernel
refused this name and said

devclass_alloc_unit: ed0 already exists, using next availale unit
number

Kernel used ed1 as device name and it did not match with config and
insert/remove lines.  Fortunately, dhclient was called without args,
and it works, but if we wanted to use static IP address for PC-card,
it did not work.

This modification makes pccardd to execute insert/remove lines with
the true device name that returns from kernel.  (Last change to
etc/pccard.conf.sample eliminated all hardwired device name from
insert/remove lines in /etc/pccard.conf)
2000-01-16 06:44:48 +00:00
Warner Losh
17c770d7e5 Version 1.16 was a bad change, so revert it. 1999-12-08 18:12:02 +00:00
Warner Losh
f077fb2703 If last state was supended, remove the card. This is a kludge, there
is a race here that the old code didn't deal with, and I'm not
completely sure this is the right way to solve it, but it works here.

Should get rid of the dreaded "No free configuration for card" message.
1999-12-08 07:47:41 +00:00
Warner Losh
87db5eaa0d Bump CIS_MAXSTR from 30 to 254. pccard appears to define the entire
section we take them from to be up to 255 bytes long, so that's the
max size for the string.  They can't all be this big, but I don't have
a better number and better to be a little long than a little short.

Also only consume len characters of the cis buffer so we don't run off
the end into the next buffer and get garbage.  This second patch
shouldn't impact anything, but I'll hold off back porting this to
-stable until I get more reports on the stability before/after this
fix.
1999-12-07 19:23:56 +00:00
Peter Wemm
97d92980a9 $Id$ -> $FreeBSD$ 1999-08-28 01:35:59 +00:00
Tatsumi Hosokawa
0e568d4b12 Added "include" feature to pccard.conf to put the default pccard.conf
entries in /etc/defaults/.
1999-08-17 03:38:51 +00:00
Warner Losh
673b7bf483 o Add "debuglevel" keyword to config file.
o Document debug level keyword
o Implement debug level:
	o For most of the diagnostic messages, change them from #ifdef DEBUG
	  to if (debuglevel > 0).
	o Add a couple more diagnostic messages that weren't present before
	o Fix a couple of excessively long lines.
Reviewed by: hosokawa-san

o Start to implement the stopgap kludge for -current's pccard code by passing
  the length of the i/o range.  If DEV_DESC_HAS_SIZE is defined, we'll set
  the size.  This is done as an ifdef so that I can generate patches
  against the kernel more easily.
o Add preliminary support for tweaking sleep times, but leave it
  disabled until a good range of values can be established.

Didn't fix: logmsg problem noted by Nate.
1999-08-01 18:04:26 +00:00
Tatsumi Hosokawa
bcb5ab3765 Set correct "flags" value when pccardd allocates/initializes driver. 1999-07-23 14:58:33 +00:00
Tatsumi Hosokawa
f22ff34fba Removed a very very old hack (I disabled it in PAO long time ago)
that existed in original PC-card driver for FreeBSD 2.0 (maybe).
This prevents from utilizing flags for drivers.
1999-07-23 08:53:20 +00:00
Tatsumi Hosokawa
1b19dea47d Sorry, I forgot to test "iosize auto" before merging "iosize" patch. 1999-07-23 02:01:19 +00:00
Tatsumi Hosokawa
6886e4d9be Inappropriate commment for -i option. 1999-07-23 01:46:47 +00:00
Tatsumi Hosokawa
35e42bac95 Added "iosize" directive in /etc/pccard.conf
Allocate free I/O window with given size to card.

(example)
# IBM PCMCIA Ethernet I/II
card "IBM Corp." "Ethernet"
	config	0x1 "ed0" ?
	iosize	32
	ether	0xff0

(it's currently only useful for externalizing hacks for broken CIS cards,
 but it will play an important role with "function" directive I'm planninng
 to merge)

Reviewed by:	freebsd-mobile list
Obtained from:	PAO3's "cardio" directive
1999-07-23 01:33:34 +00:00
Tatsumi Hosokawa
bff5ef3ac9 Release IRQ allocated dynamically. 1999-07-23 00:12:22 +00:00
Warner Losh
c0c4dbc6d4 Fix a dangling else warning from new egcs. 1999-07-15 03:04:31 +00:00
Nik Clayton
414a35e60a Add $Id$, to make it simpler for members of the translation teams to
track.

The Id line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;

     .\"    $Id$
     .\"

If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.

Approved by:            bde
1999-07-12 20:12:29 +00:00
Tatsumi Hosokawa
04b21fd64b Added -z and -i option. 1999-06-30 03:49:30 +00:00
Tatsumi Hosokawa
3e478b3901 FreeBSD does supports LKM now.
PR: doc/10331
Reviewed by: mpp@freebsd.org
Submitted by: Andreas Gustafsson <gson@araneus.fi>
1999-06-29 23:59:15 +00:00
Mike Pritchard
25b6a7d131 Minor mdoc fix. 1999-06-26 23:16:40 +00:00
Mark Murray
9c0592b821 More uncontroversial PAO updates. Make the IRQ wildcarding work a lot better,
and improve the daemonizing code.

Submitted by: Tatsumi HOSOKAWA
1999-06-17 21:07:59 +00:00
Jun Kuriyama
3e8f7cf5f9 Use O_RDONLY and O_RDWR for open() instead of number.
Encouraged by:	Nate
1999-02-05 16:00:17 +00:00
Jun Kuriyama
8877f51e9e s/card.conf/pccard.conf/ 1999-02-05 15:59:57 +00:00
Guido van Rooij
67c431ff57 When resuming with 2 identical cards in 2 slots, the initialisation
of the second card fails. This fixes that.
1999-01-10 13:00:09 +00:00
Tatsumi Hosokawa
9b473222be Keywords "iosize" and "memsize" are unused since 1.5. Removed. 1998-04-25 18:10:10 +00:00
Tatsumi Hosokawa
af5311ffe2 #define'd KWD_XXX for keywords. 1998-04-25 17:52:15 +00:00
Nate Williams
d0c0b545a7 - Argh, fix stupid logic error in the laststate/state fix previously. That's
what I get for trying to do too many things at once.
1998-04-20 16:24:03 +00:00
Nate Williams
2d4c8d9d6c - Don't try and keep track of the previous state, since the kernel may
change it w/out informing the program.  Instead, use the (now available)
  previous state returned by the kernel to make intelligent card
  removal/insertion decisions.
1998-04-20 15:24:28 +00:00
Nate Williams
8ff8eb13f7 MF22: Finish fixing 'looping' bug. 1998-04-20 05:42:26 +00:00
Nate Williams
c4bf475b75 - If we see a tuple we don't expect, don't spin forever. Withouth this fix,
I can't run pccardc dumpcis on my Wavelan card. :(

Obtained from:	PAO
1998-04-19 18:41:45 +00:00
Philippe Charnier
f12a14713b .Sh AUTHOR -> .Sh AUTHORS. Use .An/.Aq. 1998-03-23 08:31:20 +00:00
Tatsumi Hosokawa
7d0ec55f03 Some parameter was left uninitialized when the card with incomplete
"Version 1" CIS tupple is plugged after normal card.
1998-03-20 04:49:19 +00:00
Tatsumi Hosokawa
bc01c37da5 Reviewed by: mike@smith.net.au
Submitted by:	nate@mt.sri.com
Removed global variables. (and style(9) fix.)
1998-03-09 05:18:59 +00:00
Guido van Rooij
2dbace9154 bit_nset was not correctly used. 1998-03-02 20:51:06 +00:00
Guido van Rooij
8393eb700a Fix use of bit_nclear. Amazing that we didn't get more complaints
about inserting 2 pcmcia cards.
1998-03-02 19:00:01 +00:00
Tatsumi Hosokawa
cf76d25ad9 Removed a confusing "#if 0 ... #endif". 1998-02-27 09:47:36 +00:00
Tatsumi Hosokawa
07131beb35 Removed "#define EXTERN" because this file doesn't have main(). 1998-02-27 08:40:53 +00:00
Tatsumi Hosokawa
1b39ab6931 Moved main() to a new file (pccardd.c). 1998-02-27 08:19:25 +00:00
Guido van Rooij
3d08e8c2cc This seems to fix my problem that after resume/suspend, sometimes
pccard claims that the driver is already allocated.
It works around a race when pccardd gets woken up too late after a resume.

This is a 2.2.6 candidate.
Reviewed by:	nate@freebsd.org
1998-02-04 20:19:39 +00:00
Tim Vanderhoek
dfb9495b2a Use consistent spelling,
writeable -> writable (recall prior debate over this? :-)
	initialise -> initialize
	recognise -> recognize

Merry Christmas! :)
1997-12-25 09:36:42 +00:00
Nate Williams
50b5ec4154 - Changed strcmp to strncmp for checking the CIS manufacturer strings,
since we only store CIS_MAXSTR data, and the users may stick the
  'entire' CIS string returned from the card in /etc/pccard.conf and
  cause the comparison to (bogusly) fail.

Submitted by:	Brad Karp <karp@eecs.harvard.edu>
1997-12-08 06:35:07 +00:00
Nate Williams
4d1fabf000 - Don't worry about the previous state of the card (insert/removed), and
instead Do The Right Thing when the kernel states a card was
  inserted/removed.  This isn't a complete fix, but better than nothing.

Reviewed by:	Guido van Rooij <guido@gvr.org>
1997-11-25 19:15:59 +00:00
Nate Williams
ae8d0ca416 - Renamed log_1s() to logmsg(). 1997-11-19 02:31:41 +00:00
Nate Williams
ec3383fb48 - Include <pccard/cardinfo.h> instead of <pccard/card.h> which was recently
renamed.
1997-11-18 21:08:14 +00:00
Nate Williams
ec510cabb0 - Disable cards when doing a suspend by emulating that they have been
removed.  Add a new state 'suspend' so we 'fake' insertion events at
  resume time for the cards that have been suspended.

[
The code still works if you remove the card during suspend, switch the
card during suspend, or combinations of both.
]

Reviewed by:	frf@xocolatl.com
1997-10-28 17:51:25 +00:00
Nate Williams
e7e437dbfa - Do a bunch of gratuitous changes intended to make the code easier to
follow.
 * Rename/reorder all of the pccard structures, change many of the member
   names to be descriptive, and follow more closely other 'bus' drivers
   naming schemes.
 * Rename a bunch of parameter and local variable names to be more
   consistant in the code.
 * Renamed the PCCARD 'crd' device to be the 'card' device
 * KNF and make the code consistant where it was obvious.
 * ifdef'd out some unused code
1997-10-26 04:36:24 +00:00
Philippe Charnier
9dd6fd23cd Use err(3). Add usage()s. 1997-10-06 11:36:08 +00:00
Nate Williams
a12f9b749f - Bump up the size of the space for strings read from PCMCIA cards. Newer
cards have longer entries.

Submitted by:	Lars Fredriksen <lars@fredriks-1.pr.mcs.net>
1997-09-23 19:51:32 +00:00
Nate Williams
b93ad2ea7c The pccard daemon doesn't support the 'class' parameter as stated in the
documentation, so remove any hints of it.

Submitted by:	"Brent J. Nordquist" <bjn@visi.com>
1997-02-26 15:55:10 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +00:00