Showing posts with label fix. Show all posts
Showing posts with label fix. Show all posts

Fix: Serial TTY Terminal Output on Raspberry Pi 3 is Garbled, Garbage or Otherwise Broken

Saturday, March 19, 2016
Problem
You've prepped your Raspbian SD card. You've plugged in your FTDI / RS232 adapter to your shiny new Raspberry Pi 3, set up Putty for 115200, Parity 8, Flow Control None, Stop. You've wired everything correctly, Ground to Ground, Tx to Rx, Rx to Tx, and you plug-in, only to be greeted by garbage. Lots of garbage. Blocks, Corners, non-English characters. It looks like your modem looked when it blew off a BBS connection in 1992. But it was just dandy with your Raspberry Pi 2! What gives?
What's happening
Bear with me since some of this may be inaccurate. I'll be honest, the last time I dealt with troubleshooting a serial terminal connection was easily 18 years ago. This shouldn't have happened, really. In my teen years, I actually coded a FOSSIL COM driver into Bulletin Board System software I had written for my multi-node BBS (get off my lawn!). 18 years and many lines of code later, I'm feeling senile.
So with serial communication, there's always the sensitive issue of timing. Your Pi is trying to send data at 115200bps. It's failing. Somewhere along the mystical way, the CPU clock rate is set in such a way that it doesn't quite deliver at the right speed and the result is the text vomit you're seeing in PuTTY.
The Fix
The fix is simple, but has side-effects. If you're simply setting up the serial terminal in order to login and configure WiFi because you're too lazy to walk 10 feet to another room and plug in an Ethernet cable, it's a perfect solution. If you are interested in using serial communication for some other purpose, it's not.
Simply plug the SD card into your PC. Open up the "config.txt" in the root in something that will understand the line endings properly (Notepad++, Atom, Visual Studio Code, Sublime, ... basically anything other than Notepad). Insert the line "core_freq=250". Save and safely eject the card. Pop it back into your Raspberry Pi 3 with everything plugged in and you should see the majestic, properly formatted, vomit-free boot sequence. Login and you're good!
Once you're done and network connected, remove that line from the config.txt (located in /boot/config.txt if you're editing directly on your RPi) and reboot. You'll be back to the original, faster clock speed (and broken serial communication).

Quick Fix: You can't debug the Silverlight application because the Silverlight Developer Runtime is missing

Tuesday, October 13, 2015
Problem
You've fired up the shiny new Visual Studio 2015 (or an older version) to debug a Silverlight 5 application and you get an error: "You need to install the latest Silverlight developer run-time before opening Silverlight project". And in matters requiring a blog post, the go.microsoft.com link provided doesn't go anywhere.
Solution
Microsoft, intelligently, gave up on Silverlight but there are still many projects that require it. My day job is Lync development and I needed this to troubleshoot a Lync CWE. All variations of the run-time are still available, but due to a security issue, they were moved to an obscure place... a security bulletin!
What you want is KB3162593 (updated to June 2016 patch), select Silverlight_Developer after clicking Download. Click the install link and you'll see Silverlight_Developer_Runtime.exe as an option. Be sure to uninstall Silverlight first, or you'll get an error. The 64-bit variant is there as well, along with the Version 5.0 SDK and others.
Woo Hoo! Time to party like it's 2011!
And in case you're looking for the Toolkit, it's still at its old CodePlex link.

FIX: Fix Plex Media Server Remote Access / Unable to Connect to Plex from The Internet (code=-52)

Monday, April 6, 2015
Symptoms
You've opened the ports on your firewall and verified that they are open via an open port check tool on the Internet.
You've tried Why am I locked out of Server after password reset or device token removal. You've successfully pulled out many locks of hair (optional).
You've even turned on UPnP on your router, just to test (you can turn it off, just make sure the port is opened and forwarded correctly).
Error 52 / code=-52
Your log has this line:
WARN - MyPlex: Invalid response when mapping state (code=-52)
What's happening
Some part of the Remote Access registration process fails if the host operating system is configured to use Jumbo Frames. If you don't know what that means, that's OK. I'm running an OpenSuSE Linux box as my Plex server and I am not a Linux expert, so I can't even really tell you where to go (if you know, leave a comment, please!).
For OpenSUSE, do the following:
$ sudo yast
... Your password ...
In yast, go to Network Devices and select Network Settings.
Select each network adapter and choose Edit.
Go to the General tab and change the MTU to a value that will prevent Jumbo Frames (1400 is a safe test value for most people, but you can google your optimal based on the kind of broadband you subscribe to).
Exit and try it all again (I restarted the plex server as well, just for good measure).

HOWTO: Add Code Syntax Highlighting to your Blogger / BlogSpot Blog

Tuesday, March 24, 2015
Solving my own problems
Last year I decided to poke about in my blog again and managed to utterly destroy the template along with all of my past customizations. I've decided to take the time to figure this out and then document it so that I can do it again when I decide to "code in production" again. So in the typical, slimmed down style, here's how it's done.
  1. Get to your blog's dashboard (log in, select blog from blogger dashboard).
  2. Select Template on the left hand navigation and Edit HTML on the screen that loads
  3. Locate the </head> tag (side note for testing later: better to not put this in head because it will prevent page from displaying until loaded).
  4. Paste the (hopefully now highlighted) code below. We're using cdnjs as the host for the .js scripts. I've read other instructions that suggest hot-linking directly to the author's site. I checked the install instructions on the site and he specifically asks you to copy the files locally.
Template Code
Here's the code I added to <head>:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushPlain.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCSharp.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushBash.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJScript.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js"></script>
<script type="text/css" src=""></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.min.css" rel="stylesheet" type="text/css" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeMidnight.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
</script>
And the Html
I've included the exact HTML used to render the above. Note that the "<"'s are all replaced with &lt;. That's a limitation I've decided to accept rather than using the alternative <script> block style.
<pre class="brush:js">
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shCore.min.js">&lt;/script>
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushCSharp.min.js">&lt;/script>
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushBash.min.js">&lt;/script>
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushJScript.js">&lt;/script>
&lt;script type="text/css" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js">&lt;/script>
&lt;link href="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shCore.min.css" rel="stylesheet" type="text/css" />
&lt;link href="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/styles/shThemeMidnight.min.css" rel="stylesheet" type="text/css" />
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/SyntaxHighlighter/3.0.83/scripts/shBrushXml.js"></script>
&lt;script type="text/javascript">
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script>
</pre class="brush:js">
Customizing for your purposes
SyntaxHighlighter can be customized. At this point, there's many available syntaxes to choose from. Find the brush you want and visit the cdn.js page for SyntaxHighlighter to get the link.
There's also plenty of themes. Find what you want, visit the cdn.js page for a link and add it to the scripts above.

FIX: T-Mobile Wireless (WiFi, not 3G) CellSpot / ASUS TM-AC1900 Port Forwarding Not Working

Wednesday, November 5, 2014
Problem
You try to forward ports on your new $25 deposit ASUS Wifi awesome-router and it doesn't work. Neither does UPNP. Or maybe it works but not for very long.
What's happening
Those clever folks at ASUS added a NAT acceleration capability. Unfortunately, as best I can tell, it basically does nothing much better than crash regularly. This is why you may have noticed that forwarding works occasionally after reboot. I, personally, found this to be very rare. I've also found that the NAT acceleration isn't noticed when it's disabled. I don't have Google internet, but I'm pulling 80/20 and the router is doing fine.
Fix
Go to LAN -> Switch Settings. It will probably hang. Worry not, your router probably just crashed. You likely lost internet. Give it a full minute and refresh.
Go to LAN -> Switch Settings. Set any setting that has the word Acceleration (or NAT) in it to Disabled. Your router will reboot and your ports will be forwarded.

Update: Around December, for no apparent reason, my NAT rules all stopped working again. Nothing had changed on the router (well, as far as I know ... we rarely need that functionality). See the comments for what I did to repair, but I'll summarize: Factory Reset and some other steps.
I couldn't find better information to help with this, so I went nuclear and blew away the entire configuration. It worked, but ... yuck!