Subject: The CardBus saga continues...
To: Paul B Dokas <dokas@cs.umn.edu>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: current-users
Date: 06/03/1999 19:25:23
>I've finally managed to hack the cardbus patches into shape on my
>Gateway Solo 9100 (Cirrus PD6832 CardBus chipset) so that it recognizes
>the cardbus chipset, and actually manages to bind cards to the PCI bus
>space (I had to create the cardbus_tags with a PCI bus of 0x20...  Don't
>ask, I just found it in the Linux pcmcia-cs source).

Kewl. if  you can forward the patches to Hayakawa-san, hopefully
they can get integrated into his patch source.

>However, I'm still having problems with my 3C575.  The card is match()d
>and attach()d via the corresponding routines in if_ep_cardbus.c.  But
>it insists that I've got to "erase pencil mark!".  Looks like it things
>that I'm playing with the eeprom in if_ep_cardbus.c:epbusyeeprom().

I dont know how to help here.  I thought the 3c575 was supposed to
attach as an if_ex_cardbus?

AFAIK, the `pencil mark' message is flat-out wrong for most cards.
The PCI, PCMCIA, and Cardbus cards dont support the `pencil-mark' test
feature; I dunno about EISA and the 3c509B.



>There's a big /* XXX PnP? */ in the code in both cardbus/if_ep_cardbus.c and
>ic/elink3.c  WRT the epbusyeeprom() subroutine.  I get this error regardless
>of whether the PnP option in the BIOS is on or off.
>
>
>Can anyone offer any help on this?  This appears to be my last hurdle to
>having a working 100Mbit Cardbus laptop running NetBSD-current at USENIX  8=)

Well, the  obvious first kludge is to change:

        if (sc->bustype == ELINK_BUS_PCMCIA) {

to
        if (sc->bustype == ELINK_BUS_PCMCIA ||
	  sc->bustype == ELINK_BUS_CARDBUS) {

but thats just a guess.  (Defining ELINK_BUS_CARDBUS with the other
ELINK_BUS_* constants is probably a good idea.)