Bill Paul wrote:
> 
> Today I started experimenting with the Aironet 4800 series 11Mbps
> wireless networking cards. Aironet makes PCMCIA, ISA and PCI adapters.
> I happen to have the PCMCIA and ISA ones. Like the Lucent WaveLAN/IEEE
> cards, the ISA and PCI cards are really PCMCIA cards fitted into a
> bridge adapter. Unlike the WaveLAN/IEEE cards, the bridge adapters
> look like real ISA or PCI devices to the host, so you don't need
> PCCARD support to use them. (The Lucent WaveLAN/IEEE ISA card requires
> PCCARD support in order to work.)
> 
> Anyway, that's not why I'm here. My problem is the PCMCIA adapter.
> I'm testing it on a Dell Latitude Cpi D300XT, which has both LoseNT 4.0
> and FreeBSD 3.2 installed. I decided to install the PCMCIA card in the
> laptop using the LoseNT drivers so that I could have a known working
> machine with which to generate traffic so that I could properly test
> the ISA card. However much to my surprise (well, not really), LoseNT
> failed to detect the card. The 'PC Card (PCMCIA)' icon in the control
> shows the PCMCIA modem in slot 1, but shows slot 0 as empty. Naturally,
> the drivers from Aironet fail to attach the card.
> 
> So I decided to boot FreeBSD instead. Unfortunately, it didn't detect
> the card either. After reading the Aironet manual (which I don't really
> have -- shhhh), I found in the section on starting the card that you
> have to "Enable power (VCC) to the socket and also set VPP1, VPP2 = 5V."
> Looking in /sys/pccard/pccard.c:insert(), I found the following code:
> 
>         /*
>          *      Enable 5V to the card so that the CIS can be read.
>          */
>         slt->pwr.vcc = 50;
>         slt->pwr.vpp = 0;
> 
> So, I changed this to
> 
>         slt->pwr.vcc = 50;
>         slt->pwr.vpp = 50;
> 
> And now pccardc dumpcis shows all of the proper CIS information, pccardd
> finds the card and life is good. (Frankly, I was stunned that I figured
> this out; I'm not really that bright, you know.) Apparently, the Aironet
> card wants VPP turned on before it will let you read the CIS table.
> 
> So, here are my questions:
> 
> - Why is the vpp voltage alwats left at 0?
> - Is it safe for me to change the code so that it's set to 5 volts?
>   Obviously I'm going to need this change in order to make the Aironet
>   PCMCIA cards work.
> - If it's not safe to default vpp to 5 volts, is there a safe way to
>   detect when it needs to be turned on and do it only for those cards
>   that need it?

I took a quick look through "CardBus System Architecture" (MindShare Inc.,
ISBN 0-201-40997-6) in the chapter that reviews the PCCard architecture.
In "The Power-UP Sequence," pp 57-58, it says:

  6. CS notifies socket services (SS) of the initial Vcc requirements.
     SS then loads the appropriate register within the bridge, causing
     it to apply the specified Vcc and Vpp values.  (Vcc, Vpp1, and Vpp2
     must all be initially powered to the voltage specified by the
     CVS[2:1]# pins.

It appears that if the card asks for 5V, all three voltages should be 
initialized to 5V.  It would be nice if we handled 3.3V cards also; I don't 
want to know what happens to a 3.3V card when you stick it in your FreeBSD 
machine and it dumbly applies 5V to it.  Looks like the inserted() routine 
needs some serious help.

-- 
            "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                         Softweyr LLC
http://softweyr.com/                                           w...@softweyr.com


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to