Showing posts with label Windows. Show all posts
Showing posts with label Windows. Show all posts

October 19, 2020

Join Windows XP to Windows Server 2019 domain


Unfortunately, I still have Windows XP clients, and I couldn't figure out how to join them to the Windows Server 2019 domain. The error was a simple "An internal error occurred." with nothing in the event logs. I thought the error could be related to SMB1, but it wasn't. I also thought it could be because it's simply not supported, but from Google searches it appears to be possible. It also didn't seem to be related to the domain functional level.

After months and months of hair pulling, I figured it out thanks to a seemingly unrelated blog post. The post talks about problems joining 2008 R2 domains. I had no issues with 2008 R2 since before the upgrade that was what we were using. But installing KB969442 instantly allowed me to join the XP systems to the 2019 domain (functional level is 2016 of course). Funnily enough the post was from nine years ago to the day. The blog looks abandoned like mine but I left a message there thanking the owner.

Now I can continue to use unsupported OS's.

September 30, 2020

Windows update install now

 

The computers in my domain have Windows Update configured by GPO and normally should automatically download and install cumulative updates. (I'm lazy and I use WUfB.) However, recently I discovered that some computers get stuck with Status: Pending install and the button saying "Install now" and will not continue without user intervention.

We use PDQ Inventory and Deploy in our environment, so I figured I could probably send a command to these computers to force the install. Turns out this is a lot more difficult than it seemed at first. Google search suggests using wuauclt and usoclient, but these commands don't seem to do anything. Further research suggests that these commands have been deprecated in the latest Windows 10 versions. I then tried various PowerShell modules and WMIC commands and nothing worked. I think one reason is that Windows 10 computers in a regular enterprise environment expect to be shutdown and awakened regularly for updates. Unfortunately a lot of my computers have to be operational 24-hours without a fixed downtime, and then some computers are laptop computers that don't want to be awakened at night.

Turns out there's a really simple solution to all this. PDQ Deploy has built-in packages for Windows Updates. Applying the Windows Update package seemingly does nothing, but at the next reboot, the pending updates get installed automatically without user intervention, then users simply need to choose the update option next time they shutdown or restart. I looked in the PDQ Deploy package and all it does is stop the Windows Update service, install the latest servicing stack update, install the cumulative update, then restart the Windows Update service. Magic!

February 7, 2020

Cumulative patch

We have a long weekend coming up, the first of the year and all systems will be offline for the long weekend. Since we're moving on to Windows Server 2019, I decided this is a good time to upgrade the lone Windows Server 2016 we have on site.

At 5:00 PM sharp I noticed all the users had already left since there were no OT. At 5:01 PM I started a backup process which finished in about 10 minutes. Unfortunately, before I started the in-place upgrade, I looked at Windows Update and it has a cumulative update. Well, couldn't hurt to be on the latest cumulative patch level before doing the upgrade.

Four hours later...


January 14, 2020

Bye 7


Today marks the end of life of Windows 7, Windows Server 2008, and Windows Server 2008 R2. Of course, being EOL only means Microsoft stops supporting it, doesn't mean we're required to stop using it. After all, we're still using Windows XP and Windows 98. But Windows 7 is so much more complex and more widely deployed, and in today's social media world, almost every one knows about the EOL, not just us sysadmins.

Windows 7 (and Windows Server 2008 R2) was truly the best desktop OS I've ever used. Windows 10 is a bit more streamlined and obviously more modern looking in the year 2020, but still has UI disconnections that slow me down. But I've already been using Windows 10 for quite a while and being an evolving OS has its advantages. Each release adds things and modifies the look, and even though my users are constantly confused I find each release to be easier and faster to use.

Windows Server 2019 has been fast and stable too. Maybe in a few more years I'll say that Windows 10 (and Windows Server 2019) was truly the best desktop OS I've ever used.

January 3, 2020

Windows 10, .NET 3.5, and TLS 1.2

One thing about Windows 10 is that even though they're all called Windows 10, each major update are sufficiently different that things can break. I rolled out Windows 10, version 1909 to all users a few weeks ago, and sure enough, something broke, maybe.

On the very first working day of 2020 at 8:30 a.m., users called in to say the program they use to upload exchange rates doesn't work and returns a cryptic error message: The underlying connection was closed: An unexpected error occured on a send.


The program is actually very simple, it connects to the Bank of Thailand's website and simply downloads the current exchange rate in Excel format. It then parses the Excel file and ports the exchange rate data into the ERP system. The error seems to suggest the file doesn't exist or there's some other connectivity error. The Bank of Thailand changed their website layout once many years ago, but I seriously doubted they would do this on the very first day of the year. Sure enough, the website still exists and a manual download of the file worked fine, so the issue must be elsewhere.

I asked the users when they started having the issue, and they said they've been having it a while, but since we were busy with end of the year stock taking and moving servers, they decided to do manual entry instead of reporting the issue. Well that sucks.

A Google search for the error message suggests that it's due to newer operating systems defaulting to TLS 1.2, but I know that the program worked fine in Windows 7, and we rolled out Windows 10 quite a while ago, and it worked until recently, and since the users weren't sure when they started having the issue, I wasn't sure if 1909 was the problem.

However, TLS sounded right since the program was developed using Visual Studio 2008 with .NET 3.5. Many solution I found on the net were impossible to do since they suggest modifying the code with SecurityProtocolType.Tls12, but my version of Visual Studio doesn't have such an option. A lot of the solutions also suggest upgrading to .NET 4.8 which is also impossible. Finally, after about three hours of searching and trying all kinds of different things I managed to find an easy to implement solution. The surprising thing about this solution is that it doesn't involve registry editing or installing a hotfix, which is much easier for me since I have the source code. I guess most of the other solutions try to modify the OS since most legacy apps probably don't have the source code available any more.

Fortunately, after the modification the program worked fine and the users are happy again. Unfortunately the program no longers works in Windows 7, but we're phasing Windows 7 out any way so I decided not to modify the program to work with both Windows 10 and Windows 7.

December 31, 2019

Bye Windows 2000 Server



On the last week of 2019 I finally decommissioned our old Windows 2000 Server. This server has served us well for 19 years. I upgraded all the way to Windows Server 2019 which couldn't be done in a single step, so I had to get a computer running Windows Server 2008 R2, migrate the domain to 2008 R2 (and raise the functional level), then migrate again to 2019.

The preparation for the migration took more than a year since we still have a lot of old apps and computers, I even had to get Windows 10 to join the Windows 2000 domain before the domain could be upgraded. I simulated the migration in VMware many times before doing it in production, so everything went relatively smoothly. I've actually done a 2000 to 2008 R2 migration once before around 10 years ago at my secondary site. One gotcha that took me by surprise was that adprep was an entire folder and not a single .exe file.

I hope the next upgrade won't be so far into the future. Happy 2020!

September 25, 2018

Join Windows 10 to Windows 2000 domain

We bought new computers that only support Windows 10. I tried to install Windows 7 on them but it didn't work very well, besides, we could no longer get Windows 7 licenses, so we finally started rolling out Windows 10 to the users. I immediately ran into issues joining them to the old Windows 2000 domain. Google search returns Windows 10 no longer supports Windows 2000 domains and old servers need to be upgraded. Hmm, I distinctly remember joining Windows 10 computers to the domain since some managers have had new computers since last year, it's only the users are getting Windows 10 right now.

After more searching I found sites saying that security policy needs to be modified. I also don't remember doing anything like that previously. I checked my notes and I had nothing on issues with Windows 10. After some brain wrangling I figured that it must be something about SMB. It turns out that SMBv1 is not installed by default only on newer versions of Windows 10 as described in this article. We did new installs using 1803 and SMBv1 is no longer included which was why it worked last year and no longer works now.


Adding SMBv1 back is just a matter of turning on a Windows feature, and after that Windows 10 can be joined to the Windows 2000 domain without issues.

End note: yes yes, I know that old servers should be upgraded, we have some new servers but they've yet to be put into production mostly because old programs need a lot of time to be ported. I hate it when people tell me old hardware or software are no longer supported, just upgrade.

February 14, 2018

Can't boot into Windows after BIOS update

I think the scariest thing for a sysadmin is Windows failing to boot, especially after an unnecessary (?) BIOS update. Recently we got two Lenovo ThinkServer TS150's. They're cheap and work really well, and we quickly put one into production since the old server just suddenly up an died. So I was staring at the other server sitting there doing nothing except having a brand new install of Windows Server 2016, and seeing that the BIOS is dated 2016 and the latest is 2018, so I decided to upgrade the BIOS.

After the flashing was completed and the system rebooted, I got a black screen and this text: Error code 1962 - No operating system found. Well, the BIOS must've been reset to defaults. Go into BIOS, nope, everything is same as before. Maybe there are new BIOS options... tried some different configurations... didn't work... tried every possible configuration... didn't work... tried resetting to defaults... tried optimized setting... tried swearing... nothing worked. Luckily I have the other TS150, but since it's in production I had to wait until midnight to take it offline to look at the BIOS. Compared all settings and they're all identical except for the BIOS dates. Tried all possible configurations again just in case I missed something.

Next, I tried using Linux Live CD's, Windows 10 Live DVD's, and also Window' own rescue mode to flash different versions of the BIOS. Nothing worked. Tried going back to the original BIOS dated from 2016 but it wouldn't let me. Apparently there was a security update in 2017 and they disabled going back to older versions.

Next, I used rescue mode and the bootrec command to tried to fix the boot sectors. No go.

Gave up. Tried installing Windows from scratch. Nope, Windows complains that it can't be installed to this disk because the hardware may not support booting to this disk. Nooooooooooooooo.

Punch reset button in frustration. So while I was tearing my hair out again and pondering what to do next, I suddenly saw the familiar screen.


And next thing I know, Windows Server 2016 was booted up like nothing has happened.

After much head scratching, I discovered the reason it booted was because it was booting from the Windows install DVD, and because I was tearing my hair out and ignoring the server, the "Press any key to boot from CD or DVD..." prompt timed out, and it automatically booted into Windows. Nothing was changed in the BIOS, the boot sequence was correct, and after testing I confirmed that it will only boot Windows if it was booting from the DVD initially then let the prompt time out.

So... apparently after any BIOS update, something somewhere got modified in the boot sector and it would no longer boot correctly. But booting from the DVD then letting it time out seemed like a really strange thing, since this suggested the hard drive's boot sector was still functioning properly, it just wouldn't boot as the first boot device. Tried searching Google for this problem and found thousands and thousands of people with similar problems and no real fix except things I've already tried. Most ended up reinstalling Windows, which didn't work for me.

Well, after a week of even more head scratching, I finally came up with a working and reproducible solution (workaround). The ThinkServer came pre-configured with two hard drives which are configured as RAID1 array using the onboard Intel RSTe. I'm guessing the problem could be related to the Intel chipset and the RAID array configuration, but a BIOS update should not mess it up so much. Anyway, the fix was to remove one of the hard drives from the RAID array by booting into the Intel RSTe configuration screen and selecting the option "Reset Disks to Non-RAID". Remove one of the drives then add it back immediately. After that reboot into Windows using the DVD workaround method above. After the array was re-built, Windows could boot normally again.

Now let me go test this on my production server.

February 28, 2012

Arduino Uno serial port

I finally bought an "original" Arduino Uno. It costs far more than the Arduino Mega local clone that I've been using, but the main reason is because I want to see how the ATmega16U2's COM port emulation works in Windows. (I have the Uno R3, older revisions of the Uno has the ATmega8U2.) Of course, I want to support the Arduino project.

Older Arduino's and most of the Arduino clones use the FTDI FT232R chip for the USB UART. FT232R works great with Windows, and has the ability to change COM ports, which is really important for supporting older programs that have fixed COM ports. In fact, after discovering how good the FT232R works from using my Arduino Mega clone, I started buying USB to RS232 adapters that use this chipset, and they work with everything I've thrown at them, including DOS applications running in Windows.

One feature the FT232R chip has is that if the COM port is fixed to a particular adapter or Arduino board, Windows will remember the setting and it will continue to be that COM port, unless manually changed. This is important if I have multiple serial port devices all connected to the same computer. They all remember what COM ports they're supposed to be, and everything just works.

You might think this is the standard USB behavior for Windows, but NOOOOOOOO. Recently we got some industrial barcode printers from Argox. While they're decent barcode printers, whoever designed the idiotic USB interface needs to have infinite barcode printers stuffed up their behinds. The problem is that every single Argox printer looks like the same printer to Windows. So whichever printer I turn on first is always "Printer 1". This might be fine for people with just one printer, but I need to have multiple different sized labels printed simultaneously. So my users have to remember to always turn on their printers in a particular order.


Anyway, I discovered both the FTDI driver and the standard Windows driver lets you change the COM ports without any limitation. But the FTDI has an additional option that's really useful: the ability to disable the serial port enumerator. The serial port enumerator is a left-over thing from when mice were plugged into the serial port. If Windows sees incoming data over the serial port when booting up or configuring hardware devices, it will automatically configure the serial port device as a mouse. This is problematic if you have an Arduino or other serial port device connected, and your mouse pointer goes crazy, this is what's happening.


Unfortunately, Arduino Uno's ATmega16U2 emulates a standard COM port so perfectly, it still uses Windows' own driver. Fortunately, the ability to change the COM port number is still there, but sadly there's no built-in way to disable the serial port enumerator.

Before Windows 7, Microsoft had a COMDisable Tool that does the job. With Windows 7, it looks like you're outta luck. Either go back to Windows XP, or use an FTDI based adapter with the serial port enumerator disabling option. But wait, what about the Arduino Uno? Well, don't let it send data over the serial port in a mouse-like manner, and all should be fine.

... Speaking of serial port mouse. You think Apple invented shiny white products? Nope, Microsoft did with the 9-pin serial mouse, also known as the soap mouse at the time. It was shiny and white, and five minutes after you start using it it's covered with fingerprints and scratches, and people loved it. I had one and I hated it.

Image courtesy: The MCA Mafia

September 15, 2011

Virtual Windows 8

I installed Windows 8 Developer Preview in VirtualBox. I normally use VMware, but for some reason it didn't work with VMware, so I tried installing it in VirtualBox and it worked, er, out of the box.

The setup is simple and somewhat faster than Windows 7.



I'm installing Windows 8 the minute it's released. The reason? The up arrow returns!

September 14, 2011

Windows reimagined

I watched the Windows 8 keynote streamed live from Microsoft BUILD. It was really interesting, and I could already hear my users exclaim, "Windows 8 already?! We haven't even started to use Windows 7 yet!"

In one of his motivational talks, my boss said that we should continue to improve ourselves, otherwise we wouldn't be learning from experience. If we worked on the same thing for ten years that we learned on the first year on the job, then our work experience would be just one year and not ten years. Well, in this case, my work experience would be exactly 0 years, since we keep getting new things year after year after year. I'm downloading the developer build of Windows 8 right now.




May 11, 2011

From zero to hero

Computer books get outdated so fast, but I still buy them once in a while even though I have an iPad just for reading ebooks. It's just awesome to have (almost) my entire library in ebook format and always have them with me, but they're somewhat poor as a reference tool if you need a whole series of instructions (such as doing an installation) and need to keep going back and forth between a number of pages or even chapters, and searching is really slow on the iPad. I've yet to try PDF reading on the iPad 2 (since I don't have one), but the faster processor could help with both issues.

Anyway, my most recent book purchase is Windows Server 2008 R2 Unleashed even though I already bought the ebook earlier. I've always bought Microsoft's own books when it comes to Windows servers and I wanted to get Windows Server 2008 Inside Out but for some reason it wasn't updated for 2008 R2. I know that R2 doesn't have that many new features, but it's nice to have the latest edition and to prevent a new edition from being released the instant I buy the current edition. The book is 1600+ pages and has thin pages similar to the pages you normally find in the Bible, so physically the book is not that thick, but it's really heavy and I get a free workout every time I pick it up.



It's not always a good idea to buy the ebook then the paper book. O'Reilly has an offer where if you already have the paper book you can register it then "upgrade" the paper book to an ebook for only $4.99. Of course, nothing stops you from registering a book that you don't actually own, but hey, honor counts when it comes to ebooks.

Before ebooks and the term n00b were invented, I uesd to buy lots of books, and I kept almost all of them. Running Microsoft Windows NT Server 4.0 was the one that got me started in all this.

May 10, 2011

Like getting a brand new computer

Now that Sandy Bridge is out in force, I've been seriously thinking about buying a new notebook. I went backwards a bit earlier this year when I stopped using the MacBook and switched to an older ThinkPad X61 with Core 2 Duo, and when I play with friend's newer Core i notebooks, the Core 2 Duo just feels slow.

However, one of my most frequently used programs is VMware Player, which is far more dependent on RAM than on raw CPU power. I have a virtual network inside VMware that consists of a domain controller and multiple Windows client versions that I use to do my testing, and having only 4 GB of RAM sucks when I need to open more than two virtual machines. I decided I should either get a new notebook so I can get cheap DDR3 RAM, or hold out by getting expensive DDR2 RAM or getting an SSD.

So... while searching online for some RAM and SSD prices, I found to my dismay that to take advantage of SSD speeds, I needed a BIOS hack for the X61 to enable SATA II speeds. The same BIOS hack also has a function called Dual-IDA that forces IDA on both CPU cores. Intel Dynamic Acceleration is the precursor to Turbo Boost that Intel heavily advertises on the Core i5 and i7 CPU's. But back in the Core 2 Duo days, they've already had this technology. The basic idea is that if you're only using one CPU core, it automatically overclocks by one multiplier level (i.e., 200 MHz on my Core 2 Duo T7100 CPU). The BIOS hack forces this overclocking on both cores all the time. So my 1.8 GHz T7100 would constantly run a 2 GHz. The equivalent CPU would be the T7250.

The BIOS upgrade turned out to be really hard. The ThinkPad BIOS upgrade utility for older notebooks don't work in 64-bit Windows, so I had to burn a bootable CD. The bootable CD upgrade program didn't work with the original Lenovo DVD-ROM drive that came with X61, it just says no CD-ROM drive found. So I searched around for one of those WinPE rescue discs, which also didn't work since they don't seem to detect that I have a battery, and the BIOS flash utility doesn't work if it doesn't detect a battery.


Sigh. Finally I found an old hard drive lying around. I swapped the hard drive in the X61 and installed 32-bit Windows 7 just to do the BIOS upgrade. With the BIOS upgrade and IDA enabled. My Windows Experience Index for the CPU went from 4.9 to 5.0, and CPU-Z shows the CPU clocked at 2.0 GHz.



After flashing the Dual-IDA capable BIOS, I had to use ThrottleStop to actually enable it. ThrottleStop also allows adjusting the CPU core voltage to more manageable levels. Normally, the core voltage dynamically adjusts itself according to the CPU speed. But since the speed is now locked at 2 GHz, it would be always using maximum voltage. Eventhough the core voltage is still fixed, but I could adjust it down, and the image above shows that it's fixed at 1.05 V. Even though the CPU now runs hotter at idle, but when the CPU load is higher, the temperature is cooler since it's locked at 1.05 V.


In addition to using the Dual-IDA BIOS, I decided to go for the DDR2 RAM. The RAM was really really expensive, but it's still cheaper than having to buy a new notebook just to use the newer DDR3 RAM. VMware Player now screams with 8 GB of RAM, so I'm happy again. At least I can put off buying a new computer for at least a year, or until the X61 breaks down.

April 20, 2011

RAIDers of the lost archives


I don't know about other IT support people elsewhere, but for me, we always have computer problems after a long break, like the first day after the New Year, or, often worse, the first day after Songkran festival.

On the last day of the long Songkran festival vacation, the employee RFID scanner's UPS died and somehow took out the scanner's power supply, I had to quickly find a replacement power supply before people started coming in to work. At 8 AM on the first day of work, everyone started turning on the lights and computers at the same time, and all the breakers automatically cut off. Normally someone just had to manually reset the breakers but for some reason resetting didn't work this time, so they just called the building maintenance people then switched all the breakers off, without notifying the IT people, and then the power to the servers went out.

After the power came back, the affected RAID drives (the SQL server has an SSD RAID1 array) started rebuilding themselves, and I started getting support calls that users can't login to the ERP database. I looked at the SQL server and saw alert level 024: Hardware Error. Unfortunately, eventhough I have a nightly backup routine, it failed to activate since earlier last week, and the SQL Agent didn't notify me of its failure. If I restored from last good backup, I lose two days of work and get killed by the users and the boss. If I repair the database, I lose less work but my ERP support guys have to fix it. DBCC CHECKDB REPAIR_ALLOW_FOR_DATA_LOSS it is then.

Fortunately, there wasn't much data loss and internal consistency wasn't compromised, but my ERP guys are still working on the problem as I'm typing this. Later in the afternoon, more support calls started coming in from users using non-standard clients such as Windows 98 and things like scanners that automatically scan and save to shared folders on the server. I turned my attention to the new domain controller to check user and folder rights. Then I notice a little blinking icon on the task bar: one drive on the RAID array had failed.

One of the first posts of this blog was about putting Western Digital RE2 drives into a Buffalo TeraStation. That was in early 2008. Three years later, five of the original fourteen RE2 drives I bought have already failed. The reason I got fourteen drives at the time was to put four each into two Terastations, and three each into two Windows servers. I thought these are supposed to be special drives designed for RAID use, but the stupidly cheap "consumer" drives that I also use for RAID have not had any problems, and these expensive RAID drives are dropping like flies.

One time it was so bad because one drive failed in a TeraStations' RAID5 array, and when I put in a new drive to rebuild the RAID array, another drive went bad took out the entire RAID array. I had to reflash the firmware to bring it back. Last year, one drive in a server's RAID5 array went bad, imagine how bad I felt when it took 30 hours to rebuilt the array.

Luckily I happened to have a test server in an isolated network, so I quickly joined into into the domain and promoted it as a domain controller, then proceeded to replace the failed drive.

During Songkran vacation, while I worked to replace the old server, which I'll write about another time, there was a bunch of half-naked ladyboys outside making noise and splashing water. Had I known I was gonna have all these problems, I would've invited them to come in and just blow up my servers and preemptively end all this misery.

My SQL data and failed hard drive have gone to Bit Heaven. They served well and died without thanks. May they rest in peace.

April 16, 2011

Throwing hardware at the problem

My ERP project had been live for a few months, but I never managed to resolve the slowness issue. I'm not very good with SQL Server, and all the optimizations I did probably had limited effects on the performance since Dynamics NAV's C/SIDE code is executed client side and the idiots I have for consultants don't know the difference between native database and SQL Server. I couldn't get to the ERP's code, and even if I could, I probably wouldn't want to hack the code anyway.

Few months ago my boss suddenly told me that we made huge profits this month, and to avoid paying huge amounts of tax on the huge profits, he's giving me special permission to buy stuff. A lot of stuff.

Old server specs (purchased in October 2007): Intel Core 2 Quad Q600 (2.4 GHz), 8 GB DDR2 RAM, ASUS P5K Premium, and 2x500 GB SATA (RAID1). (Was 3x500 GB SATA RAID5, but I listened to the consultants and changed the RAID5 to RAID1, with no difference in speed whatsoever.)

New server specs (purchased in late 2010):


Oh wait...

New server specs: Intel Core i7-950 (3.06 GHz), 24 GB DDR3 RAM, ASUS P6X58D Premium, and 2x160 GB SSD (RAID1).

Windows 7's experience index score is 7.5 on the CPU and RAM, and 7.9 on the hard drive. I wanted to buy a faster CPU, but the 950 is most cost effective, and RAM is maximized for Core i7.

Oh, and the ERP didn't run any faster than before. None whatsoever.

I've talked about my Core 2 Quad Q6600 servers many times before. They were originally bought to replace the older domain controllers and run the ERP database. But I used them for SQL only due to performance recommendations, not that it made any difference since my database is so small. Now that I have the Core i7 dedicated to SQL, I decided to replace domain controllers with the Q6600 servers, and also upgrade the entire domain to 2008 R2 functional level.

February 25, 2011

Bye OS X


It might be funny to pick the day of the Intel Core 2011 Macbook Pro introduction to post this, but after two years of mostly enjoying OS X, and learning to program Objective-C, I'm going back to Windows. To be precise, I'm moving on to Windows 7, and not going back to Windows XP.

Oh, I love OS X and its Unixness, but there are just so many things that prevent me from being a happy and productive user. One of my biggest gripes is that I can't print to any of my networked printers except an older LaserJet that has a JetDirect card. But even with that printer, I have to manually select Tray 2 every single time, eventhough it's already set to Tray 2 by default both in Settings and in CUPS, but it doesn't work. Still, once in a while it would completely refuse to print, and I would just twiddle my thumbs until it would suddenly work again after a random number of hours, sometimes after days.

My MacBook is the early 2009 model upgraded with 4 GB of RAM and a 320 GB 7200 RPM hard drive, but it's just so unbearably slow. I try to avoid websites with Flash, since that just slows it down even more. I'm back to using an older ThinkPad X61 (the one I used to test all the Linux distributions). The X61 is 3.5 years old and only has 2 GB of RAM, but it's running circles around the MacBook. Oh, and the X61 is running Windows 7 Professional 64-bit, while the MacBook is running OS X 10.6.6.

I'm also back to using Firefox. Firefox was unusably slow on the Mac, so I changed to Safari like a good OS X user should, until I ran into problems with non-English filenames, then I switched Chrome. Chrome is really really nice, but it doesn't support automatic downloading using a download manager, and again, Flash is unusably slow. Flash is really fast on Safari, and Safari works with download managers, so I ended up having two web browsers open all the time.

I really miss iCal though.

February 24, 2011

Windows Server 2008 R2 SP1

Service Pack 1 for both Windows Server 2008 R2 and Windows 7 was out for Volume Licensing customers since last week, and was released into the wild earlier yesterday. I didn't have time earlier to download it from the Volume Licensing site, but I decided to take some time to download my updates today.

For some stupid reason the downloads keep getting stuck at exactly the same place every single time. For example, the Windows 7 Professional X64 English ISO, which is 3,181,668,352 bytes, always gets stuck at exactly 2,682,257,408 bytes, even if I use a download manager, even if I use Microsoft's own Java-based download manager, even if I use IE instead of Firefox. I tried downloading around the erroneous byte by using Flashget, but even when the file is 100% loaded, that single problem byte is still stuck and attempting to load it just gives me a server error. After trying numerous times, I looked at my firewall logs and noticed I've already downloaded over 100 gigabytes today, without getting anywhere.

Luckily, I still have The Pirate Bay at my disposal. So even though I'm a Volume Licensing customer for both Windows 7 and Windows Server 2008 R2, along with a whole bunch of other Microsoft products, I ended up having to download ISO's from The Pirate Bay. Arrrrrrrrrrr!


Update: after a few weeks, I went back to the Microsoft download site and still couldn't download the problem files. I found a place for leaving comments and left a comment, and a few days later, I could successfully download the files. I don't know if the problem was with Microsoft or with the local Akamai mirror on my ISP, but it's hard to imagine I was the only person with problems...

October 21, 2010

Windows Server 911

What could be worse than never performing backups? Server crashes in the middle of the backup process. Which was exactly what happened to me a few days ago, while I was backing up SQL data off our ERP server, and then the work day started and users started calling in the complain.

After the server rebooted, the Intel ICH RAID started rebuilding itself and was stuck at 33% and the ECC errors kept on climbing, which indicated a bad hard drive. The Intel console didn't say which drive was going bad though. Fortunately, the BIOS settings page did say that drive 0 was bad, so I replaced the drive with an identical one.


Unforunately, after the drive was replaced, it restarted the RAID building process, but the Intel Matrix Storage Console also complained that there's a missing drive. I kept wondering if I did something wrong, but luckily, after about 30 hours of RAID rebuilding, the process completed and everything was fine, and the missing drive error disappeared. (I didn't capture an image of the missing drive error, since I thought it would be there even after the rebuild was complete.)


So everything turned out to be fine. But during the 30 hours that the RAID was rebuilding, I took another full backup of the SQL data and restored it into my server's identical twin with the newer OS. So now I have two identical servers with different OS's and different versions of SQL Server.

The older server is Windows Server 2008 with SQL Server 2008, and the new, live, server is Windows Server 2008 R2 and SQL Server 2008 R2. After some testing, I decided to just take out the older server and replace it with the new one, since I've been wanting to upgrade to R2 for a while. So the drive crashing and stressful server rescue (and getting abused by the users) turned out to be a good thing after all.

Before:




After:



Oh, and what could be more stressful than bringing a new server with restored databases online? A database went missing. But this was a result of the bad information our ERP consultants gave me (i.e. I should always restore database backups using the ERP client and not using SQL Server), which further proves their uselessness.

August 18, 2010

Skype no sound

One of my users complained to me that her Skype contacts couldn't hear her. We had recently upgraded her computer to Windows 7 x64 so I figured it must be a bad setting in the recording device. So enable microphone boost, turn up the recording volume, make sure the microphone actually works, make sure the latest version of Skype (4.2 as of this writing) is installed, it all looked good, but her contacts still couldn't hear her.

Skype has a great built-in way to test calls by simply adding or calling the user "echo123". I called echo123 from her computer, and all I got was silence from my side. I tried yelling into the microphone and turned out I could hear myself in the distance. So the microphone actually worked, but it was just really really soft.

The strange thing is, all other recording applications worked fine, such Live Messenger or Google Chat, so it must be a Skype thing. As usual, Google searches only turned up recommendations that I've already tried, and it was quite obvious that the people giving "solutions" never experienced these problems themselves. However, I did learn that I could change the default recording format, but that didn't work for me either.

It turned out that the motherboard (ASUS M2NPV-VM) has a SoundMAX AD1986A chipset and Windows 7 automatically installed drivers for it, but Skype has compatibility problems with the standard drivers. After installing this driver on the ASUS FTP site everything worked as expected... but since I had mic boost turned all the way up and recording volume at max, I nearly blew my ears out.

June 6, 2010

Multiseat Windows

I've been keeping my eyes on multiseat Windows for the longest time. The idea of multiseat Windows is to connect two or more monitors to a single computer, and let two or more users share the computer, running different programs. There are a number of such solutions on the market, the most famous probably being BeTwin, but they all seem to be hacks and probably breaks some licensing agreements. I've tried using BeTwin, but it has very specific hardware requirements, and wasn't stable enough for my needs.

Multiseat Windows seems like a throwback to the olden days where dumb terminals connect to a single mainframe for computing tasks, but it's actually quite different. The difference is that multiseating Windows actually involves having multiheaded displays on the system running Windows itself, instead of having a local display buffer like with most terminals.

The market suddenly boomed this year when Microsoft announced MultiPoint Server 2010. MultiPoint Server is actually a combination of the two ideas above. It has to have multiple displays on the system itself, and yet it uses remote desktop services to generate the image. Through a friend's cousin's ex-girlfriend's uncle who works in the academic sector, I managed to borrowed a copy to give it a spin.


I installed it on a cheap Gigabyte GA-MA78LMT-S2 motherboard with a low-end Athlon II X2 CPU and 2 GB of DDR3 RAM that I happened to have on hand. The installation is almost exactly like installing Windows Server 2008 R2, since MultiPoint Server 2010 is based upon that. After installation, it gave me 3 days to activate, just like Windows Server.


The Gigabyte board has two video outputs, DVI and VGA, I simply had to hook up two monitors (one DVI and one VGA), two USB keyboards, and two USB mice, and MultiPoint Server automatically detected everything. At first was that I couldn't get the keyboard and mice to go to their individual monitors, but after looking at the setup diagram from Microsoft, I realized they needed to be on separate USB hubs, so grouping a set of keyboard and mouse onto the same set of USB port at the back of the motherboard worked. The MultiPoint Manager then showed the monitor, keyboard, and mouse all grouped together and linked to their respective stations.



Since MultiPoint Server is actually running as a remote desktop service, and the individual stations are behaving as if they're running remote desktop clients, not to mention this is a Microsoft product and not a hack like all other multiseat Windows solutions, the entire setup is completely stable. Unlike BeTwin that I mentioned above, it also works with all hardware that are supported by Windows. However, running as remote desktop also means everything is slightly laggy due to the remote desktop protocol.

I could only connect two stations to my motherboard since I only have two video outputs on my mainboard. To connect more I would need either another video card, or one of those USB DisplayLink adapters. HP also makes the MultiSeat t100, a MultiPoint Server specific thin terminal that has everything built into a small box.

MultiPoint Server is actually designed for the academic sector, to reduce costs of computers for schools, especially in emerging markets. However, the cost saving may be limited, since only the cost of one (or more) computer can be saved. The software license is still required. For example, Microsoft Office's license is based on the number of users, and not on the number of system it's installed on. Saving from reduced usage of electricity is also limited, unless you're saving the planet. I looked at our relatively cheap electricity costs, the amount of money I could save by using four full computers vs. one single MultiPoint Server with four heads is less than $1 per year.


Finally, one issue I ran into is that since MultiPoint Server is based on Windows Server, many programs that detect the operating system due to either OS differences or (more likely) licensing issues, won't install. So even if the academic institution saved money in hardware purchases, they may need to purchase different software designed to run on a server OS.