# Android 4.0 UI stencil

Just received my Android 4.0 UI stencil from UI Stencils. I love how it works, makes UI prototyping for Android much nicer when drawing out using pen and paper. I recommend it.

# PS Vita and Near location

If you try to use the PS Vita’s Near funcitonality over WiFi and get “Location data cannot be obtained” constantly, try to turn off the Vita completely (hold the power button at the top for a few seconds) and then turn it on again. This at least solved it for my PS Vita.

# Android Galaxy S2 Skin and AVD

What I did to get the Galaxy S2 skin to work with the Android Virtual Device (AVD) was:

2. extract to a Galaxy_S2 directory,
3. put the entire directory in the [Android-SDK directory]/platforms/android-10/skins directory,
4. edit the manifest.ini and change api=9 to api=10,
5. restart AVD Manager,
6. under skin in the device configuration you should see Galaxy_S2 in the dropdown.

# Finally a stable connection

As I previously recorded in the posts here and here, my network interface card under Windows 7 started to drop the complete traffic whenever it got stressed out with network traffic. Heck, sometimes not even when stressing it out. Digging through various fora I came to the Nvidia forum again and found a thread that mentioned a Microsoft Knowledge Base article that instructs in turning off receive-side scaling.

After turning said option off and stress testing the link for a few hours I did not experience any drops. So this might actually finally be the stable connection I am looking for.

# Upgrading dd-wrt for Windows 7, problems and a possible fix?

As noted in my earlier post I had issues with my network interface card (NIC) dropping my connection whimsically.

So finding some posts about possible firmware issues with Linksys routers and disconnects I proceeded to update my router’s firmware from dd-wrt v23 to v24 pre-sp2. This actually caused me some problems. I followed the information presented in the stickies on the dd-wrt forum, which means that prior to updating the firmware I did the 30/30/30 reset to get the factory defaults going again, then proceeded with uploading the new firmware (v24 pre-sp2 build 13064) and once that was done do the 30/30/30 reset again.

And that’s where 2-2,5 hours of frustrating would kick in. After the router had rebooted I couldn’t ping the default 192.168.1.1 address. I was getting a destination unreachable message. So alarm bells started to ring in my head, thinking I had bricked my router in some way. But the strange thing was that it looked like it rebooted correctly, no strange flashing LEDs, or not being responsive to cables being plugged in and taken out. Of course, with the router down I had no Internet connectivity to do some troubleshooting browsing. But thankfully I could use my Android mobile phone for that. I retried various reset routines but to no avail. Of course I started to despair a bit more, thinking I would have to buy a new router. I then noticed that the WLAN LED was lit up. Since my Android phone supports WiFi I figured I should see if it shows up. ‘Lo and behold, it had a network with the SSID ‘dd-wrt’ and sure enough, I could connect to it. Next was trying to router’s web interface and that worked too! Of course that enthusiasm was quickly dampened when I discovered that you cannot do a firmware upgrade over the wireless link. I also couldn’t find any way online on how to override this precautionary lockout, so it was back to square one.

And then I stumbled over a post which mentioned that Linksys routers with the original firmware sometimes have their wired LAN ports revert to 10 Mbit/half-duplex settings. After picking up my jaw from the floor I wondered if it could be so easy. Sure enough, after changing the settings for my NIC in the configuration window, I could ping 192.168.1.1 and load up the administration interface in my browser.

Then I tried my World of Warcraft (WoW) patch download again (which is essentially a BitTorrent client) and stream Bohemian Rhapsody by the Muppets at HD quality from YouTube only to have my NIC go silent on me again. So, after the few hours of futzing with the router and its upgrade I was no closer to a proper solution. Although I did conclude it was, in fact, the Windows 7 box acting up since my WiFi connection as well as the Unix box on another LAN port could still use the network as it should.

Then the morning after I was looking around several Google results again and came to a post on the Windows7Forums.com website where someone had troubles with a wireless connection from Windows 7. I use a wired connection, so aside from the symptoms it’s not quite similar. It then documents the ‘roll back driver’ solution, which I had previously tried. But it became interesting when I found Sage’s post at the bottom which reads:

“I think I’ve found the solution to this problem. It was revealed recently (A week or two ago) that there is a bug in the NVIDIA chipsets when using 64-bit addressing. This ends up affecting a whole host of things on machines, including this nefarious “Random internet disconnect” problem. I posted this solution over at a couple other W7 forums and others with NVIDIA chipsets and 64-bit machines have all found it to succeed in fixing this frustrating issue.

What it more or less comes down to is applying this hotfix: You encounter problems when you move data over USB from a Windows 7 or Windows Server 2008 R2-based computer that has an NVIDIA USB EHCI chipset and at least 4GB of RAM

Ignore the fact that it mentions this fix to be solely for USB hardware issues. It is a fix for the NVIDIA chipset on 64-bit Windows 7 and has been practically a miracle fix for people with the USB harddrive disconnect problem, the random internet drop problem, and the internet-disconnect-on-wake-from-sleep problems that have all been plaguing Windows 7 64-Bit users since the RC.”

Funnily enough my Windows 7 is 64-bits and I also have an NVIDIA nForce chipset. Looking at the hotfix page shows it really is only updated USB driver files. Figuring it cannot possibly be worse than my situation now I installed the hotfix are being emailed the location to download it from. A reboot later I was downloading my WoW patch with the downloader while streaming the Muppets again and haven’t seen it drop dead yet. So initial tests show it might very well be the solution, but I need to stress test it some more.

So I bought a Western Digital My Passport Essential 500 GB external hard disk yesterday. Got home and plugged in on my Windows XP 64 box, USB triggers to find a new device, Windows churns, installs the appropriate support. According the documentation some virtual CD should start installing the appropriate software to use the advanced features (not that I will use them). But nothing happens. So I check disk management and see that it is there, as disk 8, with 2047 GB as size. Wait a second, it’s only a 500 GB version (Hint #1). Next I try updating the firmware from .30 to .32 and the application says it tried too often and failed (Hint #2). Then the downloaded software to manage the drive sees the drive, but cannot do anything with it (Hint #3). Trying from Windows disk management to initialize the drive in order to just format it gives the message that the drive is write protected (Hint #4). Listening to the hard drive yields the typical distinct sound of ‘ticking’ which is a clear indicator that the hard disk is most likely dead.

Time to return it to the shop and get a replacement.

# IA32 and the 4 GB memory problem

The board utilizes 4 GB of addressable system memory. Typically the address space that is allocated for PCI Conventional bus add-in cards, PCI Express configuration space, BIOS (firmware hub), and chipset overhead resides above the top of DRAM (total system memory). On a system that has 4 GB of system memory installed, it is not possible to use all of the installed memory due to system address space being allocated for other system critical functions. These functions include the following:

• BIOS/firmware hub (2 MB)
• Local APIC (19 MB)
• Digital Media Interface (40 MB)
• Front side bus interrupts (17 MB)
• PCI Express configuration space (256 MB)
• MCH base address registers, internal graphics ranges, PCI Express ports (up to 512 MB)
• Memory-mapped I/O that is dynamically allocated for PCI Conventional and PCI Express add-in cards

And the other note:

Memory between 4GB and 4GB minus 512MB will not be accessible for use by the operating system and may be lost to the user, because this area is reserved for BIOS, APIC configuration space, PCI adapter interface, and virtual video memory space. This means that if 4GB of memory is installed, 3.5GB of this memory is usable. The chipset should allow the remapping of unused memory above the 4GB address, but this memory may not be accessible to an operating system that has a 4GB memory limit.

# Switching GPUs on the fly

According to a what older article at LaptopLogic NVIDIA has an idea to make the system use its integrated simpler GPU for handling day-to-day desktop graphics, while switching to the stronger and more featureful (and often more power-consuming and warmer) GPU when needed for 3D work or gaming.

Interesting idea, but with SoC designs coming from Imagination Technologies, Falanx, and other designers that reduce a GPU’s power-consumption and warmth build-up you can wonder if such a design is interesting enough to work out.

# Intel planning something massive for GPU market?

An item over at the Inquirer said that at the E3 they were unofficially informed that Intel is working on getting back into the games graphics market. This was in May.

In July we have the following item over at the Inquirer in which Intel reveals their G965 graphics solution, which is using technology licensed from PowerVR, back then codenamed Eurasia and now known as GSX (Graphics Shader Accelerator). Now furthermore the article tells us that Intel will also start work on using Muse (Media Unified Shading Engine) for its graphics offering. Simplistically compare Muse to what Cell did, cheap cores in a parellel setup thus enabling improved calculations. In this case with multiple GSX cores (due to the Universal Scalable Shader Engine I think, which combines the pixel and vertex shaders into one design) it might even build a multi-pipeline graphics solution. The only funny thing is that Wikipedia’s PowerVR article lists Muse as a mobile solution according to a company presentation. And indeed, when one checks another article at the Inquirer you see that the roadmap indeed introduces Muse and Athena, the first aimed at portable computing, the latter aimed at desktops (introducing programmable shaders). Of course, if the GSX is a SoC design the lower energy consumption and die size (and gate count)

Funnily enough on the Intel site right now there are two job openings (posted end of July and early August) in the United States for a Senior Graphics Software Engineer and Software Engineer 3D Graphics. The first focusing on what seems to be identify from the end-user (including game developers) point of view where the bottlenecks in the hardware design lie. The latter job seems to focus on driver improvements and driver support for OpenGL 2.0 and DirectX 10. Coincedence?

# And while we’re at it

This module contains stuff which Intel can’t publish in source form, like Macrovision register stuff and other trade secrets. It’s optional, so if you don’t want to use a binary module, you don’t get to use code written by Intel agents for these features. And, we also haven’t figured out how and when to release this binary blob, so there’s no way you can use it today. The driver remains completely functional in the absense of the binary piece, and in fact has no reduction in functionality from previous driver releases.

So much for that idea eh?