Images slow to load over Wi-Fi on your Android device? Try this.

Poor tech installation = problems.

I recently noticed my Verizon Samsung Galaxy S5 (SM-G900V running Android 4.4.4) was really slow at downloading images on Instagram, Trivia Crack, etc., but only when connected to my ASUS RT-N66U home router. It was very snappy at doing the same on 4G and on Wi-Fi outside of my home. Phone speed test results using my router were excellent: 101 Mb/s up, 10.25 Mb/s down, 21 ms latency, 0% packet loss. Wireless link speed was 300 Mbps. No other wireless client in my home had this issue.

The following fix attempts did nothing to help:

  • Clearing the Android system cache.
  • Clearing Google Play Services data.
  • Router factory settings reset.
  • Toggling router DNS between ISP and OpenDNS.
  • Enabling/disabling QoS on router.
  • Enabling/disabling DoS prevention on router.
  • Renaming SSID.
  • Forgetting SSIDs in Android and reconnecting.
  • Restoring the S5’s hosts file.
  • Fiddling with almost every other router setting imaginable.

This lead me to Google “Instagram slow to download pics over Wi-Fi,” whereupon I discovered this thread. One of the recommended solutions there was to create a guest Wi-Fi network and use that instead. I did so and found that it fixed the image download problem, which meant that the fault was neither with my router nor my phone, but with a device on my regular LAN.

I subscribe to Mediacom triple play service that includes TiVo whole home DVR and VoIP phone service. The TiVo DVR and Mini units are connected to the LAN via an Actiontec ECB2500C MoCA Network Adapter as described here. The VoIP uses an ISP-supplied Cisco DPC3208 VoIP cable modem the Mediacom installer had connected to one of my gigabit switches. Note that the Cisco is separate and distinct from my own Motorola SURFboard SB6120 DOCSIS 3.0 modem that is my true internet gateway.

I started disconnecting devices from the LAN and checking the S5 after each one. Upon disconnecting the VoIP modem from the LAN, I saw a slight improvement. Upon disconnecting the MoCA adapter, the problem went away entirely.

Unfortunately, disconnecting the Actiontec KOed the TiVo service’s internet connection. After connecting the adapter to 1 of my switches instead didn’t work, I put it back where it was. I left the VoIP modem disconnected from my LAN since I could live without VoIP – I use my cellphone for calls anyway – but absolutely needed TiVo to work. Eventually I wound up with nearly everything on my network powered down: the adapter as well as all TiVo devices, PCs, switches, game consoles, and TVs.

I then powered up the devices in the following order: MoCA adapter, cable modem, router, VoIP modem (without reconnecting it to the LAN), TiVo head unit, Tivo Minis (in sequence), and then PCs. That fixed the problem completely.

I suspect the problem was the VoIP modem presented itself as an internet gateway to some apps on my S5, causing them to try – and fail – to use it to download media.

If you’re having the same problem, do the following:

  1. Power down literally all the networking equipment you have, including MoCA adapters, modems, switches, cable/satellite boxes, etc.
  2. If your VoIP modem is separate from the modem your router is connected to, ensure it is NOT connected to your LAN
  3. Power everything back up in the order I specified above.

Beware the TP-LINK TL-SG1008D Gigabit Desktop Switch

If you’re in the market for a new gigabit Ethernet switch and have been doing some research, more than likely you’ve come across the highly reviewed 8 port TP-LINK TL-SG1008D. Most of that is probably due to the price. At a $24.99 MSRP, it’s around $3/port and less than half the retail cost of what I consider to be the gold standard in its class: Netgear’s venerable GS608.*

Unfortunately, the TL-SG1008D suffers from a glaring feature omission that seriously affects its UX: there’s no link speed indication. That’s right, there’s no way to tell what speed a particular port is running at. For the unfamiliar, this is the equivalent of a car shipping without a speedometer. All active port LEDs glow green no matter what. Many other gigabit switches such as the aforementioned Netgear and even the notoriously unreliable D-Link’s DGS-2205 have LEDs that glow green for 1000 Mbps connections and amber for 100 Mbps ones.

The GS608's LEDs glow green for gigabit connections and amber for slower link speeds.
The GS608’s LEDs glow green for gigabit connections and amber for slower link speeds.

Thanks to the lack of LED differentiation, if there’s a speed issue with the TP-LINK it’s difficult to determine whether the problem lies with the switch or the client device it’s connected to. Fortunately, the impact of the deficiency can be mitigated by either:

  1. Deploying the TP-LINK as close to the outer perimeter of your network as possible. In other words, there should be no switches or access points downstream of it.
  2. Deploying the TP-LINK between clients that easily indicate link speed, such as a router that does so on the upstream side and PCs on the downstream side.

Sadly, this problem is more widespread than you may think, even among high end devices. Of 3 top dollar AC1900 gigabit routers – the ASUS RT-AC68U, the Linksys EA6900, the Netgear R7000 – only the Netgear offers link speed indication. Even my own ASUS RT-N66U lacks the feature, something that I only just noticed while writing this. In my router’s case, the issue is mitigated by implementing Option 2 above: all devices connected directly to it are either PCs on which link speed can easily be checked or switches with external speed indication.

Some astute readers may point out that many USB devices don’t have external link speed indication. That’s true, but Windows will alert you if a device is connected to a host-side port that is slower than the device-side port, e.g. a USB 2.0 device connected to a USB 1.0 port. There’s no equivalent for switches.

If you’re looking for a gigabit switch and aren’t on a tight budget, go with the GS608. As of this writing, you can find it for as low as $37.99 after rebate on Amazon.

*I own a GS605 – the GS608’s 5 port counterpart – that has been operating flawlessly since 2006. At 8 years of age, it’s probably the oldest active duty device I own.

Samsung Galaxy Nexus doesn’t support 20/40 MHz Wi-Fi channel bandwidth

Stick to 20, kids
Stick to 20, kids

Learned this the hard way over the past few days after I switched my ASUS RT-N66U‘s channel bandwidth setting from 20 MHz to 20/40 MHz. For what it’s worth, here’s what ASUS’ official documentation says on the setting (emphasis mine):

802.11n can combine two 20 MHz channels to form an effective bandwidth of 40 MHz. 40 MHz enables higher data transmission rates to be achieved as compared to 20 MHz. When you select 20/40 MHz mode, the router decide to use 20 or 40 MHz based on the interference/contention the router detected. Care should be taken when using 40MHz mode, the legacy client may not be connected to the router.
However, when using a wider channel bandwidth, there are fewer channels available for other devices, making more interference/contention with neighboring WLANs due to increasing overlap. In order to avoid excessive interference, the Wi-Fi Alliance develops an advice: setting 20 MHz in 2.4GHz as default. 40MHz is still appropriate for some situations, e.g. in a warehouse, but we do not recommend that using 40MHz in the 2.4GHz band for dense residential areas.

I enabled it anyway, and noticed my Galaxy Nexus frequently being unable to access the internet despite being connected to the router. Switching back to 20 MHz solved the problem. Given the Galaxy Nexus’ release date, apparently “legacy” for ASUS means anything from late 2011 or preceding. For the record, the phone’s Wi-Fi radio is the Broadcom BCM4330XB2KFFBG. Broadcom radios have been suspect recently, so this isn’t surprising.

And yes, I know ASUS recommends 20/40 MHz not be used for residential settings, but my Dell Precision M4600, Amazon Kindle Paperwhite, and Sony Vaio Fit 15 E all handled it without complaint.

UPDATE: Also, disable “b/g protection” for 2.4 GHz frequency. Then, forget the network on the Galaxy Nexus and then reconnect to it.

The ASUS PA248Q doesn’t play well with active adapters (Updated)

UPDATE: After experiencing a similar problem with my Dell U2713HM, I’ve concluded that the real issue isn’t with the monitors, but with the cable length. Basically, try to avoid anything over 6 feet long for DVI-D.

I don’t normally write entire blog posts on the shortcoming(s) of a particular product, but when implementing a simple setup takes 3+ weeks* it’s probably a good idea to write about it so others don’t make the same mistake(s). The short story here is that the ASUS PA248Q doesn’t play well with (mDP -> DVI) active adapters, so don’t bother trying to use them with the it.

The particular setup I tried was AMD Radeon 7870 -> StarTech mDP to DVI active adapter -> DVI cable -> PA248Q. This worked for about 5 minutes, after which the monitor would repeatedly go in and out of sleep, claiming it detected no signal. No amount of input cycling or power cycling of both the monitor and PC helped. I wound up having to connect the PA248Q directly to my PC via DVI and then use the active adapter for a bizarre AMD Radeon HD 7870 -> mDP to DVI active adapter -> DVI to HDMI cable -> Dell S2240L connection for 1 of the remaining 2 monitors. I’m honestly shocked the latter worked with a consumer monitor while the supposedly professional grade PA248Q choked on an ostensibly simpler connection. The incompatibility is also disappointing considering AMD actively recommends the StarTech adapter.

Everything works now, got the PA248Q and 2 Dell S2240Ls up and running, but yeah … don’t use active adapters with the former.

This monitor has been exonerated of all charges (see Update)
This monitor has been exonerated of all charges (see Update)

I should point out that this is the only issue I’ve had with the ASUS, it’s been absolutely stellar otherwise.

*The simple setup I’m referring to is using 3 monitors with my Radeon HD 7870-equipped XPS 8500. The 1st week I bought the wrong cable. The 2nd week I bought the right cable but ran into the Radeon’s inability to support more than 2 non-DP monitors without using an active adapter. The 3rd week I tried the active adapter solution written above.