asw 2003-11-02
PCMCIA, or PC Cards, are the small hot-pluggable cards used to add modem, ethernet, and other interfaces to laptop computers. The problem they present to Minix is that there is a layer of interface between the PC bus that Minix knows about and the sockets these cards occupy. Once that interface is properly initialized cards plugged into the PCMCIA slots act exactly like cards plugged into a standard ISA peripheral slot on a desktop computer. Minix, however, does not have built-in support for the PCMCIA layer as of Minix version 2.0.3.
Soon after the release of Minix 2.0.0 I found a need to use Minix with ethernet on a laptop computer, using a PCMCIA ethernet adapter. Kees sent me a test program for the PCMCIA interface, and another program designed to initialize it. These were written by Philip Homburg, and as I understand it were sufficient to initialize the slots on laptops he and Kees owned. Kees's instructions to were to send him the output of the test program and then heor Philip would suggest how I should proceed. I never was able to make enough sense of this to use Minix to initialize the interface for my Compaq Armada laptop, but part of my problem was that I was in Nicaragua at the time, and did not have Internet access that might have allowed me to find more information on the requirments. Kees gave me a lot of warnings about potential dangers, especially that incorrect settings could result in excessive voltages being applied to devices.
I think this was very much a one-off project that Philip did not feel motivated to develop into anything of general usefulness, and when I have responded to queries about this I have been careful not to imply that there is a general solution or to offer to post the code Kees sent me.
My eventual solution for my Compaq laptop takes advantage of the fact that I have both Linux and Minix on that computer. I start Linux to activate my PCMCIA ethernet card, then do a warm reboot to start Minix. The trick I used was to modify the Linux /etc/rc.d/init.d/pcmcia script by commenting out the normal actions taken to stop the pcmcia services. Thus, when I stopped Linux and booted Minix, the PCMCIA interface was already active. This allowed me to use both PCMCIA modem and ethernet cards with Minix as if they were ordinary adapter cards on the ISA bus in a desktop computer.
-------------------------------------------------------- From: quakewang@yeah.net (Wangzhi) Newsgroups: comp.os.minix Subject: I "ported" Minix-vmd PCMCIA driver to minix2.0.0! Date: 31 Oct 2003 18:44:29 -0800 There is rudimentary package for Minix-vmd in http://www.minix-vmd.org/current/vmd/opt/pcmcia/ I download the enable.c , i82365.h and ibmeth.c from there, and copy them to my minix2.0.0 use my method posted before ( http://groups.google.com/groups?dq=&hl=zh-CN&lr=&ie=UTF-8&threadm=8740d788.03102 51744.6a9d5253%40posting.google.com&prev=/groups%3Fhl%3Dzh-CN%26lr%3D%26ie%3DUTF -8%26group%3Dcomp.os.minix). 1. I commented the line "#include <ibm/portio.h>" (for minix 2.0.0 do not have this file), 2. I use cc -o enable enable.c and cc -o ibmeth ibmeth.c to compile and link them, then everything is ok(ignore several warnings) 3. ./enable [enter] Appling power to socket 0. (If you have two sockets for pcmcia card use the bottom one, at least I use this one that the enable can appling power to my network card) 4. ./ibmeth [enter] c=0x1 (I do not know what this mean,although I looked into the source code) I think everything is ok. In the file these are two functions get_attr_xxx and put_attr_xxx. Although I do not know what these programs did and how they did. But I can feel now that the only thing left is to develop our own network card(PCMCIA) driver, then we can make our use our pcmcia card connect to the internet in minix2.0.0. I know little about pcmcia program. And pcmcia specification is too expensive,If anybody would give me a free copy of this document, I will be very glad and I will take a good look at it.(I have already got a complete specification for my pcmcia 3c589D network card.) Thanks first. I lightly feel use "enable" and "ibmeth" we already can develop pcmcia network card driver for minix2.0.0. Because pcmcia network card use normal I/O operate to handle it(that I feel ibmeth did). "enable" and "ibmeth" did all the things that we need pcmcia did. Do I feel right? Thanks. (These programs are all still belong to their author Philip Homburg. I do nothing to it and I do not want to get anything that not belong to me.) -------------------------------------------------------- From: philip@pch.home.cs.vu.nl (Philip Homburg) Newsgroups: comp.os.minix Subject: Re: I "ported" Minix-vmd PCMCIA driver to minix2.0.0! Date: Sat, 1 Nov 2003 11:19:01 +0100 In article <8740d788.0310311844.49d3c42b@posting.google.com>, Wangzhi <quakewang@yeah.net> wrote: >I know little about pcmcia program. And pcmcia specification is too ... If you have a complete description of your network card, and a description of the pcmcia host-controller (you can probably find the i82365 docs at intel, assuming that your controller is i82365 compatible) then you don't really need the pcmcia standard. You may need the standard to understand the tuple space, but the tuple space is not al that useful. -------------------------------------------------------- From: lcapitulino@terra.com.br (Luiz Capitulino) Newsgroups: comp.os.minix Subject: Re: I "ported" Minix-vmd PCMCIA driver to minix2.0.0! Date: 1 Nov 2003 13:29:45 -0800 quakewang@yeah.net (Wangzhi) wrote in message news:<8740d788.0310311844.49d3c42b@posting.google.com>... > I think everything is ok. In the file these are two functions ... I fixed the warnings and the Makefile. I put all the files needed in a .tar.Z, you can get it here: http://planeta.terra.com.br/informatica/brlivre/minix/patchs/downs/chap3/ass34_02.tar.Z
| [HOME] | [HINTS/FAQ] | [MINIX DOWNLOADS] | [CONTRIB SOFTWARE] |
| [NET SOFTWARE] | [MINIX-VMD] | [TEXTBOOK] | [LINKS] |