CNK
|
 |
« Reply #1 on: November 18, 2012, 03:24:39 AM » |
|
Your first port of call should be "linux-wless.passys.nl". This database lists the compatibility of a great number of cards with Linux and the drivers with which the working ones work. Or look at how puppy does it as described in the second last paragraph. Or seing as you already know the driver (when will I learn to read), just look it up directly and ignore what I say.
You now need to work out the Linux driver you need (should be some good hints at the above site) and what the module's file name is (with "_cs" on the end of the name for the PCMCIA version, and the ".o" extension). Now we need to have a peek in "/lib/modules/2.4.31/pcmcia" to find out if we already have the module in DSL. If it isn't there, use the find tool to search for the module anywhere in "/lib/modules" as I have a slight memory of some other modules hiding somewhere (I could well be wrong).
If the driver still can't be found (if it can, skip the paragraph after next), you need to really hit google and other file searching places for a module built for the 2.4.31 kernel. Try to find an old mainstream distribution to grab it from. Now chances are this will be a dead end (at least if my luck is anything to go by). Now if you can grab the source code of the driver from somewhere, you can compile it yourself, but this might be a bit of a leap for you (and I can't really help because I can never find the darn source code for my modules). Most likely you will find a module for another 2.4.x kernel version. This would probably work if we wern't using PCMCIA and just loading it with insmod and the -f parameter (or whatever the "force" switch was), however I've never been able to force the loading of modules in the PCMCIA system (if anyone out there knows, I'm all ears), hence it will stop loading with a message telling you to look at the kernel version.
The following will only work if you have a HDD install of DSL, if not then I don't have a clue what you would do. You should probably back up all the files you modify as well, just in case.
Now, if you did manage to navigate that minefield and end up with a module for the 2.4.31 kernel, we now need to set it up. Now this is where the time since I played around with this starts to tell and I can't guarantee that what I'm about to tell you isn't just the product of mixed and dying memories, but give it a try anyway. First copy the module to "/lib/modules/2.4.31/pcmcia" (unless it was already there). Now we want to open a terminal and do "cardctl id", from memory this should show you the identification info of your PCMCIA cards. Now we want to attack "/etc/pcmcia/config" with nano or another text editor run a root. Here, have a look at the top entries for devices and copy them, inserting the name of your module and classing it as "network". If your driver uses more than one module, look at the orinoco_cs driver for an example and check the web for the order they should be listed in (it might not matter, just my memory again). Now if we were building from scratch, you would have to create one of the "device" entries to identify the card based on the info you read with cardctl. But you said the card works with Puppy so you should be able to grab the relevent lines from the "/etc/pcmcia/config" file in there (I've never really used puppy, so I'm only assuming things are the same). So open that and search for some of the "version" info that came up with cardctl. When you find the relevent device entry, copy it somewhere, then load up the DSL one again and add it to that, remembering to check that the driver names are identical (otherwise just change it to the name of the driver you are using with DSL).
OK, now reboot the machine and see if the card is recognised, then open a terminal and execute ifconfig and iwconfig without parameters. If they show an entry other than "lo" (and "eth0" if the laptop has an ethernet port), then you have cause to try and connect to your wifi. If you have problems, open a terminal and use "lsmod" to show your loaded modules, if the module is there, then look up what name the card should have been given (eg. eth0 (which would be eth1 if you already had an ethernet port using eth0)) and try doing "ifconfig [name]", if it can't find the adapter then we have a compatibility problem with the driver. If the driver isn't listed by lsmod, then make sure the entries in "/etc/pcmcia/config" are correct and look for error messages at startup. Otherwise, the module/s could be failing to load due to an incompatibility, in this case you need to look at the boot logs.
Well I hope some of that was useful, good luck. If worst comes to worst, that $25 will easilly buy a known compatible PCMCIA wireless card 2nd hand off Ebay.
|