Featured

Lost art of Cable Management – Cable Lacing

Used in Telcom, NASA and Avionics a almost lost art of Cable Management called Cable Lacing. Instead of using Zip Ties or Tape a Waxed Coated Cotton String is used for the whole length of a Wire Rack or Wire Harness/Bundle.

In my honest opinion this looks a lot cleaner and better then a hundred Zip Ties and doesn’t leave a sticky residue like Tape does. It’s also pretty darn cheap, just don’t buy the “Electronics Grade” stuff. The 1mm size that is used for Jewelry is cheaper and it is the exact same stuff. You can also use thinner stuff but you’ll have to double wrap the bundle.

I found a little Video on YouTube that covers how to do it. The man in the Video has a terrible accent but you just to need to watch rather then listen.

A few Tips I have with this Method. Have the knots closer then what I have in the example photo. If the Cabling is running flat then you can get away with knots further away but when you go into turns and twists you want the knots closer or it will look like this.

Just like anything new you will be slow and it will look like crap but with practice it will look better and you’ll get much faster.

Featured

Fresh install Debian 10 Linux

When I install Linux I end up spending a lot of time tweaking it the way I like it. No matter the Distribution I end up doing stuff like this. Mostly because Out of the Box is for the novice user. Most end Linux users do the same thing.

I typically start with just the base install to make sure all of my hardware is in working order such as Chipset, CPU Microcode, Networking and USB. Easier to catch the issues when it’s a plain Command Line Interface. Also much easier to redo the install to Unstable if the Kernel is too old to see brand new hardware. Unstable isn’t really Unstable, it’s just newer Software that is still experimental. For a example Ubuntu uses a mixture of Unstable and LTR (Long Term Release).

When partitioning I keep things simple and use a single Partition for everything. Now if I am doing this to a system that has Multiple Hard Drives I’ll move things around such as putting the /home directory onto a different drive. Back in the day I use to toss in a old drive just to be used for SWAP but these days I see no performance gains. A EXT4 Partition is just find and no need to go into the world of ZFS and GPT since ZFS eats RAM and GPT will bite you in the ass in the end.

After I verify everything is working I’ll edit the APT sources file and add the contrib and non-free entries, update the mirrors and upgrade. Install Xorg and whatever Window Manager I want. Currently I am giving KDE Plasma a spin and it has a few nice features but I like using the Awesome WM.

Before anything else I once again verify my Video and Audio is working correctly. I’ll run the glxgears program or just look at the OpenGL Information. To test Audio I’ll just load something up in YouTube, a few times in the past the Audio would work fine within the Window Manager but YouTube, Steam and VLC would be deaf. So if YouTube works then there shouldn’t be issues with anything else.

Now I can start adding my custom tweaks and such.

I add my user to the sudoers file and make sure the hostname for the system is final. Also install ntp if Xorg’s install didn’t include it.

su
apt install binutiles sudo ntp ufw fish vlc
nano /etc/sudoers


under root’s entry add
[username] ALL=(ALL:ALL) ALL
Save and exit.

exit

I start by changing the Command Line Shell. Debian uses a modified version of BASH called DASH. Works alright but after you start playing with other types of Shells you end up staying away from it. I use to use Zsh but I converted to FISH. After installing fish I then issue chsh -s /usr/bin/fish then launch it. From there I go into ~/.config/fish and edit the config.fish file and add my alias entries.

alias ls="ls -lahp"
alias dir="ls -lahp"
alias shutdown="sudo shutdown now"
alias reboot="sudo reboot"
alias update="sudo apt update"
alias upgrade="sudo apt upgrade"
alias purge="sudo apt autoremove"
alias edit="nano"
alias G="grep"
alias S="sudo"

After tweaking commands to my liking I’ll add more software I attend to use such as Htop, Bleachbit, Guake, and KDE Connect.

Over time I end up installing neofetch, screen, Arduino IDE, Sublime Text and GCC, Firefox and vBox.

Once in a blue moon I’ll screw up and spend a good few hours fixing it or just end up reinstalling everything.

Featured

Limit Unwanted Network Connections

I’m slowly putting together a Network Administration suite for the Raspberry Pi. Came across a little jewel called Evil Limiter. It’s a Python 3 Script that can do a ARP scan of a Network and give you a IP Address on the Network that you know shouldn’t be there or you have a User sucking up too much Bandwidth. So instead of Deauthing the user you can Throttle or even Block the User. For a example you can Limit a User to 100Kbit/sec or even totally block them.

This could be handy for enforcing say the Kids Internet usage during the Spring/Summer Break or even at work when Steve should be working on a report but is too busy watching Netflix or YouTube.

Now this tool is considered a DoS (Denial of Service) Attack so be careful how you use it and deploy it.

Featured

Building a Z80 Computer

Every hardcore Electronics Engineer and Computer Nerd has a bucket list and there is a Homebrew Retro Computer on that list. I could cheat and buy a RC2014 kit but building it from total scratch is even better.

Now you just don’t order/buy/find the parts and slap it all together. You have to study up on the subject. There is a PDF floating around called “Build your own Z80 Computer” by Steve Ciarcia. Then you have Grant Searle’s Website that is loaded with tons of Schematics and ideas for a minimal chip count Z80 running BASIC and CP/M.

To start off the build I am going to build a curd version of the Zeta256 and branch off of that by adding memory, UART, ROM and so forth.

Setting up IoT Network for Home Assistant

In the last post I had setup pfSense to use a vLan to keep the IoT devices from trying to make its way onto the Lan side of the Network. I ran into a few issues on the way but I was able to fix them. So here is a quick review on the vLan side of things.

I want to disable the ability to access the pfSense Box from the vLan so I had set some Firewall Rules for it but guess what, it didn’t work. The only way to do so is to modify the Admin Access page under Login Protection and white list key systems you want accessing the pfSense Web UI. Don’t be a dummy and only whitelist one system. If you do and if that system was to die, replaced or whatever you’ll be locked out of the Router. I white listed my PC in the Garage, two Laptops and my Phone.

Now since that is out of the way here is how I got the Linksys Router going.

I have both WiFi Radios on, Guest Access is turned off. I couldn’t get the DMZ function working right in pfSense so I disabled the Firewall on the Linksys so all port forwarding would be handled in pfSense. The Host IP the Router sees for a WAN is 192.168.254.1 but the Local LAN Subnet is 192.168.1.0. In all the Linksys is kinda working like a AP but with a DHCP Server.

Other then that it’s a very simple setup to get things rolling. Now I have to reconfigure the Home Assistant Server to work with the new Network layout.

Setting up vLAN for IoT and Home Assistant

My Home Network is a piece of work let me tell you. The Router is a old PC running pfSense and I have a couple of TP-Link TL-SG108E Managed Switches. PITA to setup but works like a dream in the end.

I created a vLAN in pfSense by clicking on Assignments and then selecting the VLAN Tab. Click on Add and Selected the Parent Interface as WAN then went to VLAN Tag and called it 8 then gave it a Description. I then went back to Interface Assignments and enabled the newly created VLAN and it gave a default name of OPT5. I clicked on OPT5 and Enabled Interface and changed the name to IoT. Under IPv4 Configuration Type I selected Static IPv4. Scrolled down to IPv4 Address and gave it 192.168.254.254 then clicked on Save.

That was the easy part. Now have to create a couple of Firewall Rules to allow and block stuff. Under Firewall select Rules. Under LAN copy the “Default allow LAN to any rule”. This will let you edit the rule and change Interface to “IoT” and Source to “IoT net” and then click on save. Now since I do not want the IoT vLAN to see or interact with the LAN I have to make a rule to block access to the LAN. Under the IoT Rules click on Add, on Action select Block then change Protocol to Any and then scroll to Destination and select “LAN net”. Click on Save and the pfSense side of things is done.

For the Switch I had to make it reflect to the vLAN 8. Log into the Switch and select VLAN and select 802.1Q VLAN. Enable the option to turn on vLAN. Now I only need one port dedicated for this so I selected Port 8. So on the VLAN ID I typed in 8 and for the VLAN Name I called it IoT. Select Port 1 as Tagged and Port 8 to Untagged and then click on Add/Modify.

Under the 802.1Q PVID Setting I selected Port 8 and in the PVID box I typed in 8 and clicked on Apply.

That’s it and anything plugged into Port 8 on the Switch will have a 192.168.254.0/32 subnet.

Since I will be using a old Linksys Router for the time being it is to be used as a WiFi AP and Router. I didn’t enable the DHCP Server in pfSense for the IoT Interface but I did place the Linksys Router on a DMZ. For added protection I disabled the WebUI to access pfSense on the vLAN by creating a Firewall Rule to block port 80 and 443 for address 192.168.254.254.

The Linksys Router is just temporary until I can get another UniFi AP. I could use one of those WiFi Extenders I have laying around but after a while they stop working and I have to power cycle them. When I do get a proper AP I can just remove the DMZ list for the Linksys Router.

Another Firewall Rule to think about is forcing Devices to use the DNS provided by my pfSense box. Just two simple Rules to add.

Action: Pass
Interface: IOT
Address Family: IPv4
Protocol: UDP
Destination: IOT net
Destination Port Range: “from” DNS (53) “to” DNS (53)
Save

Next Rule

Action: Block
Interface: IOT
Address Family: IPv4
Protocol: UDP
Destination: any
Destination Port: “from” DNS (53) “to” DNS (53)
Save

Last thing I need is some cloud based IoT device trying to use it’s own DNS.

Now to configure the Linksys and I can start flashing devices to use MQTT.

Computers – Where are we now

Desktop Computers have changed dramatically over the years. Laptops or Portable Computers were only a dream to own unless you were a traveling business man. Your parents dedicated a Room just for the Computer.

If you look at it this has only been around 40 years since the Home Computer and it’s honestly not a long time compared to say the Automobile or Sliced Bread.

Desktops are more for the office setting these days and the Laptop has become the Home Computer while Tablets/Phones are the replacements for Laptops. Not many people don’t even have a Computer in their Home and just use their Portable devices.

In this short time we have went through the BASIC Interpreter, DOS and Windows. Meanwhile you have seen others such as MacOS, Acron and Amiga Workbench but Microsoft thought they have won but they didn’t see a struggling Operating System called Linux on the horizon. Honestly in my opinion Linux didn’t get the foothold it needed until Google used it for the Android Portable Operating System and Valve decided to stick it to Microsoft and had a bunch of games running under Steam to run in Linux. Instead of the old Mac VS PC war we now face the Android VS iOS and Playstation VS Xbox.

However the war still rages a bit for Windows VS Linux. Linux is Open source and Windows is a Closed source. Two different ideologies, one believes the Source Code should be free for anyone to modify and the other wants money and makes their users suffer. Not to mention Programmers have to pay for the VS Pro+ package if they want to create the next blockbuster game. However in the shadows Microsoft is starting to lean towards Linux. After all this isn’t the first time Microsoft dabbled with a Unix based system, at one time they published Xenix. Now they have the Azure Cloud that runs a variant of Linux and has included a Linux Kernel in with Windows 10. Rumor has it that Windows 11 or whatever they decide to call it will be more Linux like.

In the hobbyist world of computing. People are playing with SBCs (Single Board Computers) such as the Raspberry Pi or the Tinkerboard. These systems are nowhere as powerful as a modern PC but has GPIO (General Purpose Input Output) to control home made electronic devices. They run Linux and the Windows build that is available is useless as tits on a bull.

In the end if you were to list every computer in the world that is currently connected to the Internet it would probably be 40% Linux/BSD/Unix, 25% iOS/MacOS, 25% Windows and 10% Other. Now I am counting Computers as anything that is from a IoT device such as a TV to a Rack Server in a Server Farm. Lets face it, everything has a Computer in it these days. Doubt a car runs a Linux Kernel but you never know. The 10% Other are systems that are super old but still in use such as Industrial Machinery. I’ve seen POS (Point Of Sale) systems still sporting DOS and OS\2. Last I checked McDonald’s with their NewPOS6 runs Windows XP Embedded in the background and that went national right before Microsoft put the End of Life cycle on XP. Before that they were running MS-DOS 5.

When you get down to it the Specs of a Computer have not changed much. They just slap more Cores and Cache into a CPU. Ram and SSD becomes faster and Graphics do change but mostly for the Video Game industry. For a day to day user that surfs the Web they can get away with a ten year old system just fine. Right now I can use a Pentium 4 system with 2GB of RAM, 128MB Video Ram, a 120GB Hard Drive with 10/100 Ethernet running Linux and still watch YouTube or read up on Hackaday.com. I could do it with Windows but it would complain too much. After all the latest iPhone or Samsung Galaxy is probably the same speed as the Computer Specs I mentioned.

I wonder how things will be in the next twenty years.

Cheap Automation for the Novice DIYer 2020 edition

It’s only the Second Month of the Year and I have put together a list for the DIY Novice.

Security
Home Security is important. Granted you can just hire a professional and have a system installed for 99 bucks and pay a flat rate every month then go for it. If you want a System you can install yourself I would go with Simplisafe.

Home Assistant Speaker
They all spy on you but if you want a Voice Controlled Home Assistant I still prefer Amazon Alexa. Easier to setup and has more bells and whistles then Google Home. You can get by with a Echo Dot but a Show 5 or 8 is pretty darn sweet. With a Firestick you can add CCTV viewing if you please.

Video DoorBell
There are two to choose from but the cheaper one is the new Armcrest Video Doorbell. It doesn’t require the Cloud but has an option for it. Has a SD Card Storage and has RTSP support. If you have an IP CCTV system you could tie this into the NVR as well.

CCTV
If you want the high end stuff then get a Lorex IP CCTV System. If you want something that just works then checkout Reolink. Reolink is pretty darn nice for the price but if money is no object then get Lorex.

Smart TV
Just for a TV in the Kids Room or Play Room then I would say TCL. For the Livingroom or for the couch potato then get a LG. In all honestly from a professional standpoint Samsung has gone downhill with their TVs. If Money is no option then spring for a Sony.

Stream Box
The nVidia Shield is an awesome Streaming Box and is great for playing Old School Video Games. If you want a cheap box just to get by then a Zoomtak is a good one but buyer beware, you need a high end HDMI cable or you will have handshake issues. You could just stick with your SmartTV or use a Firestick 4K.

Thermostat
The Nest and has been done to death and honestly I prefer the Echobee 4 however if you don’t want anything too fancy then get the Honeywell Home. I got to install one today and wow, it’s a major difference and easy to use.

Sound System
If you just enjoy music then the HEOS Amp is just fine. However if you want Surround Sound then go with a Denon AVR. For the Soundbar Fanboys they do have Sound Bars but the Sonos Beam to me sounds the best. Granted it doesn’t have Atmos but it’s a soundbar…

Remote
Sadly the Logitech Harmony Remote but if you can get your hands on a URC MX HomePro MXHP-H500 Hub and possibly the MXHP-R500 then do it!. It’s hard to get URC devices on the consumer market, it’s more geared towards the professional installer market. Funny thing is it’s easier the program then a Logitech Harmony.

Lighting
I am not going to recommend for a Novice to rewire their home but you can buy Lightbulbs that are Smart. Geeni bulbs uses WiFi and they run about 10 bucks a bulbs.

Sensors
Once again Geeni wins in this one. Just don’t follow the directions and use the SmartLife App to program them.

One thing with the Geeni products, they use ESP8266 modules you can reflash and make them run Local and not depend on the Cloud. However you’ll need a Home Assistant Server.

Other things I didn’t cover such as Light sockets and different Hubs. People attend to use the smart socket adapters to power stuff that isn’t a Lamp and that is a NO NO. Also there are too many Hubs out there with different Protocols. If money wasn’t an option then get Z-Wave brand and if you want to be cheap then use WiFi and hire a professional that does Computer Networking to harden your Home Network and set you up with the proper equipment such as Routers, Switches and WiFi Access Points.

Home Assistant Build – Real one

A while back I bought a Intel D410PT Motherboard that has a Atom CPU. The idea was to use it for a NAS System but I didn’t bother to look at the Datasheet of the Motherboard and it is limited to 4GB of RAM. So it’s sitting around not doing anything until now.

Specs
Intel D410PT built on Atom CPU
DDR2 4GB RAM
250Watt Power Supply
500GB SATA WD Purple Hard Drive
DVD+RW Drive
Netrome BlackBox ATX Case

Sadly this board only has a PCI slot and 10/100 Ethernet however I am planning to toss in a Netgear 10/100/1000 PCI card so it will have two NICs. Use the 10/100 for the Home Network and the Netgear for the IoT Network since the IoT Network will have a ton more traffic VS the Home Network connection is only used for Managing the System.

I’ll probably remove the DVD+RW and replace it with another 500GB Drive and create weekly backups.

Since I will probably use WiFi for the majority of the IoT Network I will use MQTT and Tuya-Convert to get all of my WiFi devices to work Locally and stay out of the Cloud as much as possible. I flashed a NodeMCU to be the Donor for converting devices over to the new Firmware.

I also have a Tuxedo Touch Keypad on my Security Panel that has a Z-Wave controller and I can access it via a WebUI so I don’t have to use the Cloud to control Z-Wave Devices. Speaking of Keypads I need to find a cheap Android Tablet so I can control everything with. The cheapest one currently on Amazon is the Fire HD 8 but I don’t feel like converting it to use Android. However Walmart has a BLU 7″ Touchbook M7 for $47.00 and has Android 7. Reading the Reviews and people seem to not be happy with it but they’re using Fast Food Money expecting a five star three course meal.

I’ll hold off on the Tablet until next payday. I just need to get the System going for now. Besides I would want to get Two Tablets. One for the Master Bedroom and the other for the Hallway.

The most expensive part for this project is replacing the light switches. I don’t have any three way switches so I would have to just buy single pole switches. The switch I decided to use is the Martin Jerry brand switches since these can be easily converted to use MQTT. I won’t go and buy all of the switches at one go. I’ll order two at a time each payday and add them in as they come in. My home uses the old toggle like switches so if I end up doing a multigang switch I’ll have to buy a set of standard paddle switches and plate. After doing up a switch box I then can move to the next set and relocate the Switches to the next one.

RIP Wife's Computer

This evening my Wife’s Computer died. The symptoms pointed to be the Power Supply so I swapped it out with an extra I had for a different build I never got around to do. Well It wasn’t the Power Supply. So I started to tear apart the computer by removing a part then test the system and kept on going until all what was hooked up was the Motherboard, CPU and extra known working RAM and still no signs of post.

Dell brand Motherboard
second generation Intel i7
16GB RAM DDR3
160GB Hard Drive
1TB Hard Drive
MSI GeForce GTX 960
HP ATX Case
550Watt Power Supply
Windows 7 Ultimate

After removing the Motherboard I noticed a few Caps starting to pucker but in the past I have tried recapping Motherboards and it doesn’t work out too well.

Instead of breaking the bank to build her a new system I will give her the i3 System I use for VM and testing. I ordered another stick of 8GB DDR4 so she can have 16GB again and I can toss in the GeForce Card and toss on Windows 10 on it. She mostly uses the Computer for paying Bills and playing The Sims.

So the System I am giving her has the following

Gigabyte GA-B150M-D3H GSM Motherboard
6th gen i3 CPU
16GB RAM DDR4
1TB Hard Drive
Asus DVD+RW
CoolMaster Case
600Watt Power Supply
MSI GeForce GTX 960
Windows 10

The thing about Automation and WiFi

Since reading up on a bunch of ways to use Home Assistant and MQTT I have found out a lot of people will buy the cheap WiFi Light Switches that has the Tuya Firmware then re-flash it with some other Firmware to make the Switch work Locally via MQTT without it having to go poll the Net.

I think that is pretty neat however only on paper. Now granted it works Locally and doesn’t spy on you however it’s insecure and anyone can access it if they have access to the Network or even brute force into the Network with that insecure device. Although I think the Tuya Firmware isn’t too secure also but at least they try and they can push an update before in the background to fix any holes in the code and security. With the Opensource Firmware replacement you would have to check every now and then if there is an update and when you update it you could brick it.

Once again and I know I sound like a broken record but you want to use IoT devices on it’s own Network. Now since the Opensource Firmware can let you use the Devices locally you can easily have an offline Network and if using a PC or Raspberry Pi to be the tunnel. Like have the Raspberry Pi use it’s WiFi to control the IoT stuff and then use it’s Ethernet to connect to your Home Network but keeping the two Networks detached. Have the SSID of the Offline LAN hidden and password protected and possibly a MAC Address Whitelist.