<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-6815733</id><updated>2026-04-27T23:20:22.766-07:00</updated><category term="windows"/><category term="linux"/><category term="emacs"/><category term="raspbian"/><category term="utility"/><category term="cygwin"/><category term="ddwrt"/><category term="network"/><category term="openwrt"/><category term="raspberrypi"/><category term="repair"/><category term="freshtomato"/><category term="htpc"/><category term="pihole"/><category term="technology"/><category term="wrt"/><category term="android"/><category term="bmw"/><category term="c"/><category term="car"/><category term="gmail"/><category term="libreelec"/><category term="otg"/><category term="pizero"/><category term="politics"/><category term="shopping"/><category term="usb"/><category term="x1"/><title type="text">Anything goes</title><subtitle type="html">random and perhaps useful information</subtitle><link href="http://tsengf.blogspot.com/feeds/posts/default" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default?redirect=false" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/" rel="alternate" type="text/html"/><link href="http://pubsubhubbub.appspot.com/" rel="hub"/><link href="http://www.blogger.com/feeds/6815733/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" rel="next" type="application/atom+xml"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><generator uri="http://www.blogger.com" version="7.00">Blogger</generator><openSearch:totalResults>173</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><entry><id>tag:blogger.com,1999:blog-6815733.post-2440673164408444339</id><published>2025-02-05T13:31:00.000-08:00</published><updated>2025-02-07T22:24:17.110-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="otg"/><category scheme="http://www.blogger.com/atom/ns#" term="pizero"/><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><category scheme="http://www.blogger.com/atom/ns#" term="usb"/><title type="text">PiZero OTG: Host or Peripheral </title><content type="html">&lt;h2 style="text-align: left;"&gt;Background&lt;/h2&gt;&lt;div&gt;An OTG (On-The-Go) device is a device that can act as both a host and a peripheral on a USB network. The PiZero is an OTG device. This guide pertains specifically to the PiZero and PiZero 2, but similar concepts also apply to other Raspberry Pi products (more information here).&lt;/div&gt;&lt;div&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;&lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=306121"&gt;USB Ethernet Gadget A Beginner's Guide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=309324"&gt;USB Mass Storage Gadget - A Beginner's Guide&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;b&gt;&lt;div&gt;&lt;div style="font-weight: 400;"&gt;&lt;b&gt;Host mode&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-weight: 400;"&gt;&lt;ul&gt;&lt;li&gt;Used for connecting the PiZero to a USB peripheral, eg. USB keyboard, mouse, etc&lt;/li&gt;&lt;li&gt;PiZero is the OTG A device (supplying power to USB)&lt;/li&gt;&lt;li&gt;USB keyboard, mouse is the OTG B device&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;Peripheral mode&lt;/b&gt; (a.k.a. device mode, gadget mode)&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Used for connecting the PiZero to a host computer, eg. PC, phone&lt;/li&gt;&lt;li&gt;The host computer is the OTG A device (supplying power to USB)&lt;/li&gt;&lt;li&gt;PiZero is the OTG B device&lt;/li&gt;&lt;/ul&gt;&lt;h2 style="text-align: left;"&gt;Micro USB ports on the PiZero&lt;/h2&gt;&lt;div style="text-align: left;"&gt;There are two micro USB ports on the PiZero. There is only one micro USB data port (labeled USB), and it is capable of supporting OTG. The second micro USB port is used for power delivery and does not support OTG.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;h2 style="text-align: left;"&gt;Controlling OTG mode&lt;/h2&gt;There are two methods to control whether the data port operates in host or peripheral mode.&lt;br /&gt;&lt;ol style="text-align: left;"&gt;&lt;li&gt;Cable method&lt;/li&gt;&lt;li&gt;Software method&lt;/li&gt;&lt;/ol&gt;&lt;h3 style="text-align: left;"&gt;Cable method&lt;/h3&gt;&lt;div style="text-align: left;"&gt;The USB cable consists of one end being a USB Micro-B male and the other being a USB-A female.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Whether the data port operates as host or peripheral can be controlled with the type of USB cable used. A USB cable may or may not support OTG.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;If the ID pin on the USB Micro-B is shorted to ground, PiZero operates in host mode&amp;nbsp;(cable usually known as an OTG cable)&lt;/li&gt;&lt;li&gt;If the ID pin on the USB Micro-B is not shorted to ground (left floating), PiZero operates in peripheral mode&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;h3 style="text-align: left;"&gt;Software method&lt;/h3&gt;Specify the following setting in config.txt.&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;peripheral mode: dtoverly=dwc2,dr_mode=peripheral&lt;/li&gt;&lt;li&gt;host mode: dtoverly=dwc2,dr_mode=host&lt;/li&gt;&lt;li&gt;otg mode:&amp;nbsp;dtoverly=dwc2,dr_mode=otg (default: forces the PiZero to follow the ID pin functions)&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="text-align: left;"&gt;What if the cable method conflicts with the software method&lt;/h3&gt;&lt;div&gt;TBD @thagrol suggested the following.&lt;/div&gt;&lt;div&gt;My experience is that when you force the mode to either host or peripheral the ID pin in the microUSB socket is ignored. It is only when you set dr_mode=otg or don't include dr_mode at all (because the default is otg) that the ID pin functions.&lt;/div&gt;&lt;h3 style="text-align: left;"&gt;Checking the mode&lt;/h3&gt;&lt;div&gt;&lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=192802"&gt;Determining state of USB OTG-ID signal on Zero&lt;/a&gt;&lt;/div&gt; &lt;/div&gt;</content><link href="http://tsengf.blogspot.com/feeds/2440673164408444339/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/2440673164408444339" rel="replies" title="1 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2440673164408444339" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2440673164408444339" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2025/02/pizero-otg-host-or-peripheral.html" rel="alternate" title="PiZero OTG: Host or Peripheral " type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7392011120084856426</id><published>2023-12-31T00:41:00.000-08:00</published><updated>2023-12-31T20:51:30.405-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Pi Zero 2 W micro USB Journey</title><content type="html">&lt;p&gt;I've been using a RPi4 for running Pi-hole. The RPi4 is way overpowered for Pi-hole so I decided to switch to using the Pi Zero 2 W. The Pi Zero 2 supports WiFi but does not come with an ethernet port. WiFi works perfectly well for Pi-hole, but for personal reasons, I wanted to use ethernet instead. I've read many posts that setting up an ethernet USB dongle is as easy as plugging it in. I decided to purchase the TP-Link UE300, because a poster had given the thumbs up that the UE300 works on the Pi Zero 2 W. The UE300 has an USB A plug.&lt;/p&gt;&lt;p&gt;Through many attempts, I was more and more convincing myself that the USB (data) micro port on the Pi Zero 2 W was faulty. Some folks have floated this idea in the Raspberry Pi Forums. I eventually did find a solution, and I'm detailing my experience below.&lt;/p&gt;&lt;p&gt;Before I start, I am running thte lastest Raspberry Pi OS (64-bit) Lite for the Pi Zero 2 W installed using the Raspberry Pi Imager. I also want to mention that there are two USB micro ports on the Pi Zero 2 W. One is dedicated to providing only power while the second provides both power and data. Please ensure you are using the right port.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I didn't have a USB A to micro USB adapter but had the parts on hand so I decided put together a DIY adapter. The wiring is pretty simple because the sequence of signals on the pins of the USB A aligned with the sequence of signals on the pins of the micro USB. The USB A has 4 pins while the micro USB has 5 pins. The extra pin on the micro USB is the ID pin which I first ignored (left floating) but will touch on later.&lt;/p&gt;&lt;p&gt;Attempt 1:&lt;/p&gt;&lt;p&gt;My first attempt invovled not using the ID pin. I wired up only the V, D-, D+, and G pins between the USB A and micro USB plugs. When I plugged in the UE300 adapter, I did not see the ethernet interface. I should mention that I also tried plugging in an USB keyboard and mouse but none showed any signs of functionality. I decided to dig into this issue and found a number of posts saying that I should use an OTG cable. OTG stands for "On the Go", and it's a special adapter that treats the Pi Zero as a host to the USB device that it is connected to (I do not know the full specifications of when an OTG cable is is needed).&lt;/p&gt;&lt;p&gt;Attempt 2:&lt;/p&gt;&lt;p&gt;My second attempt involved making an OTG cable. This is easily accomplished by shorting the ID pin and the G pin on the micro USB. Again, when I plugged in the UE300 adapter, I did not see the ethernet interface. It was now that I was starting to think whether the USB micro port was faulty given what I read from the Raspberry Pi Forums.&lt;/p&gt;&lt;p&gt;Validation:&lt;/p&gt;&lt;p&gt;I tried the UE300 adapter on a Windows machine and the machine recognized the adapter. I thought that perhaps the Raspberry Pi OS didn't support this adapter so I tried it on a RPi4 and it also recognized the adapter. At this point, I concluded that the UE300 was not misbehaving.&lt;/p&gt;&lt;p&gt;I needed a way to check if the micro USB data port was faulty. I learned that it was possible to connect the Pi Zero 2 W to a Windows machine by treating the Pi Zero W 2 as a OTG device. Don't confuse this concept with the OTG adapter mentioned above. The OTG concept here means that we can turn the Pi Zero 2 W into a OTG device which allows a connection to the Pi Zero 2 W using ethernet over USB. Anyway, I followed the instructions on the page below. Because the Pi Zero 2 W showed up as only a COM device on my Windows system, and I needed to install the RNDIS driver.&lt;/p&gt;&lt;p&gt;https://www.factoryforward.com/pi-zero-w-headless-setup-windows10-rndis-driver-issue-resolved/&lt;/p&gt;&lt;p&gt;After installing the driver, I was able to see the ethernet device and putty into the Pi Zero 2 W. This validated that the micro USB data port was functional.&lt;/p&gt;&lt;p&gt;Attempt 3:&lt;/p&gt;&lt;p&gt;Having validated the functionality of the UE300 and the Pi Zero 2 W's USB micro data port, I decided to look at the dmesg output on the Pi Zero 2 W when I plugged in the UE300.&lt;/p&gt;&lt;span style="font-family: courier;"&gt;[  204.742680] Indeed it is in host mode hprt0 = 00021501&lt;br /&gt;[  204.952584] usb 1-1: new high-speed USB device number 2 using dwc_otg&lt;br /&gt;[  204.952825] Indeed it is in host mode hprt0 = 00001101&lt;br /&gt;[  205.162556] &lt;span style="background-color: #fcff01;"&gt;usb 1-1: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;[  205.282811] Indeed it is in host mode hprt0 = 00001101&lt;br /&gt;[  205.492506] &lt;span style="background-color: #fcff01;"&gt;usb 1-1: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;[  205.612548] Indeed it is in host mode hprt0 = 00001101&lt;br /&gt;[  205.822445] usb 1-1: new high-speed USB device number 3 using dwc_otg&lt;br /&gt;[  205.822743] Indeed it is in host mode hprt0 = 00001101&lt;br /&gt;[  206.032416] &lt;span style="background-color: #fcff01;"&gt;usb 1-1: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;[  206.152692] Indeed it is in host mode hprt0 = 00001101&lt;br /&gt;[  206.362359] &lt;span style="background-color: #fcff01;"&gt;usb 1-1: device descriptor read/64, error -71&lt;/span&gt;&lt;br /&gt;[  206.482400] usb usb1-port1: attempt power cycle &lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At least I was getting an indication when I plugged in the adapter. However, the highlighted text caught my attention. I googled this and came across several posts that offered different solutions. I tried them one by one. I'm not lisitng all of them but instead mentioning the one setting that worked for me. I'm convinced what setting you need is dependent on the USB peripheral that you are using.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For me, the solution was to add&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: courier;"&gt;"dwc_otg.speed=1" to /boot/cmdline.txt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are more options described on this page.&lt;/div&gt;&lt;div&gt;https://raspberrypi.stackexchange.com/questions/1886/what-kernel-parameters-are-available-for-fixing-usb-problems&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Upon booting, I now see this in dmesg.&lt;div&gt;&lt;br /&gt;&lt;span style="font-family: courier;"&gt;[  850.956370] Indeed it is in host mode hprt0 = 00021501&lt;br /&gt;[  851.166317] usb 1-1: new full-speed USB device number 3 using dwc_otg&lt;br /&gt;[  851.166517] Indeed it is in host mode hprt0 = 00021501&lt;br /&gt;[  851.406722] usb 1-1: not running at top speed; connect to a high speed hub&lt;br /&gt;[  851.407623] usb 1-1: New USB device found, idVendor=2357, idProduct=0601, bcdDevice=30.00&lt;br /&gt;[  851.407636] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=6&lt;br /&gt;[  851.407645] usb 1-1: Product: USB 10/100/1000 LAN&lt;br /&gt;[  851.407652] usb 1-1: Manufacturer: TP-Link&lt;br /&gt;[  851.407659] usb 1-1: SerialNumber: 000001&lt;br /&gt;[  851.413636] Indeed it is in host mode hprt0 = 00021501&lt;br /&gt;[  851.616299] usb 1-1: reset full-speed USB device number 3 using dwc_otg&lt;br /&gt;[  851.616444] Indeed it is in host mode hprt0 = 00021501 &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I should mention that I tried using the OTG micro USB adapter and non-OTG micro USB adapter, and both work flawlessly for the UE300. In my case, I did not need an OTG micro USB adapter for the UE300.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Summary:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm using a non-OTG micro USB adapter to connect the UE300 to the Pi Zero 2 W. I'm running the latest Raspberry Pi OS. I had to add&amp;nbsp;&lt;span style="font-family: courier;"&gt;"dwc_otg.speed=1" to /boot/cmdline.txt&lt;/span&gt;&lt;span style="font-family: inherit;"&gt; to get the OS to recognize the UE300. I am convinced that the OS for the Pi Zero 2 W requires tweaking for your peripherals to work. Don't assume your micro USB port is faulty.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Good luck.&lt;/div&gt;</content><link href="http://tsengf.blogspot.com/feeds/7392011120084856426/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7392011120084856426" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7392011120084856426" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7392011120084856426" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2023/12/pi-zero-2-w-micro-usb-journey.html" rel="alternate" title="Pi Zero 2 W micro USB Journey" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7088681207395988945</id><published>2023-12-02T23:52:00.000-08:00</published><updated>2023-12-02T23:52:16.567-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><title type="text">Cycle Through Emacs Themes</title><content type="html">&lt;p&gt;I wrote a library that lets you cycle through the available themes in Emacs. F10 and shift-F10 keys will cycle forward and backward through the themes. The theme name is printed for reference.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;https://github.com/tsengf/theme-cycle&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Installation&lt;br /&gt;Download theme-cycle.el into ~/.emacs.d.&lt;/p&gt;&lt;p&gt;Add the following to your Emacs configuration&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;(add-to-list 'load-path (expand-file-name "~/.emacs.d)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(require 'theme-cycle)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;;; Load as many themes as you are interested in exploring.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(use-package doom-themes)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(use-package ef-themes)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(use-package modus-themes)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(use-package solarized-themes)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;To Use&lt;/p&gt;&lt;p&gt;Use F10 to cycle forward through the themes. Use shift-F10 to cycle backward through the themes.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/7088681207395988945/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7088681207395988945" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7088681207395988945" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7088681207395988945" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2023/12/cycle-through-emacs-themes.html" rel="alternate" title="Cycle Through Emacs Themes" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-2038786009952455424</id><published>2023-11-27T22:29:00.000-08:00</published><updated>2023-11-27T22:29:49.223-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><title type="text">Preventing Emacs Window Resizing on Startup</title><content type="html">&lt;p&gt;If you set the geometry of your Emacs window in elisp, you may find that the window redraws itself upon resizing. Note that I try to avoid using Xresources to set the geometry which is another solution to this problem. I'd like to control all of my settings in Emacs elisp.&lt;/p&gt;&lt;p&gt;To do this, we will replace default-frame-alist by setting it in the set-initial-frame function which will be associated with the before-init-hook. This hook is run before the frame is drawn preventing the window to resize.&lt;/p&gt;&lt;p&gt;In this example, I set the font to RobotoMono. The width is 170 characters wide and the height is y resolution of the screen less 200 pixels. I also disable other parts of the window like the menu bar, tool bar, and scroll bars.&lt;/p&gt;&lt;p&gt;It would be great if I can control the default background color before my theme kicks in.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;(defun set-initial-frame ()&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; "Defines and center the frame window"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; (let* ((width-chars 170)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(height-buffer 200)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(setq my-font "RobotoMono Nerd Font")&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(monitor-width (x-display-pixel-width))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(monitor-height (- (x-display-pixel-height) height-buffer)))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; (setq default-frame-alist&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; `((width . ,width-chars)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (height . (text-pixels . ,monitor-height))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (font . ,my-font)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;; Prevent the glimpse of un-styled Emacs by disabling these UI elements early.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (menu-bar-lines . 0)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (tool-bar-lines . 0)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (horizontal-scroll-bars . nil)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (vertical-scroll-bars . nil)))&lt;/span&gt;&lt;span style="font-family: courier;"&gt;))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;(add-hook 'before-init-hook #'set-initial-frame)&lt;/span&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/2038786009952455424/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/2038786009952455424" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2038786009952455424" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2038786009952455424" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2023/11/preventing-emacs-window-resizing-on.html" rel="alternate" title="Preventing Emacs Window Resizing on Startup" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-1045420150787829762</id><published>2023-11-19T09:23:00.000-08:00</published><updated>2023-11-19T09:23:19.000-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="emacs"/><title type="text">Using use-package to bootstrap quelpa and quelpa-use-package</title><content type="html">&lt;p&gt;I use use-package and wanted to use it to bootstrap quelpa and loading quelpa-use-package. The project pages had instructions without use-package. Here is what I had to do.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;(require 'package)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(setq&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;package-archives&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; '(("melpa" . "https://melpa.org/packages/"))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; use-package-always-ensure t)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;(package-initialize)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;(require 'use-package-ensure)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;(use-package quelpa&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :ensure)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;(use-package quelpa-use-package&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :demand&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :config&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; (quelpa-use-package-activate-advice))&lt;br /&gt;&lt;br /&gt;;; Now, you can take advantage of the :quelpa keyword.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;(use-package copilot&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :quelpa (copilot :fetcher github&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:repo "zerolfx/copilot.el"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:branch "main"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;:files ("dist" "*.el"))&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :hook (prog-mode . copilot-mode)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; :bind (:map copilot-completion-map&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ("&amp;lt;tab&amp;gt;" . copilot-accept-completion)))&lt;/span&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/1045420150787829762/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/1045420150787829762" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1045420150787829762" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1045420150787829762" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2023/11/using-use-package-to-bootstrap-quelpa.html" rel="alternate" title="Using use-package to bootstrap quelpa and quelpa-use-package" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-2127391409478908976</id><published>2022-09-16T23:50:00.002-07:00</published><updated>2022-09-16T23:50:27.789-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type="text">My Minimalist ZSH Prompt</title><content type="html">&lt;p&gt;I have experimented with using many ZSH prompts. On some slow systems, the latency of rendering the prompt matters. I ended up going with the following solution which is by far the fastest prompt I have come across.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;function git_prompt_info() {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; ref=$(git-branch-name -q -h 12 -b 64) || return&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; echo " ${ref}"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;function git_prompt() {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; #BRANCH=$(git branch 2&amp;gt; /dev/null | sed -e '/^[^*]/d' -e 's/*\(.*\)/\1/')&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; BRANCH="$(git_prompt_info)"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; if [ ! -z $BRANCH ]; then&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo -n "%F{yellow}$BRANCH"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if [ ! -z "$(git status --short)" ]; then&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo " %F{red}?"&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fi&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; &amp;nbsp; fi&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;setopt PROMPT_SUBST&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;PROMPT=$'%F{blue}%~$(git_prompt)\n%F{244}%# %F{reset}'&lt;/span&gt;&lt;/p&gt;&lt;p&gt;I use git-branch-name (https://github.com/itchyny/git-branch-name) to improve the speed of retrieving the branch name. If you won't wish to use git-branch-name, toggle the comment of the two BRANCH lines.&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/2127391409478908976/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/2127391409478908976" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2127391409478908976" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2127391409478908976" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2022/09/my-minimalist-zsh-prompt.html" rel="alternate" title="My Minimalist ZSH Prompt" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-6084377900416702762</id><published>2022-03-21T23:48:00.014-07:00</published><updated>2023-02-25T15:27:39.413-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="wrt"/><title type="text">FreshTomato Resources for Netgear Nighthawk AC1900 R7000 WiFi Router</title><content type="html">&lt;p&gt;&lt;a href="https://freshtomato.org/"&gt;FreshTomato&lt;/a&gt; is an alternative firmware for routers. It runs very well on the Netgear R7000. Here is a list of useful FreshTomato resources for the Netgear R7000.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;discussion forums&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.linksysinfo.org/index.php?threads/fork-freshtomato-arm-development-discussion-only-for-support-always-open-your-own-thread.74117/"&gt;LinksysInfo.org| FreshTomato-ARM - development discussion only&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://openlinksys.info/forum/viewthread.php?thread_id=22134"&gt;OpenLinksys| FreshTomato-ARM&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.reddit.com/r/TomatoFTW/"&gt;Reddit| r/TomatoFTW&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;download&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://freshtomato.org/downloads/freshtomato-arm/"&gt;freshtomato.org| Index of /downloads/freshtomato-arm/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;installation&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://jayshomebrew.blogspot.com/2020/07/netgear-r7000-fresh-tomato-installation.html"&gt;Jays Homebrew| Netgear R7000 freshtomato installation STEP BY STEP instructions&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;upgrading settings&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://github.com/NotVaryClever/tomato-nvram"&gt;https://github.com/NotVaryClever/tomato-nvram&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;repo&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://bitbucket.org/pedro311/freshtomato-arm/src/arm-master/"&gt;Bitbucket| freshtomato-arm&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;wiki&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://wiki.freshtomato.org/doku.php"&gt;FreshTomato Wiki&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;issues&lt;/li&gt;&lt;ul&gt;&lt;li&gt;can't ping WAN gateway&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.reddit.com/r/TomatoFTW/comments/tgzv53/r7000_cant_upgrade_freshtomato_past_version_20217/"&gt;Reddit| R7000 - Can't upgrade FreshTomato past version 2021.7&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;repair&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://github.com/jclehner/nmrpflash"&gt;GitHub| nmrpflash - Netgear Unbrick Utility&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.myopenrouter.com/article/how-set-serial-console-netgear-r8000"&gt;MyOpenRouter| How to Set Up a Serial Console for Netgear R8000&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://kb.netgear.com/000059634/How-do-I-upload-firmware-to-my-NETGEAR-router-using-TFTP-from-the-Microsoft-Windows-Command-Prompt"&gt;Netgear| loading firmware using TFTP from the Windows Command Prompt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.reddit.com/r/TomatoFTW/comments/k7d0rj/r7000_installation_failure/"&gt;Reddit| R7000 installation failure&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.reddit.com/r/TomatoFTW/comments/mpk6a6/r8000_how_to_load_freshtomato_or_at_least_unbrick/"&gt;Reddit| R8000 - How to load FreshTomato (or at least un-brick it)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;setup&lt;/li&gt;&lt;ul&gt;&lt;li&gt;antenna position&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://kb.netgear.com/24776/How-to-adjust-the-antennas-on-the-NETGEAR-R7000-router"&gt;NETGEAR Support: How to adjust the antennas on the NETGEAR R7000 router&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;guest network&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://learntomato.flashrouters.com/setup-guest-network-guest-wifi-tomato-vlan/"&gt;LearnTomato| Setup a Guest Network for Guest WiFi with Tomato VLAN&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="https://anon.groov.pl/"&gt;TomatoAnon database&lt;/a&gt;&amp;nbsp;- find the most popular Tomato firmware variant as well as the most popular router being used&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;p&gt;Here is a list of firmware available for the Netgear R7000.&lt;/p&gt;&lt;p&gt;&lt;a href="https://advancedtomato.com/"&gt;AdvancedTomato&lt;/a&gt;&amp;nbsp;(&lt;a href="https://advancedtomato.com/downloads/router/r7000"&gt;download&lt;/a&gt;)&lt;br /&gt;&lt;a href="https://dd-wrt.com/"&gt;dd-wrt&lt;/a&gt;&amp;nbsp;(&lt;a href="https://wiki.dd-wrt.com/wiki/index.php/Netgear_R7000"&gt;info&lt;/a&gt;&amp;nbsp;|&amp;nbsp;&lt;a href="https://dd-wrt.com/support/router-database/?model=R7000_v1"&gt;download&lt;/a&gt;)&lt;br /&gt;&lt;a href="https://freshtomato.org/"&gt;FreshTomato&lt;/a&gt;&amp;nbsp;(&lt;a href="https://freshtomato.org/downloads/freshtomato-arm/"&gt;download&lt;/a&gt;)&lt;br /&gt;&lt;a href="https://www.netgear.com/"&gt;Netgear&lt;/a&gt;&amp;nbsp;(&lt;a href="https://www.netgear.com/support/product/r7000.aspx"&gt;download&lt;/a&gt;)&lt;br /&gt;&lt;a href="https://openwrt.org/"&gt;OpenWrt&lt;/a&gt;&amp;nbsp;(&lt;a href="https://openwrt.org/toh/netgear/r7000"&gt;info&lt;/a&gt;)&lt;br /&gt;&lt;a href="http://victek.is-a-geek.com/"&gt;Tomato RAF Firmware&lt;/a&gt; (&lt;a href="http://victek.is-a-geek.com/downloads.html"&gt;download&lt;/a&gt;)&lt;br /&gt;&lt;a href="http://xvtx.ru/xwrt/index.htm"&gt;XWrt-Vortex&lt;/a&gt;&amp;nbsp;(&lt;a href="http://xvtx.ru/xwrt/download.htm"&gt;download&lt;/a&gt;)&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/6084377900416702762/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/6084377900416702762" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6084377900416702762" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6084377900416702762" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2022/03/freshtomato-resources-for-netgear.html" rel="alternate" title="FreshTomato Resources for Netgear Nighthawk AC1900 R7000 WiFi Router" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-1232273834198155033</id><published>2021-09-23T22:17:00.001-07:00</published><updated>2021-09-23T22:17:05.746-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><title type="text">Power Raspberry Pi 4 over HDMI</title><content type="html">&lt;p&gt;I was setting up a new system. When I disconnected the USB-C power connector, the RPi4 retained its power from the HDMI cable.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1xVN7A9hQ8giJgVvUsHZxNWx1QO5nhuDuYhQBsp7g4CIwtRbosmYuTCzUHv6-i_9vwBwyoP5wSb1HAUwA4rEh72D1QZWUZ8bjWEt8VSMmv0iTQP9tSq39f-UW8YFnH9C4TC1fA/s2048/PXL_20210923_171234389.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1xVN7A9hQ8giJgVvUsHZxNWx1QO5nhuDuYhQBsp7g4CIwtRbosmYuTCzUHv6-i_9vwBwyoP5wSb1HAUwA4rEh72D1QZWUZ8bjWEt8VSMmv0iTQP9tSq39f-UW8YFnH9C4TC1fA/s320/PXL_20210923_171234389.jpg" width="180" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/1232273834198155033/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/1232273834198155033" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1232273834198155033" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1232273834198155033" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2021/09/power-raspberry-pi-4-over-hdmi.html" rel="alternate" title="Power Raspberry Pi 4 over HDMI" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjy1xVN7A9hQ8giJgVvUsHZxNWx1QO5nhuDuYhQBsp7g4CIwtRbosmYuTCzUHv6-i_9vwBwyoP5wSb1HAUwA4rEh72D1QZWUZ8bjWEt8VSMmv0iTQP9tSq39f-UW8YFnH9C4TC1fA/s72-c/PXL_20210923_171234389.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-386694531194129418</id><published>2021-04-12T00:07:00.002-07:00</published><updated>2021-04-12T00:07:34.847-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="freshtomato"/><title type="text">Freshtomato Not Broadcasting 5GHz SSID After Setting Wireless Country</title><content type="html">&lt;p&gt;If you have set your Wireless Country / Region to USA and lose the broadcast of your 5GHz radio, make sure you also set your Country Rev to 0.&lt;/p&gt;&lt;p&gt;References&lt;/p&gt;&lt;p&gt;https://wiki.freshtomato.org/doku.php/wireless?s[]=%2Aregion%2A#country_region&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/386694531194129418/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/386694531194129418" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/386694531194129418" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/386694531194129418" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2021/04/freshtomato-not-broadcasting-5ghz-ssid.html" rel="alternate" title="Freshtomato Not Broadcasting 5GHz SSID After Setting Wireless Country" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7339429105933964753</id><published>2021-02-17T20:16:00.005-08:00</published><updated>2021-02-17T20:20:33.114-08:00</updated><title type="text">Bash Script to Print All Unicode Characters to the Terminal</title><content type="html">&lt;div&gt;Here's a bash script that loops through 4-digit codes and prints the Unicode character associated with the code. Make sure your terminal supports Unicode characters&lt;/div&gt;
&lt;script src="https://gist.github.com/tsengf/4d09cf886b301445fc8fbd3b8e4e1066.js"&gt;&lt;/script&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;References&lt;/h2&gt;&lt;div&gt;https://unix.stackexchange.com/questions/65803/why-is-printf-better-than-echo&lt;/div&gt;&lt;div&gt;https://stackoverflow.com/questions/5517500/generating-hex-numbers-of-a-certain-range&lt;/div&gt;</content><link href="http://tsengf.blogspot.com/feeds/7339429105933964753/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7339429105933964753" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7339429105933964753" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7339429105933964753" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2021/02/bash-script-to-print-unicode-characters.html" rel="alternate" title="Bash Script to Print All Unicode Characters to the Terminal" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-3510276154490203513</id><published>2021-01-25T00:46:00.002-08:00</published><updated>2021-01-25T00:46:33.457-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="libreelec"/><title type="text">USB MCE Remote Not Working in LibreELEC 9</title><content type="html">&lt;p&gt;If you have a USB MCE remote and it stopped working in LibreELEC 9, it could be due to interaction with a feature on the TV called CEC.&lt;/p&gt;&lt;p&gt;If your television supports CEC and it is enabled on the television, make sure that support for CEC is also enabled in LibreELEC.&lt;/p&gt;&lt;p&gt;On LibreELEC, you can find this setting in System-&amp;gt;Settings-&amp;gt;System-&amp;gt;Input Devices-&amp;gt;Peripherals-&amp;gt;CEC&lt;br /&gt;Select CEC and enable CEC.&lt;/p&gt;&lt;p&gt;If CEC is disabled on the television, disable CEC in LibreELEC.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/3510276154490203513/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/3510276154490203513" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/3510276154490203513" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/3510276154490203513" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2021/01/usb-mce-remote-not-working-in-libreelec.html" rel="alternate" title="USB MCE Remote Not Working in LibreELEC 9" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-6464302200856277756</id><published>2020-11-08T22:37:00.000-08:00</published><updated>2020-11-08T22:37:05.121-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="linux"/><title type="text">BgInfo for Linux</title><content type="html">&lt;p&gt;&lt;a href="https://docs.microsoft.com/en-us/sysinternals/downloads/bginfo"&gt;BgInfo&lt;/a&gt; is a utility that updates your Windows desktop image with relevant static information about the system. Linux has a similar utility called &lt;a href="https://github.com/brndnmtthws/conky"&gt;Conky&lt;/a&gt;. Conky supports updating your background with dynamic information such as CPU load and memory usage.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/6464302200856277756/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/6464302200856277756" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6464302200856277756" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6464302200856277756" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/11/bginfo-for-linux.html" rel="alternate" title="BgInfo for Linux" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-1372431935064556100</id><published>2020-10-22T00:25:00.008-07:00</published><updated>2020-10-22T09:04:32.235-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Compiling Jivelite on Raspbian</title><content type="html">&lt;p&gt;Jivelite is a visualization application.&lt;/p&gt;&lt;p&gt;Install the git and luajit development packages.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;apt install git libluajit-5.1-dev&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Install additional dependencies&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;apt install git libsdl1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev libsdl-gfx1.2-dev libexpat1-dev&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Clone the repository&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;git clone git@github.com:ralph-irving/jivelite.git&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;cd jivelite&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: inherit;"&gt;Update the path to the luajit header files.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;find . -type f -iname '*' -exec sed -i 's/include\/luajit-2.0/include\/luajit-2.1/' "{}" +;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: inherit;"&gt;Update some outdated definitions in the source.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;find . -type f -iname '*' -exec sed -i 's/luaL_reg /luaL_Reg /' "{}" +;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;span style="font-family: inherit;"&gt;In&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;lib-src/lua-cjson-2.1.0/lua_cjson.c&lt;/span&gt;&lt;span style="font-family: inherit;"&gt;, change&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;static void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: inherit;"&gt;to&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;void luaL_setfuncs (lua_State *l, const luaL_Reg *reg, int nup)&lt;/span&gt;&lt;/p&gt;&lt;div&gt;Build it.&lt;/div&gt;&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;make PREFIX=/usr&lt;/span&gt;&lt;/p&gt;&lt;p&gt;You should have a binary in&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400;"&gt;&lt;span style="font-family: courier;"&gt;bin/jivelite&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white;"&gt;Jivelite uses SDL which disables external screensavers by default. To bypass this behavior, create shell script wrapper &lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;jivelite.sh&lt;/span&gt;&lt;span style="background-color: white;"&gt; containing the following.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;export SDL_VIDEO_ALLOW_SCREENSAVER=1&lt;br /&gt;/home/pi/jivelite/bin/jivelite&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: white;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/1372431935064556100/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/1372431935064556100" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1372431935064556100" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1372431935064556100" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/compiling-jivelite-on-raspbian.html" rel="alternate" title="Compiling Jivelite on Raspbian" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7638120207426454818</id><published>2020-10-21T23:16:00.016-07:00</published><updated>2020-10-22T08:52:40.242-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Kiosk Setup on Raspbian</title><content type="html">&lt;p&gt;The following instructions document how to enable a kiosk setup on Raspbian with the following requirements.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;utilize the lightweight Matchbox window manager&lt;/li&gt;&lt;li&gt;utilize the Chromium browser to render a webpage in fullscreen mode&lt;/li&gt;&lt;li&gt;remove the X cursor&lt;/li&gt;&lt;li&gt;turn off the display after 10 minutes of inactivity&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Install the latest Raspbian Lite image. Note, this is the barebone image for server setup.&lt;/p&gt;&lt;p&gt;Install packages&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;apt install matchbox-window-manager xinit&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Use &lt;span style="background-color: #ffa400; font-family: courier;"&gt;raspi-config&lt;/span&gt; to enable auto login into the console with user pi&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;raspi-config&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Add the following to the bottom of &lt;span style="background-color: #ffa400; font-family: courier;"&gt;/home/pi/.bashrc&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400;"&gt;&lt;span style="font-family: courier;"&gt;if [ -z "${SSH_TTY}" ]; then&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;&amp;nbsp; exec startx /home/pi/startup.sh -- -nocursor&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: courier;"&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;Install a browser that can run fullscreen.&lt;/div&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;apt install chromium-browser -y&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Create the file &lt;span style="background-color: #ffa400; font-family: courier;"&gt;/home/pi/startup.sh&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;#!/bin/sh&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&lt;br /&gt;# Tweak the energy settings to your liking&lt;br /&gt;xset dpms 0 0 600&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;xset s off&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&lt;br /&gt;# Start the Matchbox window manager&lt;br /&gt;matchbox-window-manager -use_cursor no -use_titlebar no &amp;amp;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&lt;br /&gt;# Start the web browser full screen&lt;br /&gt;/usr/bin/chromium-browser --app=http://your-site \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --kiosk \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --noerrdialogs \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --disable-session-crashed-bubble \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --disable-infobars \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --check-for-update-interval=604800 \&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;&amp;nbsp; --disable-pinch&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/7638120207426454818/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7638120207426454818" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7638120207426454818" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7638120207426454818" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/kiosk-setup-on-raspbian.html" rel="alternate" title="Kiosk Setup on Raspbian" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7613105136345587235</id><published>2020-10-21T23:10:00.006-07:00</published><updated>2020-10-21T23:10:46.112-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Identifying IP of New Raspbian Host</title><content type="html">&lt;p&gt;Here's a handy command if you have an available linux system.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #ffa400; font-family: courier;"&gt;arp -a&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Look for the hostname raspberrypi.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/7613105136345587235/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7613105136345587235" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7613105136345587235" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7613105136345587235" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/identifying-ip-of-new-raspbian-host.html" rel="alternate" title="Identifying IP of New Raspbian Host" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-1797687584437263495</id><published>2020-10-14T00:51:00.002-07:00</published><updated>2020-10-14T00:51:22.204-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Disabling WiFi on Raspbian</title><content type="html">&lt;p&gt;&amp;nbsp;If you've set up wifi on Raspbian and want to disable it, add the following line in /etc/wpa_supplicant/wpa_supplicant.conf.&lt;/p&gt;&lt;p&gt;disabled=1&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/1797687584437263495/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/1797687584437263495" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1797687584437263495" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/1797687584437263495" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/disabling-wifi-on-raspbian.html" rel="alternate" title="Disabling WiFi on Raspbian" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-144958889540434061</id><published>2020-10-07T22:58:00.005-07:00</published><updated>2020-10-07T23:23:03.147-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Mail from Command Line on Raspbian</title><content type="html">&lt;div&gt;The following instructions are the minimum steps required to enable sending email on Raspbian using Postfix and Gmail as the SMTP relay.&lt;/div&gt;&lt;h3 style="text-align: left;"&gt;Enable "Less Secure Apps" in your Google account.&lt;/h3&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;Google Account -&amp;gt; Security -&amp;gt; Less secure app access -&amp;gt; Turn on access -&amp;gt; Off&lt;/span&gt;&lt;/div&gt;&lt;h3 style="text-align: left;"&gt;Setup Raspbian&lt;/h3&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;apt install mailutils postfix libsasl2-modules&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When the Postfix Configuration dialog box comes up, select &lt;span style="background-color: #cccccc; font-family: courier;"&gt;Internet Site&lt;/span&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update &lt;span style="background-color: #cccccc; font-family: courier;"&gt;/etc/postfix/main.cf&lt;/span&gt; with the following lines.&lt;br /&gt;&lt;div&gt; 


&lt;p&gt;&lt;span style="font-family: courier;"&gt;&lt;span style="background-color: #cccccc;"&gt;relayhost = [smtp.gmail.com]:587&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;smtp_sasl_auth_enable = yes&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;smtp_sasl_password_maps = static:username@gmail.com:password&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;smtp_sasl_security_options =&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;smtp_tls_security_level = encrypt&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Restart the Postfix service.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;service postfix restart&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Send some email.&lt;/p&gt;&lt;p&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;echo Hello | mail username@gmail.com&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;</content><link href="http://tsengf.blogspot.com/feeds/144958889540434061/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/144958889540434061" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/144958889540434061" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/144958889540434061" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/mail-from-command-line-on-raspbian.html" rel="alternate" title="Mail from Command Line on Raspbian" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7183119971951438413</id><published>2020-10-06T22:14:00.001-07:00</published><updated>2020-10-12T11:26:55.158-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="freshtomato"/><category scheme="http://www.blogger.com/atom/ns#" term="pihole"/><title type="text">Configuring FreshTomato for Pi-hole</title><content type="html">&lt;p&gt;There are several ways to enable Pi-hole on your network. If you are running FreshTomato, the easiest way is to update the DNS server setting of FreshTomato.&lt;/p&gt;&lt;p&gt;First, assign a static IP to your Pi-hole server. You will need the MAC address for the network interface you are using. Assign an IP to Pi-hole, eg. 192.168.1.250. Under Basic-&amp;gt;Static DHCP/ARP/IPT, add the static IP assignment. Save the settings. You may need to restart your Pi-hole server to get the correct static IP.&lt;/p&gt;&lt;p&gt;Second, point the DNS server to the Pi-hole server. Under Basic-&amp;gt;Network-&amp;gt;WAN Settings, select Manual under DNS Server. Set DNS 1 to 192.168.1.250, and set DNS 2 to 0.0.0.0. Save the settings.&lt;/p&gt;&lt;p&gt;That's it.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/7183119971951438413/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7183119971951438413" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7183119971951438413" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7183119971951438413" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/configuring-freshtomato-with-pi-hole.html" rel="alternate" title="Configuring FreshTomato for Pi-hole" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-3442363614775908753</id><published>2020-10-01T23:35:00.002-07:00</published><updated>2020-10-02T23:42:00.818-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bmw"/><category scheme="http://www.blogger.com/atom/ns#" term="car"/><category scheme="http://www.blogger.com/atom/ns#" term="x1"/><title type="text">BMW X1 Blinker Light</title><content type="html">&lt;p&gt;A couple of days ago, the blinker indicator inside the X1 started clicking at twice the speed. Furthermore, the broken light warning indicator came up on the driver dash. I thought that the bulb had gone out and would be an easy fix. Upon disassembling the broken bulb, I noticed that the bulb housing looked like it had partially melted. The filament on the bulb looked intact.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVBEbu7PGN0kv2FJFJVtvkzJB3bfleZDqkVcnNwVdsAZM5EWwH1EXu1dFyA0O2MF-jhTaODKNA1saY1p2_-e9YPHsgXpJ-Q1WDqBawVuBy9VgJhVIfZLpi5QrG-2k3IA9sW-saw/s2048/PXL_20201001_034807724.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVBEbu7PGN0kv2FJFJVtvkzJB3bfleZDqkVcnNwVdsAZM5EWwH1EXu1dFyA0O2MF-jhTaODKNA1saY1p2_-e9YPHsgXpJ-Q1WDqBawVuBy9VgJhVIfZLpi5QrG-2k3IA9sW-saw/s320/PXL_20201001_034807724.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;At this point, I thought that the vehicle may have a short around this contact. I took out the multimeter and confirmed that the bulb and the bulb housing were still intact electrically. Upon further inspection, I noticed that the contact was recessed into the plastic housing. Using a small screwdriver, I raised the contact by prying it away from the housing.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyfuo2JbL3tuUscEsl1Hs6KGV-R5vFsb9Yh-6bem4NTWQiJ1EU8b2N-2_n3CKLwoZYkBkSDYxdJHwH4OdskPNDzkkaZ58AwINXwLHXaUFzTS8096KG2qkRUhmIERHZp-4X7ckew/s2048/PXL_20201002_060328614.jpg" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOyfuo2JbL3tuUscEsl1Hs6KGV-R5vFsb9Yh-6bem4NTWQiJ1EU8b2N-2_n3CKLwoZYkBkSDYxdJHwH4OdskPNDzkkaZ58AwINXwLHXaUFzTS8096KG2qkRUhmIERHZp-4X7ckew/s320/PXL_20201002_060328614.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;At this point, I cleaned the bulb and reinstalled it. The fixed worked.&lt;/p&gt;&lt;p&gt;I suspect the cause of the original issue is this. The contact was poorly designed. It was not high enough to maintain a robust contact with the main housing. Over time through each use of the bulb, minor sparks may have resulted due to gaps between the contacts. These sparks slowly deformed the plastic bulb housing. The proper fix for this may be to buy a new bulb housing.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/3442363614775908753/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/3442363614775908753" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/3442363614775908753" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/3442363614775908753" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/10/bmw-x1-blinker-light.html" rel="alternate" title="BMW X1 Blinker Light" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnVBEbu7PGN0kv2FJFJVtvkzJB3bfleZDqkVcnNwVdsAZM5EWwH1EXu1dFyA0O2MF-jhTaODKNA1saY1p2_-e9YPHsgXpJ-Q1WDqBawVuBy9VgJhVIfZLpi5QrG-2k3IA9sW-saw/s72-c/PXL_20201001_034807724.jpg" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-6639384037193164117</id><published>2020-09-16T23:08:00.025-07:00</published><updated>2020-10-27T22:28:34.810-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><title type="text">Raspberry Pi Audio Streaming Server</title><content type="html">&lt;p&gt;There are many prepackaged audio streaming servers available for the Raspberry Pi. Between Moode, Volumio, and piCorePlayer, piCorePlayer is very rich in its capabilities. It can access local media as well as a huge list of free online streaming content including TuneIn. piCorePlayer has also been the most stable where stable is defined to the quality of having a longer uptime. Although piCorePlayer is the most stable, I have occasionally encountered a loss of connectivity to the pi system (through the web interface and SSH). piCorePlayer also touts having a fast boot due to the use of Tiny Core Linux, but I experienced boot delays of greater than 30 seconds.&lt;/p&gt;&lt;p&gt;Granted that I could have spent time debugging why I lost connectivity and why boots took longer than 30 seconds, I decided to take another approach. Rather than using the prepackaged piCorePlayer which is convenient with its one-button push approach, I manually installed Logitech Media Server and Squeezelite player on Raspbian.&lt;/p&gt;&lt;p&gt;Here are some of the differences I see versus piCorePlayer.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;I can access the LMS web interface using the hostname rather than the IP. ie. I don't need to assign a static IP to the server. See &lt;a href="http://tsengf.blogspot.com/2015/08/broadcast-linux-hostname-to-windows.html"&gt;Resolve Linux Hostnames in Windows&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Booting the system takes less than &amp;lt;10 seconds.&lt;/li&gt;&lt;li&gt;The server has been rock solid.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Here are the steps for the setup.&lt;/p&gt;&lt;h2 style="text-align: left;"&gt;Install Base Raspbian&lt;/h2&gt;&lt;div&gt;Install the base Raspbian distribution. There are many instructions on the web on how to do this. If you want to be able to access LMS web interface using the host name, make sure you assign a host name to the system during setup.&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Install Squeezelite&lt;/h2&gt;&lt;div&gt;Install the Squeezelite package.&lt;/div&gt;&lt;p style="text-align: left;"&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo apt-get install squeezelite&lt;/span&gt;&lt;/p&gt;&lt;h4 style="text-align: left;"&gt;&lt;span style="font-weight: 400;"&gt;Identify the desired audio output device for Squeezelite.&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;squeezelite -l&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;&lt;span style="font-weight: 400;"&gt;Create a squeezelite service file.&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo vi /etc/systemd/system/squeezelite.service&lt;/span&gt;&lt;/div&gt;&lt;h4&gt;&lt;span style="font-weight: 400;"&gt;Paste the following contents into the file.&lt;/span&gt;&lt;/h4&gt;&lt;div&gt;&lt;span style="font-family: courier;"&gt;&lt;div style="background-color: #cccccc;"&gt;&lt;div&gt;[Unit]&lt;/div&gt;&lt;div&gt;Description=Squeezelite&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After=network.target&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[Service]&lt;/div&gt;&lt;div&gt;ExecStart=/usr/bin/squeezelite -o hw:CARD=T1E,DEV=0 -n living_room -s 127.0.0.1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[Install]&lt;/div&gt;&lt;div&gt;WantedBy=multi-user.target&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here hw:CARD=T1E,DEV=0 is the name of the ALSA output device, living_room is the name assigned to the Squeezelite player, and 127.0.0.1 is the IP of the LMS server. Since Squeezelite and LMS will run on the same system, I'm using the loopback address.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Start the new service on boot.&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo systemctl enable squeezelite.service&lt;/span&gt;&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Install LMS&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo apt-get install libio-socket-ssl-perl libnet-libidn-perl libnet-ssleay-perl perl-openssl-defaults&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;cd&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;mkdir lms&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;cd lms&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;wget http://downloads.slimdevices.com/nightly/8.0/lms/5949ad56255da8462b0e9f9fd6153acba5a7a7b3/logitechmediaserver_8.0.0~1600144351_all.deb&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo dpkg -i 8.0.0~1600144351_all.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style="text-align: left;"&gt;I'm running LMS 8.0 as of this writing.&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;Final Setup&lt;/h2&gt;&lt;div&gt;Reboot your system.&lt;/div&gt;&lt;p style="text-align: left;"&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo reboot&lt;/span&gt;&lt;/p&gt;&lt;div&gt;Point your web browser to the following URL.&lt;/div&gt;&lt;p style="text-align: left;"&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;http://&amp;lt;hostname or IP&amp;gt;:9000&lt;/span&gt;&lt;/p&gt;&lt;h2 style="text-align: left;"&gt;Upgrading LMS&lt;/h2&gt;&lt;div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo dpkg -r logitechmediaserver&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: #cccccc; font-family: courier;"&gt;sudo dpkg -i logitechmediaserver_&amp;lt;xxx&amp;gt;_all.deb&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style="text-align: left;"&gt;References&lt;/h2&gt;&lt;div&gt;&lt;a href="http://downloads-origin.slimdevices.com/nightly/?ver=8.0"&gt;LMS Beta Downloads 8.0&lt;/a&gt;&lt;/div&gt;&lt;a href="https://www.hagensieker.com/wordpress/2018/06/12/302/"&gt;Installation Instructions from John's Tech Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.winko-erades.nl/installing-squeezelite-player-on-a-raspberry-pi-running-jessie/"&gt;Installation Instructions from Winko Erades' Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/"&gt;Latest Squeezelite Builds&lt;/a&gt;&lt;br /&gt;</content><link href="http://tsengf.blogspot.com/feeds/6639384037193164117/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/6639384037193164117" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6639384037193164117" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6639384037193164117" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/09/raspberry-pi-audio-streaming-server.html" rel="alternate" title="Raspberry Pi Audio Streaming Server" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7508981518594202583</id><published>2020-08-17T08:41:00.005-07:00</published><updated>2020-10-06T22:16:28.190-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="gmail"/><title type="text">Whitelisting Gmail Emails</title><content type="html">&lt;p&gt;Emails from certain domains are aggressively identified by Gmail as spam, although being legitimate. I've been trying to train the spam filter by flagging the false positives using the "Not Spam" button. However, the efforts do not appear to be helping. It is possible to whitelist emails are not spam. To do this, create a filter for the email. One of the actions for the filter is "Never send it to Spam."&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="data:image/png;base64,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" /&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/7508981518594202583/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7508981518594202583" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7508981518594202583" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7508981518594202583" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/08/whitelisting-gmail-emails.html" rel="alternate" title="Whitelisting Gmail Emails" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-8012528151552174863</id><published>2020-08-16T01:25:00.002-07:00</published><updated>2020-08-16T01:25:27.040-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="wrt"/><title type="text">Popular Routers Running Tomato</title><content type="html">&lt;p&gt;Have you ever wondered what router models running Tomato software are popular? It turns out there is a way to extract this information. Tomato users have the option of registering their router with the&amp;nbsp;&lt;a href="https://anon.groov.pl"&gt;TomatoAnon database&lt;/a&gt;. Here is the count of the number of routers registered. One model appears to be the winner: Netgear R7000.&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="data:image/png;base64,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lQRWEpDUWAlWtQQIECBAgAABAgQIECBAgAABAgQI1CEgqVHHOImSQBCQ1DAPCBAgQIAAAQIECBAgQIAAAQIECBC4tICkxqWHX+crE5DUqGzAhEuAAAECBAgQIECAAAECBAgQIECAwLICkhrLeqqNwJoCkhpr6qqbAAECBAgQIECAAAECBAgQIECAAIHDC0hqHH6IBEigFZDUaCm8IECAAAECBAgQIECAAAECBAgQIEDgigKSGlccdX2uVUBSo9aREzcBAgQIECBAgAABAgQIECBAgAABAosISGoswqgSApsISGpswqwRAgQIECBAgAABAgQIECBAgAABAgSOKiCpcdSREReBdwFJjXcT7xAgQIAAAQIECBAgQIAAAQIECBAgcCEBSY0LDbauVi8gqVH9EOoAAQIECBAgQIAAAQIECBAgQIAAAQIlApIaJXrKEthWQFJjW2+tESBAgAABAgQIECBAgAABAgQIECBwMAFJjYMNiHAIfBCQ1PiA4yMCBAgQIECAAAECBAgQIECAAAECBM4vIKlx/jHWw/MISGqcZyz1hAABAgQIECBAgAABAgQIECBAgACBGQKSGjPQFCGwk4Ckxk7wmiVAgAABAgQIECBAgAABAgQIECBA4BgCkhrHGAdREMgRkNTIUbIPAQIECBAgQIAAAQIECBAgQIAAAQKnFZDUOO3Q6tgJBSQ1TjioukSAAAECBAgQIECAAAECBAgQIECAQL6ApEa+lT0J7C0gqbH3CGifAAECBAgQIECAAAECBAgQIECAAIFdBSQ1duXXOIFJApIak7jsTIAAAQIECBAgQIAAAQIECBAgQIDA2QQkNc42ovpzZgFJjTOPrr4RIECAAAECBAgQIECAAAECBAgQIDAqIKkxSmQHAocRkNQ4zFAIhAABAgQIECBAgAABAgQIECBAgACBPQQkNfZQ1yaBeQKSGvPclCJAgAABAgQIECBAgAABAgQIECBA4CQCkhonGUjduISApMYlhlknCRAgQIAAAQIECBAgQIAAAQIECBAYEpDUGJLxPoHjCUhqHG9MRESAAAECBAgQIECAAAECBAgQIECAwIYCkhobYmuKQKGApEYhoOIECBAgQIAAAQIECBAgQIAAAQIECNQtIKlR9/iJ/loCkhrXGm+9JUCAAAECBAgQIECAAAECBAgQIEAgEZDUSEBsEjiwgKTGgQdHaAQIECBAgAABAgQIECBAgAABAgQIrC8gqbG+sRYILCUwManx7/b7/XX7+v69/Ysi+Pf7ffv6+nr89/PXfjL1/bagFwQIECBAgAABAgQIECBAgAABAgQIENhIQFJjI2jNEFhAYEJS4+/28/V9+/37vX3HSY1/v7fvr5/bI5Xx3CdkPKa+v0BnVEGAAAECBAgQIECAAAECBAgQIECAAIGpApIaU8XsT2A/gQlJjWeQIVkRJTXCT2N8/75+bqPZbp6brjXbzXP6frPtmQABAgQIECBAgAABAgQIECBAgAABAlsKSGpsqa0tAmUCkhplfkoTIECAAAECBAgQIECAAAECBAgQIFC5gKRG5QMo/EsJSGpcarh1lgABAgQIECBAgAABAgQIECBAgACBVEBSIxWxTeC4AlUmNf77779bCNx/DMwBc8AcMAfMAXPAHDAHzAFzwBwwB8wBc8AcMAfMAXOgdA70JTVK61TevDQHPs+B8D3/nEdw/V/4X/Yj+Zsak/8g+NAfEM8OwI4ECBAgQIAAAQIECBAgQIAAAQIECBBYTqAvqbFc7WoiQGBJgQlJjb/bz9fX7Sv67+fvEcrfz+v9+I+GT31/yY6piwABAgQIECBAgAABAgQIECBAgAABAjkCkho5SvYhcAyBCUmNYwQsCgIECBAgQIAAAQIECBAgQIAAAQIECCwpIKmxpKa6CKwrIKmxrq/aCRAgQIAAAQIECBAgQIAAAQIECBA4uICkxsEHSHgEIgFJjQjDSwIECBAgQIAAAQIECBAgQIAAAQIEricgqXG9MdfjegUkNeodO5ETIECAAAECBAgQIECAAAECBAgQILCAgKTGAoiqILCRgKTGRtCaIUCAAAECBAgQIECAAAECBAgQIEDgmAKSGsccF1ER6BOQ1OhT8R4BAgQIECBAgAABAgQIECBAgAABApcRkNS4zFDr6AkEJDVOMIi6QIAAAQIECBAgQIAAAQIECBAgQIDAfAFJjfl2ShLYWkBSY2tx7REgQIAAAQIECBAgQIAAAQIECBAgcCgBSY1DDYdgCHwUkNT4yONDAgQIECBAgAABAgQIECBAgAABAgTOLiCpcfYR1r8zCUhqnGk09YUAAQIECBAgQIAAAQIECBAgQIAAgckCkhqTyRQgsJuApMZu9BomQIAAAQIECBAgQIAAAQIECBAgQOAIApIaRxgFMRDIE5DUyHOyFwECBAgQIECAAAECBAgQIECAAAECJxWQ1DjpwOrWKQUkNU45rDpFgAABAgQIECBAgAABAgQIECBAgECugKRGrpT9COwvIKmx/xiIgAABAgQIECBAgAABAgQIECBAgACBHQUkNXbE1zSBiQKSGhPB7E6AAAECBAgQIECAAAECBAgQIECAwLkEJDXONZ56c24BSY1zj6/eESBAgAABAgQIECBAgAABAgQIECAwIiCpMQLkYwIHEpDUONBgCIUAAQIECBAgQIAAAQIECBAgQIAAge0FJDW2N9cigbkCkhpz5ZQjQIAAAQIECBAgQIAAAQIECBAgQOAUApIapxhGnbiIgKTGRQZaNwkQIECAAAECBAgQIECAAAECBAgQ6BeQ1Oh38S6BIwpIahxxVMREgAABAgQIECBAgAABAgQIECBAgMBmApIam1FriECxgKRGMaEKCBAgQIAAAQIECBAgQIAAAQIECBCoWUBSo+bRE/vVBCQ1rjbi+kuAAAECBAgQIECAAAECBAgQIECAQEdAUqPDYYPAoQUkNQ49PIIjQIAAAQIECBAgQIAAAQIECBAgQGBtAUmNtYXVT2A5AUmN5SzVRIAAAQIECBAgQIAAAQIECBAgQIBAhQKSGhUOmpAvKyCpcdmh13ECBAgQIECAAAECBAgQIECAAAECBIKApIZ5QKAeAUmNesZKpAQIECBAgAABAgQIECBAgAABAgQIrCAgqbECqioJrCQgqbESrGoJECBAgAABAgQIECBAgAABAgQIEKhDQFKjjnESJYEgIKlhHhAgQIAAAQIECBAgQIAAAQIECBAgcGkBSY1LD7/OVyYgqVHZgAmXAAECBAgQIECAAAECBAgQIECAAIFlBSQ1lvVUG4E1BSQ11tRVNwECBAgQIECAAAECBAgQIECAAAEChxeQ1Dj8EAmQQCsgqdFSeEGAAAECBAgQIECAAAECBAgQIECAwBUFJDWuOOr6XKuApEatIyduAgQIECBAgAABAgQIECBAgAABAgQWEZDUWIRRJQQ2EZDU2IRZIwQIECBAgAABAgQIECBAgAABAgQIHFVAUuOoIyMuAu8CkhrvJt4hQIAAAQIECBAgQIAAAQIECBAgQOBCApIaFxpsXa1eQFKj+iHUAQIECBAgQIAAAQIECBAgQIAAAQIESgQkNUr0lCWwrYCkxrbeWiNAgAABAgQIECBAgAABAgQIECBA4GACkhoHGxDhEPggIKnxAcdHBAgQIECAAAECBAgQIECAAAECBAicX0BS4/xjrIfnEZDUOM9Y6gkBAgQIECBAgAABAgQIECBAgAABAjMEJDVmoClCYCcBSY2d4DVLgAABAgQIECBAgAABAgQIECBAgMAxBCQ1jjEOoiCQIyCpkaNkHwIECBAgQIAAAQIECBAgQIAAAQIETisgqXHaodWxEwpIapxwUHWJAAECBAgQIECAAAECBAgQIECAAIF8AUmNfCt7EthbQFJj7xHQPgECBAgQIECAAAECBAgQIECAAAECuwpIauzKr3ECkwQkNSZx2ZkAAQIECBAgQIAAAQIECBAgQIAAgbMJSGqcbUT158wCkhpnHl19I0CAAAECBAgQIECAAAECBAgQIEBgVEBSY5TIDgQOIyCpcZihEAgBAgQIECBAgAABAgQIECBAgAABAnsISGrsoa5NAvMEFklq/P183b6+nv99/97+PWP59/v9ev/nr41w6P12By8IECBAgAABAgQIECBAgAABAgQIECCwkYCkxkbQmiGwgEB5UuPf7+27TWT8u/1+f93u+Yvw/tfP7ZHK+Lv9fH3ffkO2Y+j9BTqjCgIECBAgQIAAAQIECBAgQIAAAQIECEwVkNSYKmZ/AvsJrJDUeCQvwk9jfN+zGI/ONdvNc9PldLt53zMBAgQIECBAgAABAgQIECBAgAABAgS2EJDU2EJZGwSWEShPatx/+OL1a6aa3zKVJiua7ea5CT/dbt73TIAAAQIECBAgQIAAAQIECBAgQIAAgS0EJDW2UNYGgWUEFklq3P+mxs/f7f78/FVUabKi2W6em/DT7eb9T8///fffLQTuPwbmgDlgDpgD5oA5YA6YA+aAOWAOmAPmgDlgDpgD5oA5UDoH+pIapXUqb16aA5/nQPief84juP4v/G/uI01KNNvNc1Nvs908p+83254JECBAgAABAgQIECBAgAABAgQIECCwpUBfUmPL9rVFgEC+wCJJja/md07dbvef1rj/LY2hPwg+9H5+zPYkQIAAAQIECBAgQIAAAQIECBAgQIDAYgKSGotRqojA6gLFSY3b7d/t9/vr9vX1/O/566dC5PdfR/V8P/6j4UPvr95bDRAgQIAAAQIECBAgQIAAAQIECBAgQCARkNRIQGwSOLDAAkmNA/dOaAQIECBAgAABAgQIECBAgAABAgQIEBgRkNQYAfIxgQMJSGocaDCEQoAAAQIECBAgQIAAAQIECBAgQIDA9gKSGtuba5HAXAFJjblyyhEgQIAAAQIECBAgQIAAAQIECBAgcAoBSY1TDKNOXERAUuMiA62bBAgQIECAAAECBAgQIECAAAECBAj0C0hq9Lt4l8ARBSQ1jjgqYiJAgAABAgQIECBAgAABAgQIECBAYDMBSY3NqDVEoFhAUqOYUAUECBAgQIAAAQIECBAgQIAAAQIECNQsIKlR8+iJ/WoCkhpXG3H9JUCAAAECBAgQIECAAAECBAgQIECgIyCp0eGwQeDQApIahx4ewREgQIAAAQIECBAgQIAAAQIECBAgsLaApMbawuonsJyApMZylmoiQIAAAQIECBAgQIAAAQIECBAgQKBCAUmNCgdNyJcVkNS47NDrOAECBAgQIECAAAECBAgQIECAAAECQUBSwzwgUI+ApEY9YyVSAgQIECBAgAABAgQIECBAgAABAgRWEJDUWAFVlQRWEpDUWAlWtQQIECBAgAABAgQIECBAgAABAgQI1CEgqVHHOImSQBCQ1DAPCBAgQIAAAQIECBAgQIAAAQIECBC4tICkxqWHX+crE5DUqGzAhEuAAAECBAgQIECAAAECBAgQIECAwLICkhrLeqqNwJoCkhpr6qqbAAECBAgQIECAAAECBAgQIECAAIHDC0hqHH6IBEigFZDUaCm8IECAAAECBAgQIECAAAECBAgQIEDgigKSGlccdX2uVUBSo9aREzcBAgQIECBAgAABAgQIECBAgAABAosISGoswqgSApsISGpswqwRAgQIECBAgAABAgQIECBAgAABAgSOKiCpcdSREReBdwFJjXcT7xAgQIAAAQIECBAgQIAAAQIECBAgcCEBSY0LDbauVi8gqVH9EOoAAQIECBAgQIAAAQIECBAgQIAAAQIlApIaJXrKEthWQFJjW2+tESBAgAABAgQIECBAgAABAgQIECBwMAFJjYMNiHAIfBCQ1PiA4yMCBAgQIECAAAECBAgQIECAAAECBM4vIKlx/jHWw/MISGqcZyz1hAABAgQIECBAgAABAgQIECBAgACBGQKSGjPQFCGwk4Ckxk7wmiVAgAABAgQIECBAgAABAgQIECBA4BgCkhrHGAdREMgRkNTIUbIPAQIECBAgQIAAAQIE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CBAgQIAAAQIENhaQ1NgYXHMECgQkNQrwFCVAgAABAgQIECBAgAABAgQIECBAoH4BSY36x1APriMgqXGdsdZTAgQIECBAgAABAgQIECBAgAABAgR6BCQ1elC8ReCgApIaBx0YYREgQIAAAQIECBAgQIAAAQIECBAgsI2ApMY2zlohsISApMYSiuogQIAAAQIECBAgQIAAAQIECBAgQKBaAUmNaodO4BcUkNS44KDrMgECBAgQIECAAAECBAgQIECAAAECLwFJjZeFVwSOLiCpcfQREh8BAgQIECBAgAABAgQIECBAgAABAqsKSGqsyqtyAosKSGosyqkyAgQIECBAgAABAgQIECBAgAABAgRqE5DUqG3ExHtlAUmNK4++vhMgQIAAAQIECBAgQIAAAQIECBAgcJPUMAkI1CMgqVHPWImUAAECBAgQIECAAAECBAgQIECAAIEVBCQ1VkBVJYGVBCQ1VoJVLQECBAgQIECAAAECBAgQIECAAAECdQhIatQxTqIkEAQkNcwDAgQIECBAgAABAgQIECBAgAABAgQuLSCpcenh1/nKBCQ1Khsw4RIgQIAAAQIECBAgQIAAAQIECBAgsKyApMaynmojsKaApMaauuomQIAAAQIECBAgQIAAAQIECBAgQODwApIahx8iARJoBSQ1WgovCBAgQIAAAQIECBAgQIAAAQIECBC4ooCkxhVHXZ9rFZDUqHXkxE2AAAECBAgQIECAAAECBAgQIECAwCICkhqLMKqEwCYCkhqbMGuEAAECBAgQIECAAAECBAgQIECAAIGjCkhqHHVkxEXgXUBS493EOwQIECBAgAABAgQIECBAgAABAgQIXEhAUuNCg62r1QtIalQ/hDpAgAABAgQIECBAgAABAgQIECBAgECJgKRGiZ6yBLYVkNTY1ltrBAgQIECAAAECBAgQIECAAAECBAgcTEBS42ADIhwCHwQkNT7g+IgAAQIECBAgQIAAAQIECBAgQIAAgfMLSGqcf4z18DwCkhrnGUs9IUCAAAECBAgQIECAAAECBAgQIEBghoCkxgw0RQjsJCCpsRO8ZgkQIFCzgIu9mkdP7AQIECBAgAABAgQIECCQCrjPTUVsEziugKTGccdGZAQIEDisgIu9ww6NwAgQIECAAAECBAgQIEBghoD73BloihDYSUBSYyd4zRIgQKBmARd7NY+e2AkQ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BAgQIECAAIE9BCQ19lBUBwECBAgQIECgUkBSoxLM5QQIECBAgAABAgQIECBAoGkaSQ23AQECBAgQIEDgDQL2iHgDuiYJECBAgAABAgQIECBA4PACkhqHn0IDIECAAAECBAgQIECAAAECBAgQIECAAAEC3yEgqfEd82yUBAgQIECAAAECBAgQIECAAAECBAgQIEDg8AKSGoefQgMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfISCp8R3zbJQECBAgQIAAAQIECBAgQIAAAQIECBAgQODwApIah59CAyBAgAABAgQIECBAgAABAgQIECBAgAABAt8hIKnxHfNslAQIECBAgAABAgQIECBAgAABAgQIECBA4PACkhqHn0IDIECAAAECBAgQIECAAAECBAgQIECAAAEC3yEgqfEd82yUBAgQIECAAAECBAgQIECAAAECBAgQIEDg8AKSGoefQgMgQIAAAQIECBAgQIAAAQIECBAgQIAAAQLfIdAmNf77778mHPgfA/eAe8A94B5wD7gH3APuAfeAe8A94B5wD7gH3APuAfeAe8A94B5wD7gHPvUeCPmM/wEmTRCmA+iKxgAAAABJRU5ErkJggg==" /&gt;&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/8012528151552174863/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/8012528151552174863" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/8012528151552174863" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/8012528151552174863" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/08/popular-routers-running-tomato.html" rel="alternate" title="Popular Routers Running Tomato" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-2602623575906148066</id><published>2020-08-10T16:27:00.000-07:00</published><updated>2020-08-10T16:27:21.262-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="politics"/><title type="text">0 and 1 Politics</title><content type="html">&lt;p&gt;How effective protective gear is ranges from non-effective to completely effective and all points in between. Let's assign this range to the numbers between 0 and 1. I agree that we are not 100% protected unless we wear an Infectious Disease Protection suit. Anything that we can do to curb the virus should be done in a pandemic. As a society, we should recognize that putting on a simple face mask helps avoid the spread of the virus more than not wearing a mask. That is, 0.1 &amp;gt; 0. We should be doing what is right from a scientific and common sense standpoint. Republicans have politicized this issue to the point where they are harming the public. Just because wearing a mask doesn't completely prevent transmission, doesn't mean one should not wear a mask.&lt;/p&gt;&lt;p&gt;The problem with politics is that everyone has an alternate agenda and sometimes it disagrees with scientific and common sense reasoning. The truth is contorted to advance the political agenda often at the cost of the public. What can be easily understood and mapped to a number between 0 and 1 ends up being either 0 or 1.&lt;/p&gt;</content><link href="http://tsengf.blogspot.com/feeds/2602623575906148066/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/2602623575906148066" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2602623575906148066" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/2602623575906148066" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/08/0-and-1-politics.html" rel="alternate" title="0 and 1 Politics" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-6421760090975319108</id><published>2020-07-10T01:40:00.001-07:00</published><updated>2020-07-10T01:40:58.695-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspberrypi"/><title type="text">Raspberry Pi 4 4GB and USB Audio</title><content type="html">There have been a number of reports of issues with USB on the Raspberry Pi 4. I am however encountering an USB audio-related issue that has not been described. I'm running Raspberry Pi OS (32-bit) Lite Version:May 2020. I've connected a USB speaker to the Pi. Sometimes when I play an audio file, aplay complains that it cannot open the audio device. In the terminal output below, you can see that the first two commands were successful but fails on the third. The state of audio system remains in this state indefinitely.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have attempted the same exercise on the Raspberry Pi 3, and aplay never fails. If anyone has a solution, please let me know.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;font face="courier"&gt;root@jazz:~# aplay piano2.wav&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;Playing WAVE 'piano2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;root@jazz:~# alsamixer&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;root@jazz:~# aplay piano2.wav&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;Playing WAVE 'piano2.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;root@jazz:~# aplay piano2.wav&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;ALSA lib pcm_direct.c:1271:(snd1_pcm_direct_initialize_slave) unable to install hw params&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;ALSA lib pcm_dmix.c:1120:(snd_pcm_dmix_open) unable to initialize slave&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;aplay: main:828: audio open error: Broken pipe&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;root@jazz:~# aplay piano2.wav&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;ALSA lib pcm_direct.c:1271:(snd1_pcm_direct_initialize_slave) unable to install hw params&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;ALSA lib pcm_dmix.c:1120:(snd_pcm_dmix_open) unable to initialize slave&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;aplay: main:828: audio open error: Broken pipe&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="courier"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="inherit"&gt;I have attempted using the Ubuntu Raspberry Pi OS as well as limiting the memory of the 4GB Pi to 3GB. None of these attempts were successful.&lt;/font&gt;&lt;/div&gt;</content><link href="http://tsengf.blogspot.com/feeds/6421760090975319108/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/6421760090975319108" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6421760090975319108" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/6421760090975319108" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/07/raspberry-pi-4-4gb-and-usb-audio.html" rel="alternate" title="Raspberry Pi 4 4GB and USB Audio" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6815733.post-7598000975004269682</id><published>2020-03-22T13:57:00.004-07:00</published><updated>2020-10-06T22:16:14.228-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="raspbian"/><title type="text">Remove Configuration Files Left Over From "apt remove"</title><content type="html">The following command will list the packages with leftover configuration files.&lt;br /&gt;
dpkg -l | grep ^rc&lt;br /&gt;
&lt;br /&gt;
Hence, send the output to apt purge to remove all such packages.&lt;br /&gt;
apt purge `dpkg -l | grep ^rc |awk '{print $2}'|xargs`&lt;br /&gt;
&lt;br /&gt;
In the future, to avoid having the configuration files leftover after removing a package, use&lt;br /&gt;
apt purge &amp;lt;PACKAGE&amp;gt;</content><link href="http://tsengf.blogspot.com/feeds/7598000975004269682/comments/default" rel="replies" title="Post Comments" type="application/atom+xml"/><link href="http://www.blogger.com/comment/fullpage/post/6815733/7598000975004269682" rel="replies" title="0 Comments" type="text/html"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7598000975004269682" rel="edit" type="application/atom+xml"/><link href="http://www.blogger.com/feeds/6815733/posts/default/7598000975004269682" rel="self" type="application/atom+xml"/><link href="http://tsengf.blogspot.com/2020/03/remove-configuration-files-left-over.html" rel="alternate" title="Remove Configuration Files Left Over From &quot;apt remove&quot;" type="text/html"/><author><name>tsengf</name><uri>http://www.blogger.com/profile/11780610202818263705</uri><email>noreply@blogger.com</email><gd:image height="16" rel="http://schemas.google.com/g/2005#thumbnail" src="https://img1.blogblog.com/img/b16-rounded.gif" width="16"/></author><thr:total>0</thr:total></entry></feed>