Open Source Network Security, Programming, and Hardware Design
Private Island / FPGA :
We examine the fields within an Ethernet packet and discuss how they are processed by an open source FPGA network processor.
Overview of the Private Island project for networking including highlights, goals, and a brief description of the development board.
A review of our Volitio board along with a summary of various Cyclone 10 GX features relevant to the Private Island open source project
We review a new FMC expander prototype that we recently designed & built for the Intel Cyclone 10 GX FPGA Development Kit.
We build the RISC-V software tools from their Git repositories and create & verify assembly instructions against the open source ISA specification for an RV32IM core.
A summary and concise reference of ECP5UM features and capabilities as applied to the Private Island open source project
Architecture and Code Description for the Private Island Open Source, FPGA-based Network Processor
A description of the open source Verilog source for a SPI Slave implementation used on the Private Island Network Processor Project
Use a Serial Peripheral Interface (SPI) Bus to access internal FPGA memory including Ethernet packets
PHY / PCS / XGMII:
The Serial Gigabit Media Independent Interface (SGMII) is a popular Gigabit Ethernet PHY interface, and it holds various advantages over both GMII and RGMII. This article reviews some of the core SGMII concepts with the help of a scope and lab bench examples.
This article reviews some of the core 10Gb Ethernet 10GBASE-R 64B/66B concepts with the help of our Volitio board and a Keysight UXR3034A scope.
A review of Ethernet Management Bus basics, architecture, and design with the aid of oscilloscope screen shots for FPGA-based open source networking project
Example Python code is provided to perform basic remote operations with a Rohde and Schwarz RTO1044 Oscilloscope including waveform capture, display, and FFT.
System / Linux / Networking:
Iptables enables the blocking & logging of network traffic entering, exiting, or being forwarded across a Linux CPU. This article discusses its configuration and application to protecting surveillance cameras.
Build a custom Yocto image using the powerful NXP LS1046A Freeway Board.
Various Notes on Using and Managing a Linux System from the Command Line
We build Squid Version 5 from source (Git) on Ubuntu Linux and show some basic examples on how to use it.
Bare metal / no-stack implementation of ICMP ECHO ( ping ) based on insight from the implementation of ping on Linux
A brief summary of getting started with cgit on Ubuntu Linux along with debugging a segfault we encountered
We review some options and examples for use of tcpdump in network testing and probing.
Various Notes and Examples for Using and Managing a Network from the Linux Command Line
Article discusses a Python3 redirector for Squid for the purpose of filtering content. Example provides a starting point for developing a full content filter / ad blocker
Article discusses using Python with sockets to create and deploy a honey pot for the purpose of detecting malicious activity on a network. A sample Python 3 script is provided.
Use Java to determine whether another host is present and responsive on a network. Two approaches are provided: low level and layer 4, connection oriented. The lower level approach will result in a ping if used with the right permissions.
We provide a simple Python script and examples to model and visualize square and triangle waves with applications to circuit design and test.
Privacy Related :
Big Tech has had a long history of spying on us. It's in their DNA. If you have your doubts, then review this list of recent evidence.
Federal Government Cybersecurity resources for Vulnerability Databases, Internet Crimes, Cyber Attacks by Foreign Governments, Legal Wire Tapping, and more.
We must stop trusting our private data to untrustworthy devices. This predicament requires us to call for fully open systems including its underlying hardware.
Vision Related :
Two simple C/C++ programs are provided that generate and display an 8-bit RAW pixel test pattern. The display program makes use of the OpenCV 4 library.
We show an example of the use of DNF package manager along with supporting notes with our Yocto-built LS1046A Freeway Board development board.
Techniques to accelerate development with the Linux Kernel and related when working with the Yocto Project and an NXP i.MX8 EVK system.
We show how to build the latest NXP Yocto BSP for the NXP MCIMX8M-EVK evaluation kit for the i.MX 8MQuad processor
Other / Miscellaneous:
Using the Windows Control Panel, we configure a static IP address for our PC.
Your IP address is