Don't allocate one large io range, this fails about every time on real
pcmcia buses (not attached to pci/cardbus bridges) because of other
devices interfering in that range. Use the bogusly small region for
now, which works purely by chance (map granularity) on cardbus bridges
too (more or less).
XXX - make this map three different, small regions after layer1 <-> layer2
XXX interface has been brought in shape.
places into the CIS reading code.
The card in question has IO8 only enabled in its CIS info and is apparently
not able to keep up with quick reads. It words fine in a pcmcia slot but
panics(!) the kernel in a TI 1250 cardbus slot. This may be a failure of
the pci cardbus code when initializing this bridge. When finding (and
fixing) that, we should back this change out.
The card I am testing with is not broken, I have multiple versions of it
(AVM Fritz! pcmcia ISDN card), all work fine on windows and all cause
us to panic because of bogus CIS info read.
XXX - panicing because of bogus CIS data is probably another error.
errno otherwise). Actually use that return value to avoid installing an
interrupt handler (possibly sharing an interrupt with other cards!) and
initialising the softc with bogus/half baked values.
established.
XXX real fix: make enable/disable for real and invoke them when needed.
XXX This has to wait until the layer 1 <-> layer 2 interface is
XXX restructured.
This is not unprecedented, as we do it in >100 places in the tree.
If you disagree with this philosophy, take it to tech-kern for a discussion
FIRST before reverting; TNF, not one particular person, owns this file.
o Add NAKAGAWA METAL's LNT-10TN card.
o Add KINGSTON KNE-PC2 ethernet card.
o Add RATOC REX_R280 card.
o Add $FreeBSD$ id.
I've not added these cards the their respective drivers, however.
XXX I think we should have if_ne_pcmcia.c try to allocate I/O addresses
around 0x300 or we'll end up with a lot of quirks for NE2k based
cards which have bad CIS's.
be attached with this flag.
Some CF Card (for ex. IBM MicroDrive and SanDisk) doesn't seem to implement
drive select command. In this case, you can't eliminate ghost drive properly.
So you should use this flag to ignore the ghost by force.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.
It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").
Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
timeouts).
stop driver after suspend.
XXX: should use command interrupt but no document...
XXX: status update sometimes failed perhaps due to collision.
(RID 0xff50 or 0xff68 access failed)
No vendor ID, no product ID, and the wpp_cis_info is 'PCMCIA', 'CD-ROM'.
I'd be encouraged at some progress towards 'generic devices', except
someone else is bound to produce something that identifies the same, but
requires a quirk. Can I go back to my sparc now?
Make two other comments consistent while here.
Though ifconfig -m no longer show 5Mbps/11Mbps for PC4500 by this fix,
I cannot find how to set fixed transmit speed to the firmware.
FreeBSD version of driver apparently ignore the value set by ancontrol(8).
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.
Though I only have an Aironet card, Cisco card should be expected to work.
- Doesn't fail ne_pcmcia_attach() if ne_pcmcia_ax88190_set_iobase() failed.
- Check whether LIOBASE register is writable or not (dirty hack!).
Fix PR. 11285
when sharing an interrupt with other devices:
check sc->sc_enabled, and drop the interrupt if its' off.
Also check for IFF_RUNNING, on advice of Enami Tsugotomo.