JEB's NIC Checklist
article #143, updated 1275 days ago

JEB’s Network Interface Checklist
version 2.4, 2/3/2011

  1. Any changes to NIC configuration may cause the network interface to cease connecting for a little while.  If it’s a server, this counts as “server down” for at least a few minutes.  Occasionally, if a driver is old or the machine has not been rebooted in a long time, a reboot may be necessary for the NIC to work again after certain changes are made.  It is generally best to not make changes unless there are performance issues or specific concerns about network behavior — but without these changes, overall performance often goes down more than 50%.
  2. Install the most current drivers.  If the NIC is Intel or Broadcom, install the driver downloaded from Intel or Broadcom, not from Dell or other third-party packager.  Often a third-party packager will have separated the application (e.g., “Intel PROset Application”) from the driver (“Intel PROset Driver”); in such a case, the application needs to be removed before the update installation begins.  For Intel drivers, the fastest route for the download is to go to http://downloadcenter.intel.com, search for “prowin32”, and click the link with the latest version (15.1.1 at this writing).  The link will take you to a page with both 32-bit and 64-bit drivers.
  3. For Server 2000, Server 2003, and XP, turn all offloading off.  This is actually a requirement, not just a recommendation, discussed in certain Microsoft reference materials.  In one case in the recent past, SBS simply failed to serve file or print to any workstation, unless this was done; in all cases thus far there has been an increase in general network reliability and performance when this is done.  On Intel NICs, this is often under “Performance Options”.
  4. For Server 2008, Server 2008R2, Vista, and Windows 7, turn all offloading on.
  5. For anything including “Scaling”, set it to “off” or “Disabled”, for 2000, XP, or Server 2003.  This is another Microsoft essential. There is a pack which is included in 2003SP2 which is said to make “Scaling” help, but it does not always help.
  6. For flow control, “Respond Only” (or “Rx Enabled”) is preferred, but if this is not available, set it to “On”.  This is not the same as “Rx Enabled” or “TX Enabled” under offloading!
  7. For Receive Descriptors and Transmit Descriptors on most NICs, set them to the maximum, unless the server is desperately low on RAM.  For some the maximums are 2048, for some one or the other is 5000, for others it is much less.  Each descriptor takes 2K of RAM.  Some Broadcom gigabit NICs will yellow-flag if they are set to 2048; for these, set receive to 750, transmit to 1500.
  8. For Adaptive Inter-frame Spacing, set it to “on” or “Enabled”.
  9. In the NIC’s “Power Management” tab, turn everything off.  This may have to be modified if Wake-On-LAN is used.
  10. In Server 2008, only one NIC (or one NIC team) is permitted to represent the server on the network. If there are two active NICs, you will have to turn one off, or crashes and unpredictable behavior will result sooner or later.
  11. In Server 2008, IPv6 must be turned on, and not deleted. It does not have to be configured, but it must be turned on.
  12. It is very much preferable, for Server 2008 and most especially for SBS 2008, for a working IPv6 subnet to be configured, even if the server(s) are the only devices which are able to use IPv6.

Categories:      

==============

32-bit printer driver in 64-bit server! And the other way around!!!
article #129, updated 1275 days ago

OK, so we have that problem increasingly common, a 64-bit server, trying to serve a printer to 32-bit client machines, or vice versa. It took me a while, but here are two different methods I have needed, depending on situation.

First, see if current drivers are downloadable for this printer in the server’s mode (bit-width). If they are, we are able to use method #1, which is probably preferable, although method #2 may still work too. Here’s method #1:

  1. Download them in both 32-bit and 64-bit versions, install the printer to the server in its preferred (32- or 64-bit) mode, and test. Unpack the other driver in a good location, you will need it soon.
  2. Get the printer properties up, go to the Sharing section, set up sharing. Don’t publish to the Active Directory yet or you might drive somebody crazy. Click on Additional Drivers.
  3. You’ll notice “x86” or “x64” is unchecked, because you haven’t installed the other driver yet. Check it, and then hit OK. The system will now demand to be directed to where you have unpacked the other driver. Do so. It might work just at this point! But…
  4. …it may ask you for one of two additional things. It may ask for 32-bit install media; or, it may ask for particular files, e.g., ntprint.inf, or ntprint.in_, in 32-bit mode. It’s important to realize that the 32-bit requirement is for equivalent OS: a 2008R2 install requires files from 32-bit Windows 7, 64-bit Server 2008 requires files from 32-bit Vista, and 64-bit Server 2003 requires files from 32-bit XP. If you can supply these files, do it, and you’ll be done shortly; it has to be done just once per server, not per printer. If you cannot do this, you’ll need to use method #2.

If you cannot use method #1, or if there are no downloadable drivers for your printer, we go to method #2:

  1. If there are no downloadable drivers from the printer manufacturer, install the printer to the server using Windows built-in drivers. Under Windows 7 / 2008R2, there is a “Windows Update” clickable in the driver list, by which you can retrieve a much larger set of drivers than is included by default; this is highly recommended. The included Microsoft generics may help, there is a PCL6 and a PS.
  2. If there are downloadable drivers from the printer manufacturer, for the server OS, use them.
  3. Install the printer to the client. If you’re using Windows Update or built-in drivers on the server, use them on the client too. Otherwise, make sure that the client drivers are the same type as the server’s, i.e., PCL6 and PCL6, PCL5e and PCL5e, PS3 and PS3.
  4. On the client, log in as network administrator. Open up the properties of the printer. Click on Advanced. Click on New Driver. Notice the name of the wizard: you’re actually installing a driver onto the server, not onto the client!
  5. Choose the driver you want to install onto the server. Click Next et cetera. Watch the client driver install onto the server, over the network!
  6. Check it out the drivers on the server, Shared tab, Additional Drivers button. You’ll see one you need listed. You are done!
  7. If the New Driver method does not work, try doing approximately the same from within the Additional Drivers button; it works also, to add drivers to server from workstation, as long as you’re logged in as network admin.

Categories:      

==============

An Android Toolkit
article #918, updated 1275 days ago

Android is very interesting to study. It’s more or less the foundation-stones of a generic Linux, including kernel with filesystems and the ability (though usually not the built-in functionality) to run many standard system binaries, but depending on code running in an interpreter — a virtual machine set up like Java, but not Java — instead of most of what we have in a GNU/Linux OS setup.

The potential of Android to be useful is extraordinary. It is very lightweight, it achieves an enormous amount of functionality for very little code: Windows needs about 20-40 gigabytes, Debian Linux perhaps 10-20, for what Android 4 does in about 0.5.

Of course there are downsides. The most important one is probably the fact that right out of the box, very high responsiveness is probably more the exception than the rule, one usually has to work at it to get Android to be very very responsive, i.e., to respond as fast as you think or close. But it is very possible, even on hardware multiple years old, and the payoff is huge, because the Android software universe is very large, far larger than any other non-desktop OS.

So without more ado, here we have an Android toolkit confirmed at this date to be able to do very well on two Fujitsu Stylistic M532’s, and one HTC EVO 4G LTE:

  1. Rooting.

Rooting is very very important. Without rooting one is limited to the whims of the manufacturer of your device, and the manufacturer very much wants you to throw yours out and buy a new one as soon as possible. On the other hand, if one starts with rooting, one can buy a multiple-year-old device at glyde.com or other sources at very nice prices, fix it up nicely, and have something useful to keep for years afterwards. Raimod’s Root Master and also Kingroot are two very worthwhile rooting tools for a very wide variety of devices. The instructions can be a little difficult, and HTC requires a different step provided by HTC to be done first (to “unlock the boot loader”), but it is all very well worth the trouble when the steps below come next. If yours won’t root with either of the above tools, contact the toolmakers and tell them, and/or do a bit of research and see if you can find a way it’s well-known to be done for yours.

  1. Get a microSD card.

A microSD card is a tiny long-term storage device, smaller than your pinky fingernail. We have several uses for this below, one of which is immediately next. You’ll want either a Class 10 microSD card, or an SDHC card; 16 gigabytes is probably good, smaller ones are getting rarer and unless you plan on keeping a whole lot of music or video within your device, larger will not help. SDHC cards are faster, but not all devices support them. Class 10 microSD cards are a whole lot faster than the older Class 4, and thus the Class 10’s are definitely to be used.

  1. Speed up your device a lot with root-level memory management.

Once a device is rooted, we can speed it up a whole lot. The easiest way to do this is to change how Android manages memory, and we have found one very nice applet for this, called Swapper for Root, by DevLab Technologies.. It needs to be run just once; the most important setting is the Swappiness, set that to 10.

Swapper also can do something for overall system stability: it will enable virtual memory, not something default on Android, and we can tell it to place the page file on the SD card we added in the previous step. On my devices, the external SD card is /sdcard2 (and the internal is /sdcard), this does vary from machine to machine. I gave it the default swap file size for now (200M), if I ever learn a reason to change this I will post it here.

  1. Improve speed and stability by replacing OEM system-installed apps, with user-installed apps.

This is where it gets tricky, but the results are very desireable. The idea is that in their wisdom [ahem] the device manufacturers have shipped them with versions of vital applications in the /system area, a small partition which ordinarily cannot be touched or altered. Unless one uses root methods, one can only “remove updates” to these, one can not update the versions actually in the tablet, and I have found that this can cause interesting problems with updates not working, overall slower behavior, and worse things. I imagine that for the first year or so this helps the devices stay working by preventing alterations, but by the time the third and fourth year roll around, well…yah. So here we go.

You will need a tool which makes it easy not only to study system-level apps, but to reliably remove them. System Application Manager by Flaki is a very good example. There are quite a large number of apps out there which do the study, but which do unpleasant things with removals, especially due to something called “odexing”; on many Android devices system apps are “odexed”, and the practical implications are that removals fail unless the apps handle it properly. As of Android 5 there is something else replacing “odexing” which does effectively the same thing; S.A.M. by Flaki may not be able to handle that, so if you have Android 5 or up please let me know what you find!

You will also need a tool which makes it easy to see how you are doing with free space in your /system partition. This is actually quite a lot harder than I expected, but System Cleaner 2, also by Flaki, does it very well. System Cleaner 2 also can do something which I do not prefer; it permits actual updates of the /system partition app sets. I don’t prefer this for two reasons: (a) /system is usually almost full and has to be to hold the Android OS elements, and (b) I tried it, it said it successfully updated the Play Store and Play Store Services with the rest of the items, but the Play Store did not work from that point on, I had to use S.A.M. to remove Play Store and P.S.S. and install using APKs downloaded directly from Chrome. So I use SC2, but for diagnostics, to see what old apps remain in /system, and how much space there is in there.

The beautiful thing is, once one uses S.A.M. to remove system apps altogether, one can replace them, and the replacements are not system apps (taking up that precious space in /system), but are user apps. So my situation with the Play Store and P.S.S. eventually became beneficial, I gained increased reliability and speed in general. For other apps — Chrome, content-specific Play items, and third-party things installed as system apps by the manufacturer — I just remove them using S.A.M. and install them anew from the Play Store and all is wonderful.

  1. Move apps to your microSD card.

This will save space on the internals of your device, and also, if you have a nice fast microSD card as recommended, will gain you overall speed too. Just go into Apps under Settings, touch the name of each app, and if it can be moved, the option will be lit. Highly recommendable. There are non-system apps which can not be moved, and so this is a step to keep your device working well, especially if it is one of the more bargain ones with very small internal storage. This does not require root, but it is by far the least of the list!

Categories:      

==============

The New Hunsinger Windows Update Clog Destructifier
article #979, updated 1275 days ago

Mike Hunsinger, who has been addressing Windows Update issues with considerable success over time, recently provided for the following writeup. It is useful when:

  • Windows is running slowly or generally unreliably, needs rebooted frequently.
  • The Windows Update service spikes CPU usage over 70% when it runs.
  • When you check for new updates, it just hangs endlessly on “checking for updates”.
  • The last successful update was years ago.

Steps:

  1. Clean up the system drive.
    • Before Server 2012, use Disk Cleanup (cleanmgr.exe). Be sure to check “service pack backup files” and “windows update”, if the version of Windows you are running gives these as options.
    • Server 2012 and after, use DISM (dism.exe). Run this in administrative CMD:
      dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
      If it reports “The operation could not be completed due to pending operations.”, you have just been told that a server reboot is necessary and you’ll need to do this again afterwards. After it succeeds, do this:
      dism.exe /online /Cleanup-Image /SPSuperseded
  2. Run the following as a .bat file to reset Windows Updates caches and working spaces, rereg some dll’s, It works on all versions of windows, may skip some dll’s depending on the OS version:
@ECHO OFF
echo Simple Script to Reset / Clear Windows Update
echo.
PAUSE
echo.
attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc
net stop BITS
ren %windir%\system32\catroot2 catroot2.old
ren %windir%\SoftwareDistribution sold.old
ren "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader" downloader.old
regsvr32 /s wuaueng.dll 
regsvr32 /s wuaueng1.dll 
regsvr32 /s atl.dll 
regsvr32 /s wups.dll 
regsvr32 /s wups2.dll 
regsvr32 /s wuweb.dll 
regsvr32 /s wucltui.dll 
net Start BITS
net start CryptSvc
net start wuauserv
echo.
echo Task completed successfully...
echo.
PAUSE
  1. Install .net 4.5.1 from here: https://www.microsoft.com/en-us/download/details.aspx?id=40779
  2. If it says that an =/> version is already installed, run the .net repair tool from here: https://support.microsoft.com/en-us/kb/2698555
  3. Download the latest version of Windows Update from here: https://support.microsoft.com/en-us/kb/949104
  4. Next update IE or Edge to the latest version using a redist, here’s the one for EI11, https://support.microsoft.com/en-us/help/18520/download-internet-explorer-11-offline-installer
  5. Open IE11 or Edge, add update.microsoft.com to trusted sites, popup blocker exceptions, privacy exceptions.
  6. Finally, try re-running Windows Update. The “Checking for Updates” may run quickly, or it may take 4-6 hours to populate results.

We have had the best results by updating in batches after this, first any critical SP’s or major Platform Updates. Then security, Office and the others as deemed necessary. Once you’ve completed a couple rounds of updates, the difference should start exhibiting itself with regards to the symptoms named.

Categories:      

==============

Use Group Policy to set PC/Laptop Local Admins
article #1443, updated 1277 days ago

Here’s a very nice article.

Categories:      

==============

Run CMD as SYSTEM
article #1428, updated 1296 days ago

For certain tasks, it can be helpful to run CMD as SYSTEM. This can be done with paexec:

paexec -s -i -d cmd.exe

or psexec:

psexec -sid %SYSTEMROOT%\System32\cmd.exe

Categories:      

==============

Download Many ISOs of Windows 10 and 8
article #1429, updated 1301 days ago

This is a third-party page which initiates downloads from Microsoft:

tb.rg-adguard.net/public.php

And a very nice one for the very latest build of Windows 10:

www.microsoft.com/en-us/software-download/windows10

And another for Windows 8.1:

www.microsoft.com/en-us/software-download/windows8ISO

Categories:      

==============

Migrate a Windows Domain from NtFrs to DFSR
article #1437, updated 1317 days ago

This is a great article:

https://www.rebeladmin.com/2015/04/step-by-step-guide-for-upgrading-sysvol-replication-to-dfsr-distributed-file-system-replication/

Categories:      

==============

Scripting a Universal Popup
article #1436, updated 1320 days ago

Every scripting language which runs on Windows can call multiple methods of bringing up a popup to users. However, only this CMD method seems to do it for all users, and be callable universally:

msg * /time:9999 /v /w Put your message here!

Categories:      

==============

Very very quick anonymous FTP server to set up
article #1435, updated 1325 days ago

This one really works:

http://www.pablosoftwaresolutions.com/html/baby_ftp_server.html

40 megabytes per second across a double LAN segregated with two routers. No authentication or encryption, just use it if you have to get data across fast, then take it down immediately.

Categories: