On Sat, 2003-03-22 at 21:18, John Haywood wrote:
<snip>
> 
> Now, with all the formalities behind you - :) do you think you could share the 
> process in one posting on how you got everything to work.
> 
> It'd be helpful (if you know) the generic process, as opposed to using 
> linuxconf/Mandrake gui tools, as not all of us are either enamoured or 
> capable of using these
> 
> I, and perhaps others, would thank you in advance (my NIC is also proving 
> slightly tempremental)

Sure, John...I will try. Let me know in a reply if I left anything you
wanted to know out, or if you want more generality or more specifics...

First of all, one would need to understand what 'pcmcia-cs' is and its
role in setting up PCMCIA. This application not only provides card
socket services for any PCMCIA sockets supported, but also the driver
modules that are needed to run the devices you would insert into these
sockets. This is quite different than in the Windows implementation,
where the card socket services only make the socket work and you must
provide drivers within Windows or by vendor to make the device work.
David's HOWOTO does a great job of giving the specifics of how the
'/etc/pcmcia/config' file works. In my case, I was missing needed
information from the vendor of my NIC, and how to go about setting up
the network connection afterward.

My NIC, SMC EZ Card 10/100 Mbps PC Card (SMC8041TX) is supported by the
version of 'psmcia-cs' in Mandrake 9.0, but not listed in the
'/etc/pcmcia/config' database as an entry. Initially, I had checked the
documentation on the drivers CD that came with the NIC, and followed its
advice. SMC listed the sunsite URL to download the source code to
compile a new version that would have the support needed for this NIC.
The compiling didn't work. I cannot remember now if I had tried to
compile with the appropriate kernel source on my system, or whether my
attempts at reloading MDK 9.0 and re-compiling were done both before or
after updating to the newest kernel. Compiling failed for me, and it
turns out that is was for the best. Dave told me that the version in MDK
9.0 is newer than what I could have downloaded off the site, and that
support was already built into what I had. It was a matter of modifying
the database list with the appropriate entry for my NIC. This
information is provided, in part, by doing a 'cardctl ident' at the
command-line and seeing what the device returns as its identity. 

I can't stress enough (Oh, yeah...it nearly killed me to see how
important this is!) how important it is to make sure that what you enter
in '/etc/pcmcia/config' is *exactly* what your device says it is! In my
case, the text file that came with drivers CD (and on the sunsite
download directory) had some syntax errors. What was presented as this:

card "SMC 80412"
   version "SMC" , "8041TX-10/100-PC=Card-V2", "", ""
   bind "pcnet_cs"

should have actually been:

card "SMC 80412"
   version "SMC", "8041TX-10/100-PC=Card-V2", ""
   bind "pcnet_cs"

Note the space between "SMC" and the trailing comma, as well as the
fourth field which was erroneous. 

Entry of your device information goes in at two places. One place
describes the device, the other the module to bind to. So in my case, in
the device section, I would need to enter this:

device "SMC 80412"
   class "network" module "pcnet_cs"

Lower down is the section that lists the devices supported and the
modules to bind them to, with any additional parameters that need to be
added (such a 'manfid' settings):

card "SMC 80412"
   version "SMC", "8041TX-10/100-PC=Card-V2", ""
   bind "pcnet_cs"

Note that "SMC 80412" is the header that is used by 'pcmcia-cs' to match
the device information with its configuration and module to bind to.
These two *must* match exactly.

Once this is done, you can restart 'cardmgr' at the command-line, as
well as network services. I found that shutting down and booting up cold
was necessary for best results, and to see the process as 'cardmgr'
loaded, found the card, recognized it and then loaded the proper driver
module.

The second step is the what isn't covered in PCMCIA HOWTO, and being
this was the first time I ever loaded Linux on a laptop, I had no idea
that the network was setup differently than with a permanent NIC
attached in a card slot. If you like to set up your network via
'linuxconf', or through the GUI: 'netconf', you need to leave the
ethernet module "blank". 'psmcia-cs' card socket services will load the
appropriate device driver module (in my case, 'pcnet_cs'). However, you
still need to set up all other aspects of your network connection (IP
addressing, net mask, that this is an eth0 device, your DNS server IP(s)
and gateway address.) Unfortunately, 'linuxconf' will not allow you to
remove a module once entered.You can change the name of the module, but
not leave it blank once an entry has been made. You would then have to
remove it manually from '/etc/modules.conf'. With the PC Card properly
recognized and driver module loaded, I only had to restart the network
services to find my network connection up and running as it should be. 

The HOWTO goes into depth on how to find ways to create the database
entries if you are not fortunate to have this information from the
vendor or from some other source. It can get very technical.  

To sum up: Two important steps must be followed --

1) Your device must be listed in '/etc/pcmcia/config' to be recognized
and bound to a working module for your device. If it doesn't exist, you
can add it, providing that the 'support' is actually in 'pcmcia-cs'. If
your device is not supported, you will need to acquire the source to add
the module to 'pcmcia-cs'. If you cannot find any references to your NIC
and no support elsewhere, try using "NE 2000 Compatible" or "NE 2000
Fast Ethernet", adding 'manfid' settings if necessary to get the card to
be recognized. 'manfid' settings are given to you on-screen during
bootup, as soon as the card is seen by 'cardmgr'.

2) You must configure the network connection just as you would any
permanently installed NIC in a Desktop PC, *but* you must be sure *not*
to list (bind) an ethernet module (or any other module that applies to
this device....'pcmcia-cs' will do this). DHCP set-up works the
same...leave the ethernet module out.

If anyone had a specific question, or I left anything out, please post
your reply here or directly to my email address. Please bear in mind
that I am not a Linux expert, just a bit more knowledgeable about
setting up 'pcmcia-cs'...now that I learned it the hard way. ;-)

T

-- 
Technoslick <[EMAIL PROTECTED]>


Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to