Tuesday, July 20, 2010

Make Windows 98 See Vista / Win7 Shares

Sneaky Micro$oft...  In the move to Vista and Windows 7, they broke connectivity to Windows 98 clients without telling anyone.

When you install your file shares on a new Vista or Windows 7 machine you'll discover a weird error message on your Windows 98 machines when trying to connect to file shares on the new machines.  It just keeps saying that the password for a share called IPC$ is no good.

My charge controller data logger is a Windows 98SE Toshiba laptop that can't be upgraded to XP. Although I could use a newer machine, I like the Tosh because it only uses 11W of power to do its work and doesn't need a fan to keep cool so it will work quietly in the corner of the living room.

Fear not.  I've found out how to get around the problem.

The basic problem is that after XP, MS changed the logon authentication method to improve security.  Windows 98 uses LM authentication.  XP uses NTLM1 and LM authentication so it was backwards compatible.  Vista only uses NTLM2 authentication (but it was ok because XP machines got upgraded automatically to NTLM2 by automatic update).  Poor old Win98 got left behind.

However, what you need is the Directory Services Client package from the Windows 2000 Server (from a server or the server CD or as a download from Microsoft).  This allows Win98 machines to log on to Windows 2000 domains but also includes the updates to support NTLM2 authentication.  Download DSClient.exe and install the package by running it.  Make sure you get the Win9x version (there was a NT4 version with the same file name).

That's the first step.  After installing it you need to enable NTLM2 on the Win98 machine.  To do this you need to edit the registry to add a new value to a key.

Run regedit and navigate to:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA

Add a new value called LMCompatibility of type DWORD and value 3

Setting this value to 3 tells Windows to use NTLM2 authentication.  Reboot.

Now, Windows 98 can't log on to shares using a different user name (XP introduced the "connect using different user credentials" option) so you need to make sure your Win98 user and password is the same as a local account on the Vista machine that you've given permission to use the shared folder.  This is the same as normal share set-up.

On the Vista machine you also need to edit the registry to change the hashing of LM credentials.  Otherwise, you'll be able to see the share but not be able to access any file from the Win98 machine (if you try, you'll wait for a few minutes and Windows 98 will say something like "the network resource is no longer available").

Run regedit on the Vista machine and navigate to:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA 

There should already be a value called nolmhash set to a value of 1.  Change it to 0.

This will make Vista file shares less secure but only to the same degree that XP was.

The final step is that on the Vista machine you have to reset the password for the local user account that you will be using on the Win98 machine to access the share.  You can set the new password to be the same as the old one but by going through the change process, it changes the way the new password is decoded by Vista (to the old method used by XP).  Now you should be able to browse the network neighbourhood to the Vista machine from the Win98 machine and access files on the share. 

I still had some weirdness after this in that I could write new files and rename existing files on the share but not open existing files for reading or copy a file from the share to my Win98 local disk.  Some kind of permissions problem on the Vista machine but in my case I only needed to write logged data to the share and rename yesterday's file (and I could do this) so I wasn't going to fret too much about not being able to read/copy files.

There were some bugs in the Win9x DSClient package originally and these did apparently get fixed in a Windows 2000 Server service pack but you can't download this updated DSClient package separately for some reason (unless you have a Windows 2000 Server and get it in the service pack).

So for now (at least), my Windows 98 laptop lives on to fight another day!

Monday, July 19, 2010

Saved From the Dustbin

In a move to reduce the power consumption of my "server" room upstairs, I replaced the XP desktop machine that was doing file serving, CCTV recording and mail filtering with a Vista laptop I picked up at a car boot sale for £20. It was a bit busted, the power supply was lost along with the battery, and the OS was trashed but as a server it doesn't need all the keys on the keyboard to work, doesn't need a battery as it will live exclusively on the mains and I found a matching power supply at the same car boot sale for £1. Best of all, the hidden recovery partition was still in tact on the hard disk so I could re-image the machine and now it works fine. It consumes a mere 25W of power compared to the 110W of the old desktop, greatly extending the time the server can run on solar power.

My wife's laptop recently expired from overheating - a design defect in the HP G60 series :( but the memory from it was compatible with the car boot machine so it now has the salvaged RAM from the dead HP.

The HP may yet live though. In the spirit of "make do and mend" to reduce the waste of throwing things away that can be fixed, I found a company that specialises in repairing the G60. It usually dies because the graphics processor had a poorly designed heat sink. It gets too hot and the the solder joints on the chip fail. The company resolders the chip on the motherboard and then fits a new customised copper heat sink and an upgraded BIOS that makes the fan run faster all the time to prevent the problem recurring.

The operation runs from a garage in Thatcham and I was shocked to be met at the door of an ordinary suburban house by a man in a white coat! He showed me the "lab" and the stack of machines awaiting repair along with a couple on soak test after being fixed. At £50, it will be an economic repair (if it works) and I'll have saved a machine from becoming unecessary land fill fodder. If it doesn't work, they only make a charge for return postage so I'll only have lost £10. I'll scavenge the hard disk for the new server (as the HP one is twice as big) and sell off the carcase to repairers who can use the LCD screen and plastic body parts to refurbish other G60's. There's a market for them on eBay...

"Waste not, want not..."