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.

How to make a bootable Vista DVD using MKISOFS/CDRTOOLS

UPDATE: This is a repost of an old article that is still referenced on some forums.

I managed to get hold of an MSDN copy of Vista on DVD. Unfortunately the DVD was corrupt and several of the sectors were unreadable. I managed to salvage all the files from the disc apart from a couple named license.rtf (no big loss there then!). The question was, how do I then make another bootable DVD from these salvaged files? No big deal you say – just create a bootable ISO like you did with Windows XP: extract boot image then use that to burn the files to a bootable DVD with Nero.

Unfortunately this wouldn’t work because one of the files on the Vista DVD is > 2GB (install.wim) and the most common ISO modes (1 and 2) don’t support files that big. Microsoft have a solution of course: There is a utility on the Windows Automated Installation Kit (WAIK) called Oscdimg which is designed to make ISO images from Vista trees. Perfect, the download is here. Unfortunately its 900MB and I’ll be damned if im gonna download all that just for a 50k utility! So I decided to try using makeisofs (from the cdrtools package. N.B. for windows you will need to download a windows binary). After 20 minutes of fiddling around I got the following to work:

mkisofs -udf -v -b boot.bin -no-emul-boot -hide boot.bin -hide boot.catalog -o MyVistaIso.iso Vista

Where boot.bin is the name of the boot sector extracted from the orignal corrupt DVD, and Vista is the name of the directory containing the salvaged contents of the original DVD. Note: The boot.bin file must be within the Vista directory for mkisofs to find it. Anyway, I burned the iso to a DVD, restarted my PC, and it booted into the Vista installer. I proceeded to install Vista and everything worked fine. Yay!

Tags: