Okay, this might be a bit esoteric since it concerns Windows 3 drivers, but here goes:
The Basics: DOS wants to load a hardware driver from a particular IO address, but the Windows-based configuration utility for the driver doesn't allow me to select that address.
The Details: I've got a ThinkPad 701c - the "butterfly" keyboard model. I've got a nice, snappy install of Windows for Workgroups 3.11 on it. PCMCIA support is installed, as is the driver for the IBM credit card ethernet adapter I have.
When the computer boots, it turns on power to the IBM card. And my network router indicates that it "sees" the 701c on the network. TCP/IP is installed on the computer, bound to the IBM card, and seet up for DHCP. All is well - almost...
But - every time the driver starts to load in DOS (before the C:\ prompt comes up), it says that the "hardware failed to respond" and it unloads the driver as soon as it's been loaded. Network services are loaded correctly, and the PCMCIA slots are detected properly - it's just that the PC card's driver fails when it attempts to initialize/communicate with the PC card. (FYI the PC card and PCMCIA slots are confirmed fully functional, and I've tried it in both of the computer's PCMCIA slots, with the same results.)
So I've got an OS properly configured for TCP/IP with DHCP; and I've got a laptop that physically and electrically interacts with the PCMCIA ethernet card. But I can't get the OS to "talk" to the card.
Now, here, finally, is my question. Googling seems to reveal that DOS Card and Socket Service drivers look for PCMCIA controllers at IO address 0x03E0 (see for example http://www.cardupdate.com/support/pcic3eo.php). In the network setup under Windows, however, I cannot select that IO address for the IBM card - the highest address is 0x03A0. After triple-checking IRQ and extended memory settings for this card, I conclude that it must be that the DOS drivers are looking for the card at 0x03E0, while the braindead Windows-based configuration utility is setting the IO address to a different location.
I know this is a pretty specific issue - but perhaps it rings a bell for someone on these forums? Perhaps you've experienced or heard about IO address problems before, even if not in this exact context?
TIA,
Matt
it was actually the sound card built into the Dell XPi CD MMX that I had. I had to manuallly change it under windows 2k to another address. I don't have the machine anymore, but if you go into the HardWare manager, you *might* be able to re-assign it to another address, provided you can get a non-used IRQ setting. you might want to reserve the address under the BIOS if you can, so that Dos cannot use it. I have done that on computers before, as something tries to address something that another is looking for it in another spot. Pretty much similair to what you are experiencing. It also helps to look thru documentation on IBM's site to see if there is a work-around.
If you absolutely *must* have Windows I remember "95" solving *all* the little problems like this on the ancient little 486DX4 laptop I still have in my "I'm too sentimental to throw it away" pile, and if you have 16MB of RAM at least it's honestly not any slower.
(I wish I could help with DOS or Windows 3.1, as I remember experiencing this sort of thing, but unfortunately or fortunately I've completely blocked the answers out of my mind over the last decade.)
--Peace
Thanks for the tip, Eudi. I might indeed wind up re-installing Win95 on this machine after all - although it really does feel faster with WfW3.11 installed.
And in response to the first part of your comment, I don't absolutely have to have Windows. In fact, I'd love to have something else on this machine. In general, though, the problem is that I can't seem to find an OS installation that is really, truly fully functional:
- Win3.11 won't recognize the network card, as I noted above;
- OS/2 Warp (3.0) won't recognize any PCMCIA devices at all, so both networking and CD-ROM support are out there;
- Damn Small Linux won't run X Windows (its mini X server doesn't seem to support the TP701c's graphics chip);
- Win95 is dog-slow and, I'm guessing, a total virus and spyware magnet despite being behind a NAT router;
- Other variants of linux, using XFree86, will be too slow owing to the high system overhead of the X server (hence my attempt to use DS Linux). Ditto for the *BSDs.
Meanwhile, I got DS Linux running superfast under VPC on my iMac G5.
Reminds me of why I love Macs so much.
Matt
I feel your pain, mind you. I can't stand to throw out my tiny, sexy little 486 laptop (It looks like a cooler copy of a Powerbook 100, with a centrally-mounted trackball and everything.), but it's really difficult to find "modern-ish" OSes for machines like that anymore.
For something "functional" that's not Windows, well:
A: It'd be a fantastic DOS machine. Run something like Desqview or DR-DOS for multitasking, play with GEM:
http://www.seasip.info/Gem/
etc. If your problems with PCMCIA turn out to be completely intractable look for one of those old Parallel Port network adapters.
B: Run an old version of Linux on it. My ancient little laptop has Slackware 3.6 on it and runs like a champ. If you go for something that uses the last release of Xfree86 3.x there's a good chance the "svga" driver supports your video card. (Support for a lot of the more obscure older chipsets was discontinuted in 4.x.) Just keep your expectations reasonable. You can run old Linux versions of Netscape or Lynx to browse the web with for instance, but a modern browser of Opera or Firefox will flatten it.
I don't normally recommend people run old versions of Linux for security reasons, but, well, cases like this would be an exception.
--Peace
Thanks again Eudi - for both info and the perspective.
A couple of notable updates:
(1) I'm an idiot, sort of: it turns out that the network card problem under WfW311 is because I apparently don't have card and socket services installed. I've since installed IBM PC-DOS, which includes PCMCIA support, but either I don't know how to configure it or I still have missing SW. I managed to fine about six versions of IBM's Card and Socket Services for Thinkpad, but not a single one lists the 701 as officially supported. I've tried at least one or two already and they don't work on the 701. It appears that the 701 has been totally "disappeared" in the IBM-Lenovo transition. For some reason all other '90s-era Thinkpads still have all their support docs and downloads available via Lenovo, but not the 701. In fact, aside from the user manual (which you have to pay to download!), there's not a single file on the entire site dedicated to the 701. Ugh.
(2) DOS. I was blown away that IBM PC-DOS has a built-in shell - cool! I also have previously installed GEM (the relatively new OpenGEM5), and it's indeed very cool. The problem, though, is still that !@#$% PCMCIA bit - I don't mind limiting this machine do DOS, but I'd love to use a Web browser (there's a nice DOS browser called Arachne).
(3) Linux. Good suggestions. If I get the time and fortitude to deal with what will likely be a rather involved installation process, I will try that. There are some helpful Web pages out there describing Linux installs on the 701, including copies of folks' XConfig files.
(4) Network adapter. A parallel port adapter sounds interesting. Because this is a hobby machine - and because I will have to pay $35 for a new battery if I want to make it truly portable - I really don't want to dump any real money into it for now. But I will keep that in mind.
For now I'm going to exhaust the final options for PCMCIA functionality by trying all the different variations of the IBM Card and Socket drivers (I still have hope that one of the TP-specific drivers is for a model that uses the same PCMCIA controller chip as the 701 - this machine can't be THAT much of an oddball).
If that doesn't work I will likely just bite the bullet and install Win95 and hope it gets the PCMCIA fully working like the pre-installed version that the machine came with did, and (b) Use Win95 Lite and other methods to strip it down as much as possible.
I'll provide updates - and pics - soon.
Best,
Matt
Scraping through my rusty memory of such things...
I remember a lot of PCMCIA cards back in the day came with "enablers" to stick in config.sys which would directly poke the PCMCIA controller and set up the card as if it were a plug-and-play ISA device. Using those you didn't actually *need* working card-and-socket services for DOS. (And in fact I seem to remember often the manufacturers would recommend using their enabler instead of Card-and-Socket services unless you really *needed* Card-and-Sockets services for hot-plugging multiple cards.) By any chance does such a driver exist for your card?
--Peace
Edit: Example documentation mentioning a "point enabler" driver:
http://www.synchrotech.com/support-obsolete/faq-ethernet_s10x.html#Q5
Well, I wiped the entire HD and just reinstalled DOS, for simplicity. (I was totally underwhelmed by OS/2 so I reformatted the drive to a single partition.)
After intalling MS-DOS 6.2 and installing IBM PC-DOS 6.3 on top of that (my copy won't install unless an earlier version of DOS is already present), I realized that PC-DOS's installer copies the Card and Socket Services device drivers to C:\DOS, but it doesn't modify CONFIG.SYS to actually, you know, *load* them! So once I sorted through all the 8.3-named files to figure out which ones were the right ones, I modified CONFIG.SYS and now I have enabled PCMCIA slots.
But... in true Murphy's Law fashion, I then realized that for some reason I didn't have a backup of the DOS device driver for my IBM enet PC Card. And, after much searching I am unable to find it on the Web - which is really weird because I originally got it from the Web just a few days ago. Oh well - I'm sure sometime I'll remember how I originally found it.
Eudi, on your comments, yes, there are point enabler drivers that bypass card and socket services - my Panasonic PCMCIA SCSI CD-ROM drive uses one, which is what threw me off - it was working from the start in Windows, and so I didn't understand why the IBM enet card wouldn't work.
Interestingly, all of IBM's documentation recommends against using point enabler drivers. But it doesn't matter one way or the other, since the only driver I've ever found or heard of for this IBM card is not a point enabler - which makes sense since IBM was apparently very much against such drivers.
It might be possible to use a generic driver, or even another company's driver, if I could find any info on the chipsete inside the IBM enet card. But alas, I can find no such info anywhere.
At any rate, I did have that enet card DOS driver, so I know it has to be on the Web somehwere. I know I'll find it sooner or later.
Matt
I think the reason point enablers stuck in my mind all these years is I remember C&SS taking up positively gawdawful amounts of under-640K RAM, thus providing a motivation for doing without them. ;^>
Gads, it's sad to think of all the DOS arcanery I've forgotten. Moving around peripherals and EMS windows to clear more memory for high-loading device drivers, the wonders of himem.sys... gads. I should dust off one of the old Pentium 90s just to remind myself of the abject horror of it all.
--Peace
Yeah, it's really a double-edged sword. It's such a nightmare - and so stupid - to have to manually enable all this stuff. On the other hand, once you figure out how to do it, there's definitely a real sense of accomplishment. I feel like I've really learned something these past few days - even though the existence of the Mac platform demonstrates that one shouldn't have to learn such things. I can see why some Windows folks - esp. ones who started out in the pre-Win95 era - are so attached to their platform - they don't want to sacrifice all their hard-earned knowledge, and the "customizability" (or PIA factor, depending on how you look at it) lends a feeling of substance to the computing experience and no doubt makes one feel empowered.
As for HiMem and EMS, yes, also a drag - though it's funny to think of an OS service using "gawdawful amounts of RAM" when we're talking about a portion of... 640K.
Right now my iMac G5's got 1GB installed and it still pages out to VM once in a while. Oh how things have changed...
Matt