Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2003 02:15:30 +0000
From:      Anthony Naggs <tony@ubik.demon.co.uk>
To:        ticso@cicely.de
Cc:        "M. Warner Losh" <imp@bsdimp.com>
Subject:   Re: pcmcia and usb
Message-ID:  <mYZKcMACtZx%2BIwlH@ubik.demon.co.uk>
In-Reply-To: <20030516133103.GA488@cicely12.cicely.de>
References:  <Pine.BSF.4.44.0305131205590.14059-100000@paprika.michvhf.com> <200305132140.16742.cbiffle@safety.net> <20030515001204.GB7361@cicely9.cicely.de> <20030515.193206.51840764.imp@bsdimp.com> <20030516133103.GA488@cicely12.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help

In article <20030516133103.GA488@cicely12.cicely.de>, Bernd Walter
<ticso@cicely12.cicely.de> writes
>On Thu, May 15, 2003 at 07:32:06PM -0600, M. Warner Losh wrote:
>> In message: <20030515001204.GB7361@cicely9.cicely.de>
>>             Bernd Walter <ticso@cicely9.cicely.de> writes:
>> : On Tue, May 13, 2003 at 09:40:16PM -0700, Cliff L. Biffle wrote:
>> : > On Tuesday 13 May 2003 09:07 am, Vince Vielhaber wrote:
>> : > > Has anyone ever tried to get a USB PCCard adapter to work with 4.x ?
>> : > 
>> : > I've never found a PCMCIA USB controller that wasn't Cardbus.  (I have 
>several 
>> : > non-Cardbus laptops and one PDA that would just love to have USB.)
>> : 
>> : They do exist but are not supported.
>> 
>> Really?  I've never seen one...  And I've been looking...

UHCI and OHCI use PCI bus mastering to access the transfer information.
PCMCIA doesn't support this so you need Cardbus to do this properly.
One could possibly kludge some buffer memory onto a PCMCIA card with the
USB controller, but the drivers would have to know about it.

>I havn't seen them for a while.  
>Possibly you can only get used parts now.  
>A guess would be that they were slhci based, but I really don't know.
>Maybe you can get some informations by searching for slhci.

If so I suggest you don't expect too much from them.

ScanLogic USB controller parts (now Cypress) don't suit PC usage of USB.
Both the SL11 and SL811 only have an 8-bit data bus, and soak up a lot
of cpu cycles for modest throughput.  The SL11 generates an interrupt
for every frame & every completed packet.  The SL811 can be programmed
with 2 packets to transfer rather than one.  So you can unload
previously received data or load the next packet whilst another is in
progress.

This likely sucks up noticeable amounts of CPU time even if you are just
counting frames and polling the keyboard every 10th frame (i.e. every
10ms).  Bulk transfers (printing, mass storage, network adapter, etc...)
are really painful.  It's not very sane on a PC to sacrifice 5%, 10%, or
maybe more, of your cpu time to running a USB host controller.


The Philips ISP1161 USB host/device controller is a more likely choice:
16-bit data bus, more intelligence, less interrupt load - 1 or 2 per
frame (ms) allow you to unload transfer results and load a frame of
scheduled transfers.  It's not going to match OHCI performance but it
should be useable.  I'm not aware of any PCMCIA cards, but there are
16-bit ISA cards around:
http://www.simtec.co.uk/products/EB1161ISA/

If an ISP1161 driver is needed please let me know.  I've written drivers
for the ISP1161 before, though not for *nix, so I can probably help
somewhat.  (Be aware that I don't religiously read the FreeBSD lists.
I'm also dropping this email address next month, June 2003, so you may
need Google to find me.)


Cheers,
Tony



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?mYZKcMACtZx%2BIwlH>