[Nexus 5X General] sfhub:
TLDR

If you are missing your visual voice mail tab for Project Fi and/or your USB OTG drive takes multiple inserts to get recognized then re-encrypt your phone and the problems should go away.

---

For a while now, I would notice every once in a while I would lose the visual voice mail tab in the phone app (phone service provided by Project Fi)

I got a clue as to the problem from this post:

https://productforums.google.com/forum/#!topic/nexus/s6DLAee-jwc

where a user suggests turning the phone off and removing/reinserting the SIM card tray. This did work, but seemed like more work than I wanted to do (I don't want to carry around a paper clip or SIM removal tool)

I then noticed that whenever my Visual Voicemail tab disappeared, the celular status said "No SIM card" instead of "No service"

It turns out much of the time I have my phone running in Airplane mode with WiFi enabled as this is the only way to reliably force the phone to use WiFi over cellular service on Project Fi.

When I reboot in airplane mode, upon reboot, the cell service status says "No SIM card" If I reboot in regular mode, it comes up with Project Fi as the service.

By chance, I noticed on my friend's phone, after reboot in Airplane mode, their phone said "No service" as opposed to the "No SIM card" I was seeing.

I examined the dmesg for the boot process on both units and noticed on his phone, it was recognizing the SIM card at boot. On my phone, the SIM card wasn't being recognized.

With that clue, I realized that instead of shutting the phone down and popping the SIM card, I could get Visual Voice Mail back by toggling airplane mode. This gets the SIM card recognized, before going back to airplane mode. Once the SIM card is recognized the Visual Voice Mail tab returns and is visible in the phone app.

So if you are missing the Visual Voice Mail tab, make sure your phone has recognized your SIM card and if not, toggle Airplane Mode to get it recognized.

Now as to why his phone recognized the SIM card at boot and mine did not, I realized a separate problem might be related.

When I first got my USB On The Go flash card reader, it would get recognized immediately upon inserting into the USB C port on the phone. However after a while it would only get recognized upon second insert. The first insert would do nothing.

After looking at the dmesg logs, it looked very similar to my SIM card not getting recognized at boot.

Knowing that this used to work on my phone, I figured I must have done something to cause the delayed recognition. After thinking about it, I realized while both phones were rooted, my phone was decrypted and his was not.

That turned out to be the issue. I don't know the specific cause, but I went back and flashed the stock boot.img and recovery.img then let the boot process re-encrypt my phone.

Now my SIM card is recognzied on reboot even if I rebooted in Airplane Mode. Thus my Visual Voicemail tab is always present.

Also my USB OnTheGo flash card reader is recognized immediately every time I insert.

There is probably some timing/timeout problem when the user partition is decrypted so the kernel gives up before recognizing some devices.

I flashed TWRP recovery and re-rooted the phone (resulting in a modified boot.img, disabling dm-verity and force encryption, via the systemless root install) and the SIM card is still recognized at boot, so the only change then was the re-encryption of my user partition and the resulting modification that would entail for the boot process (ie the problem wasn't originally caused by TWRP recovery or the modified boot.img from the systemless root install)

Also, I had previously done some encrypted vs decrypted performance comparisons and really could detect virtually no difference for regular usage, so fixing the Visual Voicemail and USB OTG insert issues were a good reason to stay encrypted.

Hope this helps someone else. These weren't major issues, but were nagging at me every once in a while when I encountered them.