Archive for August, 2009

Windows 7 ISO: How to easily switch edition

There have been quite a few blog posts about how to manually switch edition of the Windows 7 ISO, for example to change from Ultimate to Home Premium.

What I wanted was a program that automated all the steps. I was going to write one myself, but thankfully someone has already released a tool to do just that. The guy responsible is Kai Liu and in fact he has two programs:

  • One to turn your ISO into an “All editions” ISO, just like the RC used to work (eicfg_removal_utility)
  • One to switch ISO editions which results in a “bit perfect” rendition of the original MSDN ISOs, verified against the MSDN hash codes (windows7_iso_image_edition_switcher)

You can download them both here: http://code.kliu.org/misc/win7utils/

Kai Liu's Windows 7 ISO Patcher Utils

Here is the original neowin post where he talk about the utilities. For the untrustworthy, both of these utilities come bundled with the source code so you can see exactly what they are doing.

Notes: Both these utilities modify the ISO files in-place (so you don’t need to worry about multiple GB file copies).

One potential draw back is both programs use dialogs to select the ISOs so you won’t be able to automate use of these utilities in a script very easily.

As is often the case it can be hard to find the “original” (trustworthy) executables for utilities like this as they get shared widely, copied, and referenced on random forums. Hence after a bit of research I wanted to do my bit to add Google juice to the genuine “Windows 7 ISO Edition Patching/Switching” article.

How to get Ericsson F3507g Mobile Broadband card working on Windows 7 & Lenovo Thinkpad T400s

Update: A new driver has been released which uses the Windows 7 Mobile Broadband driver framework. Please see my new article. Note: Information and comments on this article could still be relevant to you so read on…

I recently purchased a Lenovo Thinkpad T400s. I installed Windows 7 on it soon after, having heard that almost all hardware devices worked under Windows 7. For me it was crucial that the Ericsson F3507G internal mobile broadband card worked, and luckily there was a driver for it available on Lenovo’s Windows 7 “Beta” drivers

God knows what a "Drever" is!

First thing to note is that even though it says “32-bit”, inside the zip there are actually 64-bit drivers as well. Phew! Unfortunately it seems that versions and publish dates are not supported by Lenovo’s knowledge base, so all we get is a crazy looking file name – 7uwc46ww.zip.

After you install this driver you will have several new devices available in Device Manager:

  • Ericsson F3507g Mobile Broadband Minicard Network Adapter
  • Ericsson F3507g Mobile Broadband Minicard Modem
  • Ericsson F3507g Mobile Broadband Minicard Device Management (COM3)
  • Ericsson F3507g Mobile Broadband Minicard GPS Port (COM6)
  • Ericsson F3507g Mobile Broadband Minicard PC SC Port
  • Ericsson F3507g Mobile Broadband Minicard Composite Device

I am not a big fan of using OEM software over what comes with Windows, as it’s invariably crap. Lenovos’s network manager tool is called Access Connections and I would later discover my intuition would prove to be well founded. Read the rest of this entry »

Tags: ,

Tip for pathping

This lesser known command line utility, introduced on Windows 2000, is something of a hybrid between ping and tracert.

Instead of just determining the path, pathping also sends a barrage of pings to each host along the route. After pathping completes (which can take 5 minutes) it generates statistics for failed pings at each node making it easy to indentify hosts in the route where packet loss is occurring. It also shows averaged round trip times (RTT) to each node, allowing you to identify slow hops, and visualize a packet’s journey.

If you are anything like me though, you may never have paid close attention to pathping’s (somewhat confusing) output…

image

If you look carefully (ok, not that carefully – I’ve circled the section in red) you will see the ASCII art bars “connecting” each host. What’s interesting is pathping shows you both the packet loss between yourself and the host, as well as packet loss on the links between hosts (the bars). As you can see in the screen shot above its perfectly possible to have a host (telstra310) that is not directly reachable, yet is perfectly able to forward on packets. There is an example in the the full pathping documentation that describes such a result like this:

The routers [snip] are dropping packets addressed to them, but this loss does not affect their ability to forward traffic that is not addressed to them.

One thing I still haven’t figured out is what the value in the “This Node/Link” means in a row that has a “Source to Here” entry. I am assuming it means routed packets that entered the host but never left. Answers on a postcard.

Using a telnet client as a port scanner

If you ever need to check if a TCP port is open or reachable, one easy way to do it is using a telnet client.

A telnet client actually comes with Windows, but for some annoying reason it is not installed by default. To install the windows telnet client you need to add it using the “Turn Windows features on and off” like so:

image

Because Telnet is essentially just characters sent over a TCP connection, you can use the telnet client as a poor man’s TCP port scanner. To manually check if TCP port 80 is open or reachable on a server you can type telnet myserver.com 80.

As an example lets see if Google.com has port 80 (HTTP) open … ;-)

image

image

If you get a blank screen with a blinking cursor you have successfully connected to that TCP port.

In this example, if you are feeling particularly sadistic you can now engage in a HTTP conversation. Type GET index.html HTTP/1.0 and press enter and you will see Google’s home page being sent to you. Same idea would apply if you connected to most other TCP-based protocols; POP mail server etc.

image

On the other hand if the TCP port is not open or not reachable you will see this:

image

Troubleshooting ports and firewalls can be a pain. This is the simplest and quickest way I know for checking connectivity.

Fix for Windows 7 "random wake from sleep" problem

For the last few months I’ve had Windows 7 RC installed on two home computers, and both of them have exhibited a strange problem: They would randomly wake from sleep .

The computers would often wake up just seconds after being shut down. At other times they would wake up in the middle of the night. To make matters worse one PC, which had recently had its graphics card upgraded, would go into an endless loop of restarting without ever getting to the Windows login screen. I suspected a power problem relating to the new card.

I spent quite some time investigating these wake problems (which I believed were unrelated) but could not diagnose the issue. Eventually I gave up and had to disable sleep on both machines (which pained me greatly!).

Last week I had a second wind and was determined to resolve this problem once and for all. I figured there must be a tool that could tell me what caused the wake up events, and after some research I discovered the Vista/Windows 7 powercfg tool.

To use this tool you simply type powercfg –lastwake at the command prompt

powercfg

In the above screenshot you can see the computer was woken by something on the USB hub (my mouse in this case). But much to my annoyance, when I ran this tool after a phantom wake it reported the type was “Unknown”!

Because I had a suspicion this could be a wake-on-lan (WOL) behaviour I used the WireShark network analysis tool to monitor network traffic for WOL packets. Perhaps a third computer had been infected with malware and was trying to wake other computers to have its wicked way? Unfortunately nothing showed up on the wire.

No further progress was made until I randomly stumbled across a forum posting about a network adaptor setting called “Wake on pattern match“. I checked both my PCs and this setting was enabled. It appears this obscure setting is enabled by default in Windows 7 for Realtek RTL8168B/8111B and RTL8168C(P)/8111C(P) Family Gigabit Ethernet NICs.

What does “Wake on pattern match” actually do?

Most people are familiar with Wake-on-LAN which uses a “magic packet” (hard-coded) to trigger a wake event. Well it seems that feature has been superseded by the more flexible “Wake on pattern match” capability. According to this Microsoft Article on Power Management for Network Devices:

The packet patterns that define the wake-up frames [for "wake on pattern match"] are provided to the NDIS 5.0 miniport driver by the operating system. At runtime, the protocol sets the wake-up policy using OIDs. These are, for example, Enable WakeupSet Packet PatternRemove Packet Pattern. Currently, the Microsoft TCP/IP is the only Microsoft protocol stack that supports network power management. It will register the following packet patterns at miniport initialization:

  • Directed Layer Two packet
  • Address resolution protocol (ARP) broadcast for station IP address (frames with DIX header)
  • NetBIOS over TCP/IP broadcast for station’s assigned computername (frames with DIX header)

I am no networking expert but the last two sound like they could be pretty common activities on your typical home network. If so it’s no wonder my computers were exhibiting such crazy wakeup symptoms. (Either that or I have got a renegade PC on my networking sending out these packets).

The solution? Simply disable the “Wake on pattern match” setting under the network adaptors advanced properties tab, as shown below:

realtek_wake_on_pattern_match

My biggest mistake? I could have short circuited the resolution of this problem by testing my computers without the Ethernet cable plugged in right at the start. The reason I didn’t was I couldn’t understand how a WOL packet could possibly be being sent so I ignored the possibility.

Now I know about “Wake on pattern match”, next time I will be prepared.