OLDCARD vs. NEWCARD revisited
freebsdpcic at oldach.net
Fri Jan 20 23:44:31 PST 2006
I own an LG Electronics LW1100P wireless LAN PCI board, consisting of
a Texas Instruments TI-1211 PCI-CardBus bridge and a wi(4)-compatible
This card is recognized with an OLDCARD kernel but not with a(n almost)
GENERIC kernel. I've spotted two oddities with this card and made it
work with two rather trivial patches that essentially align NEWCARD a
bit more to the OLDCARD behaviour:
1) The card (or the PCI/CardBus bridge?) seems to announce that it runs
on 2V or 3.3V voltage. But it is actually lying about 2V support. It
just doesn't work @ 2V - which is a rather pointless thing for a PCI
The delta between OLDCARD and NEWCARD is that OLDCARD did apply power
starting with 5V, then 3.3V, then 2V, then 1V, but NEWCARD is doing it
the other way 'round. Hence this card ends up with 2V supply and doesn't
I've filed PR i386/91919 for this which contains a trivial patch
reverting the voltage supply order. This might not be the preferred
solution but it solves the issue.
2) The CIS on the card does not announce an IRQ preference at all. Hence
the default IRQ mask of 0x0 applies and device_attach doesn't see an
IRQ. But this is an I/O card which clearly needs an IRQ.
I've filed PR i386/92070 for this which contains a trivial patch making
0xffff the default IRQ mask instead of 0x0.
Maybe some kind soul might have a look at the PRs? Actually I think that
some OLDCARD/NEWCARD issues that have been reported might be caused by
these two oddities.
BTW, The PR's relate to 5.4-STABLE but apply to 6.0-STABLE as well.
More information about the freebsd-stable