Saturday, February 6, 2016

Dell Inspiron 3520 Wifi Upgrade (Goodbye, Broadcom 43142)

I bought this laptop in 2012 for $399, and the biggest complaint I've had about it, by far, is the Broadcom 43142 Wifi card in Linux.  I even completely switched distros once to get the updated BlueZ Bluetooth stack, hoping for better Bluetooth support.  Nope.  I switched back to Linux Mint.

In Windows the card has seemed to work well, but in Linux -- not so much.
  • Frequently reports signal strength as 100% but has no connection at all
  • Bluetooth will stop working after the laptop sleeps in Linux (a boot to Windows will resolve this problem, presumably because the card gets updated w/ fresh firmware)
  • Terrible wifi reception when the card is actually working
I wrote once before about my frustrations with this card, and I had another article written about my experience with BlueZ and Arch Linux, but I never published it, and probably won't.

You win, Broadcom, I can't beat you.  So you're sitting on my desk, and I bought the Intel 7260 from Amazon to replace you.

Removal of the old card was a snap:
  • Remove the keyboard
  • Disconnect the antenna coax cables
  • Remove one screw that secures the card
  • Tilt the card out
Installation of the new card is the reverse of removal.


Goodbye:
wskellenger@marquette ~ $ sudo apt-get remove bcmwl-kernel-source

Booting into Windows it was almost as if I made no changes, the device was detected and drivers installed.  It just worked.

It was the same booting into Linux, the card was identified and started working without any intervention on my part.  I can't say the same for the Broadcom card, which required some Googling to initially get it running in Linux.

Update Feb-9-2016:
I had some dropped connections with dmesg showing a bunch of stuff like this:

[  415.105430] cfg80211: Calling CRDA for country: US
[  415.110984] cfg80211: Regulatory domain changed to country: US
[  415.110992] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[  415.110996] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
[  415.111000] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
[  415.111004] cfg80211:   (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111007] cfg80211:   (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111010] cfg80211:   (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[  415.111013] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
[  415.111016] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm)

Typically after seeing some stuff like this the connection would drop.

Solution:  This post has the steps that resolved this issue for me. 

Chrysler 3.6L Pentastar V6 Oil Filter Replacement

Last weekend, when I went to perform an oil change on my 2014 Wrangler, I could not figure out where the oil filter was!  After consulting the interwebs, I was delighted to discover that the 3.6L V6 has a replaceable element oil filter, much like the 2.4L I4 in my 2010 Corolla.


Chrysler 3.6L Pentastar V6 Oil Filter Location

The benefits to this design are readily apparent:

  • No steel canister that winds up in a landfill
  • Cheaper and easier to produce, with fewer raw materials
  • Less unused oil gets disposed with the filter
  • Less weight
  • Can offer more filter surface area for less money

Needless to say, I'm a fan of this design.  On the 3.6L Pentastar V6, the oil filter is mounted on the top of the engine, so when it gets removed, the excess oil drains back into the engine and not all over the floor.  Unlike the 2.4L Toyota I4, you don't need a special tool for this one.  I used a 15/16" socket and a 1/2" drive ratchet.

A WIX filter is available from Amazon for under ten bucks.  (I got mine from my very capable local parts store and I paid only slightly more than this.)

I already had some experience with this type of filter, but I figured it is likely others haven't, so I made a short YouTube video documenting the replacement process:




Saturday, January 2, 2016

Rescuing a Motorola Droid Razr M (or any other Android phone) from the Junk Drawer

I was up in northern Michigan visiting my parents over the Christmas holiday, and I discovered that my mom had placed a Motorola Droid Razr M in a junk drawer.  I remember her being extremely frustrated with this phone, and the few times I looked at it for her, I noticed it was STUFFED with bloatware that couldn't be removed because they were all installed as system apps.

Anyway, sure, she says I can have it.  I have a project in mind for it that will probably place it back in their hands anyway, but I like it so much, it might be my new ATV GPS.  (The beautiful OLED screen is easier to read in sunlight!)
The Motorola "Droid" Razr M
Turns out, this is a great little phone!  It is a "world phone" (I'm old and I guess that term isn't used anymore), so it supports both CDMA and GSM.  It ships with the SIM unlocked, which means that should you leave the US, in theory you can plug a drug store SIM card in and get service.

The trouble is, Verizon has prevented the use of this "world phone" inside the United States on GSM networks.  If you try to insert an AT&T SIM card or a T-Mobile SIM card, you'll be SOL.  It turns out, as some smart guys on XDA have figured out, there is only one byte (arguably ONE BIT) that stands between you and your Razr M living on cheap drug store pay-as-you-go SIM cards here in the US.

Several years ago I mentioned on this blog that modern smartphones are amazing pieces of technology.  Where else can you find a high res, touch-sensitive color screen, Bluetooth, Wi-Fi, USB, a 2000+ mAh battery, SD storage, and above all, a Linux kernel + Android?

Out of the junk drawer, this phone (and many others) can be immediately used for:
  • Standalone GPS navigation with an excellent app like OruxMaps (for Geocaching or for outdoor use)
  • Streaming music from Amazon or Google Play
  • Playing MP3s
  • Watching video on Netflix or YouTube
  • Casting video to Chromecast
  • Getting News and Weather
  • Reading books with the Kindle app
  • An Alarm Clock
  • Playing Games (MAME4droid or Angry Birds, anyone?)
  • this list doesn't end....

Once all the crapware is removed, the Razr M runs the stock Android 4 (Kit Kat) beautifully.  It also has near-field communication (NFC), which I don't even have on my daily driver phone (Moto G 1st gen).

A negative is that the Razr M lacks a gyro, which means it can't be used with Google Cardboard.

To prepare this phone for tinkering, we need to do a few things.

Root

Root the device following these instructions.  This method took a little messing around, but I was able to get root this way in about 30 minutes.  One of my problems was that I had a flaky USB cable that was making data transfer a bit difficult.  This alternative root method may also work, and is said to be much easier.  I didn't discover it until later so I didn't try it.

Once rooted, install these apps from the Google Play Store.  All of these are pay apps and most of them are less than a pint of beer.  Some of them are less than a bottle of water.  Seriously.  If you spend maybe $15 on these apps, combined, you will have them forever AND you can use them on other Android projects.  Skip one visit to Chipotle and buy these instead:
  • Tasker (duh)
  • Secure Settings (with the Pro upgrade)
  • Titanium Backup
  • Optional: Busybox Pro (Pro has nicer installation options)

Debloat

With root attained, we need to give the phone a courtesy flush.

The amount of crap Verizon ships with this phone is unimaginable.  There is no doubt that many first-time smartphone users have been soured on Android and switched to iOS because their experience with Android was poor.  Was the poor user experience the fault of Android, or was it all the bullshit installed on the phone that the user never wanted, and is unable to remove?  Most of these apps are just using data, consuming RAM, tracking location, and burping up useless notifications.

Does Apple allow their phones to be shipped to the end customer with so much garbage pre-installed?

Frozen apps appear with a blue bar in Titanium Backup
Using the extensive list here (look for the debloat list), freeze as many of these useless apps as you want using Titanium Backup.  Some of the apps, like Facebook and IMDB, can actually be completely removed without fear of screwing something up.  For other apps, it is safer to use the 'freeze' option in Titanium Backup to disable the app and make it invisible to Android.  If the phone starts misbehaving, you can easily unfreeze the apps to make them visible again.  The debloat list on XDA is extensive and perhaps overkill.  I *want* the Play Store and I *want* the YouTube app.  I don't want notifications from Verizon telling me to set up cloud storage.

In Titanium Backup, just press/hold on an app in the Backup/Restore list, then click the "Freeze!" button:

The button marked "Freeze!" will disable the app
and make it invisible to Android without actually removing anything

Airplane Mode

Since I don't plan to actually use this phone as a phone, it is best to put it into airplane mode.  This will disable all of the radios on the phone (Wifi, Bluetooth, and Cellular) and significantly increase battery life.  However, since you probably want to access the Play Store, you probably want to re-enable Wifi AFTER the phone is already in airplane mode.

You can use Tasker + Secure Settings to automatically enable Airplane mode at every boot, and subsequently re-enable Wifi.

Ready for Use!

That's it, with root and all of the crap removed, the phone runs really well and is ready to use immediately for any of the tasks I mentioned earlier.

I've got a project in mind that I will write more about in the future.