UniFi Policy-Based Routing for Remote WireGuard VPN Clients

I recently ran into a very specific but frustrating UniFi routing issue.

I have a UniFi Cloud Gateway Fiber with several local networks, a built-in WireGuard VPN server for remote clients, and outbound WireGuard VPN client tunnels. UniFi’s Policy-Based Routing works well for normal local clients, but I discovered that remote WireGuard clients were not being treated the same way as local LAN clients.

The goal was simple:

iPhone on WireGuard VPN
→ connects back to my UniFi gateway
→ traffic enters through the UniFi WireGuard server
→ UniFi Policy-Based Routing evaluates the traffic
→ selected traffic exits through an outbound WireGuard client tunnel

In my case, this was useful for things like Xfinity Stream, Netflix, and other location-sensitive streaming or app use cases where I may want certain traffic from my phone to appear as though it is coming from a specific home, proxy, or remote network location.

This post documents what I found, how I tested it, the one-line fix that worked in my environment, and how I made it persistent with a small systemd timer/watchdog.

Environment Tested

This fix was tested on:

Device: UniFi Cloud Gateway Fiber / UCG Fiber
UniFi OS: 5.1.11
UniFi Network Application: 10.4.57
Release Channel: Early Access
Auto Update: Off
Kernel: Linux 5.4.213-ui-ipq9574
Architecture: aarch64
Base OS: Debian GNU/Linux 11 (bullseye)
Date tested: May 18, 2026

This matters because UniFi OS and the UniFi Network application can change how interfaces, ipsets, firewall rules, and policy-based routing are generated.

A Note on How This Was Developed

This fix was developed and tested with the help of ChatGPT while working through the actual SSH output from my UniFi Cloud Gateway Fiber.

I would not recommend blindly copying these commands without first confirming your own network details. In my case, the fix came down to one simple command:

ipset add UBIOS4local_network 10.10.100.0/24 -exist

But that command only makes sense because my UniFi WireGuard remote-access subnet is:

10.10.100.0/24

and my UniFi PBR rules were using:

UBIOS4local_network

as part of their source matching.

Your interface names, WireGuard subnet, route tables, marks, and ipset names may be different. Before applying anything persistently, use the diagnostic commands below to confirm how your own UniFi gateway is configured.

This was one of those projects where ChatGPT was genuinely useful as a troubleshooting partner: not by guessing the answer, but by helping interpret the live UniFi routing tables, iptables rules, ipsets, WireGuard interfaces, and route tests until the actual missing piece became obvious.

The Use Case

I wanted remote WireGuard clients, such as an iPhone, to behave more like local network clients.

For example:

Remote iPhone
→ WireGuard VPN back to UniFi
→ UniFi PBR decides where traffic should go
→ some traffic exits normal WAN
→ some traffic exits through wgclt2

This is different from a basic VPN setup where all remote traffic simply exits the home WAN.

The specific goal was:

Remote WireGuard client traffic should be eligible for the same UniFi GUI Policy-Based Routing rules as local LAN traffic.

That way I could keep using the UniFi Network application to define destination-based or domain-based PBR rules, instead of manually recreating all routing logic in iptables.

Important WireGuard Terminology in This Setup

There are two very different WireGuard roles on the UniFi gateway in this setup:

wgsrv1  = WireGuard SERVER interface on the UniFi gateway
wgclt1  = WireGuard CLIENT interface from the UniFi gateway to another endpoint
wgclt2  = another WireGuard CLIENT interface from the UniFi gateway to another endpoint

That distinction matters.

wgsrv1: Remote Clients Connecting Into the UniFi Gateway

wgsrv1 is the UniFi gateway acting as a WireGuard server.

This is what my iPhone, laptop, or other remote device connects into when I am away from home.

In my setup:

wgsrv1 = 10.10.100.1/24
Remote WireGuard clients = 10.10.100.x

So the inbound path looks like this:

iPhone / remote device
→ WireGuard tunnel over the internet
→ UniFi gateway
→ wgsrv1
→ source IP such as 10.10.100.2

This is the “road warrior” or remote-access VPN side.

wgclt1 / wgclt2: The UniFi Gateway Connecting Out to Other WireGuard Endpoints

wgclt1 and wgclt2 are different. These are the UniFi gateway acting as a WireGuard client.

That means the UDM / UCG itself initiates a WireGuard tunnel out to another endpoint, such as:

another UniFi gateway
a WireGuard server at another location
a VPS
a proxy endpoint
a commercial VPN provider
another home network

In my setup, the outbound tunnel I wanted to use for selected traffic was:

wgclt2

So the outbound path looks like this:

UniFi gateway
→ wgclt2
→ remote WireGuard endpoint / proxy / other UDM
→ internet or remote network

The Full Hairpin Path

The full goal was to combine both sides:

iPhone away from home
→ connects into UniFi using WireGuard
→ enters the gateway on wgsrv1
→ UniFi PBR evaluates the traffic
→ selected traffic exits through wgclt2
→ remote WireGuard endpoint / proxy / other UDM
→ internet

So this is not simply:

Phone → home internet

It is more like:

Remote WireGuard client
→ home UniFi gateway
→ UniFi Policy-Based Routing
→ outbound WireGuard client tunnel

That is why the distinction between wgsrv1 and wgclt2 is so important.

My Network Layout

On my UniFi gateway, WireGuard had three relevant interfaces:

Inbound WireGuard server:
  wgsrv1 = 10.10.100.1/24

Outbound WireGuard client tunnels:
  wgclt1 = UniFi gateway connecting out to another WireGuard endpoint
  wgclt2 = UniFi gateway connecting out to another WireGuard endpoint

The important distinction is:

wgsrv1 receives remote VPN clients.
wgclt1 and wgclt2 are outbound VPN tunnels created by the UniFi gateway itself.

My remote WireGuard clients connect into wgsrv1 and receive IPs like:

10.10.100.2, 10.10.100.3, 10.10.100.4, 10.10.100.5, etc.

My desired outbound VPN path for selected traffic was:

wgclt2

So the full desired path was:

Remote iPhone / laptop
→ connects to UniFi WireGuard server
→ enters UniFi on wgsrv1
→ source is 10.10.100.x
→ UniFi PBR rules evaluate the destination
→ matching traffic exits through wgclt2
→ remote WireGuard endpoint / proxy / other UDM

In other words, wgsrv1 is the entrance tunnel, and wgclt2 is the selected exit tunnel.

Before You Copy This

The important concept is not the exact subnet I used. The concept is:

Find the WireGuard remote-access subnet
→ confirm it is not included in UniFi's local-network ipset
→ add that subnet to the IPv4 local-network ipset
→ verify that UniFi GUI PBR rules now apply
→ only then make it persistent

In my case:

WireGuard server interface: wgsrv1
WireGuard server IP:        10.10.100.1/24
Remote WG client subnet:    10.10.100.0/24
Outbound WG client tunnel:  wgclt2
Target route table:         178.wgclt2

If your WireGuard server subnet is different, change the script variables accordingly:

WG_SUBNET="10.10.100.0/24"
TEST_IP="10.10.100.2"
SET_NAME="UBIOS4local_network"

The Problem

UniFi had already created the PBR rules correctly for local clients.

The relevant UniFi PBR rules looked conceptually like this:

If source is in UBIOS_local_network
AND destination matches one of the UniFi traffic-route destination sets
THEN mark the packet for wgclt2

The problem was that the remote WireGuard client subnet:

10.10.100.0/24

was not considered part of UniFi’s local network ipset.

So traffic from a remote WireGuard client entered the gateway, but it did not match the normal UniFi GUI Policy-Based Routing source condition.

In other words:

Local LAN clients matched PBR.
Remote WireGuard clients did not.

Discovering the WireGuard Interfaces

SSH into the UniFi gateway:

ssh root@<gateway-ip>

Then list network interfaces:

ls /sys/class/net

Useful WireGuard status command:

wg show

In my case, I saw:

wgclt1
wgclt2
wgsrv1

Where:

wgsrv1 = UniFi WireGuard server for remote clients
wgclt2 = outbound WireGuard client tunnel

I also checked interface addressing:

ip -br addr

Relevant output:

wgclt1   192.168.131.3/32
wgclt2   192.168.234.3/32
wgsrv1   10.10.100.1/24

That confirmed the remote WireGuard server subnet was:

10.10.100.0/24

Checking UniFi’s Routing Tables

These commands helped reveal how UniFi was routing marked traffic:

ip rule show
ip route show table all | grep -Ei 'default|wgclt|wgsrv|eth|table'

The key result was:

default dev wgclt2 table 178.wgclt2

And the policy rule showed that marked traffic could be routed to that table.

Testing a forwarded packet entering from the WireGuard server interface confirmed the route:

ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

Expected result:

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

That proved the route itself worked.

The missing piece was getting the remote WireGuard clients to match UniFi’s PBR source rules.

Checking UniFi’s Local Network ipset

UniFi uses ipsets as part of its firewall and PBR logic.

I checked the parent local-network set:

ipset list UBIOS_local_network

It showed:

Name: UBIOS_local_network
Type: list:set
Members:
UBIOS4local_network
UBIOS6local_network

So IPv4 local networks are actually in:

UBIOS4local_network

I tested whether my remote WireGuard clients were considered local:

ipset test UBIOS4local_network 10.10.100.2
ipset test UBIOS4local_network 10.10.100.3
ipset test UBIOS4local_network 10.10.100.5

They were not. That explained why PBR did not apply.

The One-Line Fix in My Environment

After confirming the routing and ipset behavior, the actual fix in my environment was:

ipset add UBIOS4local_network 10.10.100.0/24 -exist

This added my WireGuard remote-access subnet to UniFi’s IPv4 local-network ipset.

That made remote WireGuard clients eligible for the same UniFi GUI Policy-Based Routing rules as my local LAN clients.

Again, do not assume 10.10.100.0/24 is correct for your setup. Confirm your WireGuard server subnet first.

After running that command, I verified:

ipset test UBIOS4local_network 10.10.100.2

Expected result:

10.10.100.2 is in set UBIOS4local_network.

Then I tested routing again:

ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

Expected:

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

At that point, the remote WireGuard client traffic began following my existing UniFi GUI PBR rules.

Why This Works

UniFi’s PBR rules were already doing most of the work.

The relevant flow became:

Remote WireGuard client
→ source 10.10.100.x
→ now included in UBIOS4local_network
→ matches UniFi PBR source condition
→ destination matches UniFi traffic-route ipset
→ packet gets marked
→ marked packet routes to wgclt2
→ UniFi NAT masquerades traffic out wgclt2

The beauty of this approach is that I did not have to recreate all of my PBR rules manually.

UniFi still manages:

destination IP sets
domain-derived IP sets
packet marking
routing table selection
NAT out wgclt+
MSS clamping

The only manual change is making the remote WireGuard subnet count as a local IPv4 source for PBR.

Testing Live Traffic

To watch PBR counters:

iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n

Then generate traffic from the remote WireGuard client to a destination covered by a PBR rule.

Run the counter command again:

iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n

You should see counters increase on rules involving:

UBIOS_trafficroute_ip_*
UBIOS_trafficroute_dn_*

You can also watch packets live.

In one SSH window:

tcpdump -ni wgsrv1 host 10.10.100.2

In another SSH window:

tcpdump -ni wgclt2

Expected behavior:

Traffic enters on wgsrv1 from the remote client.
Matched PBR traffic exits on wgclt2.

Monitoring and Debugging Live Traffic

One thing that made this harder to troubleshoot is that the UniFi Network UI did not clearly show when these PBR rules were being triggered.

In the past, UniFi’s traffic route / PBR display seemed to show rule activity more clearly. In this case, the UI did not reliably show that the PBR rules were being matched, even though the routing was actually working. That may be a UniFi bug, a limitation of the current Network application version, or just a gap in how the UI reports traffic from WireGuard remote-access clients.

The good news is that you can confirm what is happening directly over SSH.

Watch the UniFi PBR Counters

This command shows packet and byte counters for UniFi’s PBR mangle chain:

iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n

Before testing from the remote WireGuard client, run:

iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n

Then generate traffic from the remote client, such as opening the app or website that should match your PBR rule.

Then run it again:

iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n

You are looking for increasing packet and byte counters on rules involving:

UBIOS_trafficroute_ip_*
UBIOS_trafficroute_dn_*

Those are the UniFi-created destination sets for traffic routes / policy-based routing.

Watch Counters Continuously

To watch the counters update in near real time:

watch -n 1 'iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n | head -100'

Then use the remote WireGuard client and watch for counters to increase.

This was more useful than the UniFi UI because it showed whether the firewall/PBR rules were actually being hit.

Monitor Traffic Entering from the Remote WireGuard Client

In one SSH window, watch traffic entering from the remote WireGuard client on the WireGuard server interface:

tcpdump -ni wgsrv1 host 10.10.100.2

Replace 10.10.100.2 with the IP of your remote WireGuard client.

This confirms that traffic from the remote client is entering the UniFi gateway through wgsrv1.

Monitor Traffic Exiting the Outbound WireGuard Client Tunnel

In a second SSH window, watch traffic exiting the outbound WireGuard client tunnel:

tcpdump -ni wgclt2

Then generate traffic from the remote WireGuard client to a destination covered by your PBR rule.

Expected behavior:

Traffic enters on wgsrv1 from 10.10.100.2.
Matched PBR traffic exits through wgclt2.

That proves the full path:

Remote WireGuard client
→ wgsrv1
→ UniFi PBR match
→ wgclt2

Confirm the Route for Marked Traffic

This command simulates a forwarded packet from the remote WireGuard client entering on wgsrv1 with the UniFi PBR mark:

ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

In my case, the expected result was:

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

That output confirms that marked traffic from the remote WireGuard client will use the wgclt2 route table.

Confirm the WireGuard Subnet Is Still in the Local ipset

Since the entire fix depends on the remote WireGuard subnet being included in UniFi’s IPv4 local-network ipset, this is the quick check:

ipset test UBIOS4local_network 10.10.100.2

Expected:

10.10.100.2 is in set UBIOS4local_network.

If it is not in the set, re-run the fix:

ipset add UBIOS4local_network 10.10.100.0/24 -exist

or start the persistent service:

systemctl start wg-pbr-fix.service

Full Debugging Block

This is a useful all-in-one check:

echo "=== Timer status ==="
systemctl is-active wg-pbr-fix.timer
systemctl is-enabled wg-pbr-fix.timer

echo
echo "=== Is remote WG client treated as local? ==="
ipset test UBIOS4local_network 10.10.100.2 2>&1

echo
echo "=== Does marked traffic route out wgclt2? ==="
ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

echo
echo "=== UniFi PBR counters ==="
iptables -t mangle -L UBIOS_PREROUTING_PBR -v -n | head -100

Expected high-level result:

Timer is active/enabled.
10.10.100.2 is in UBIOS4local_network.
Marked traffic from wgsrv1 routes out wgclt2.
PBR counters increase when matching traffic is generated.

This debugging is especially helpful because the UniFi Network UI may not accurately show that a traffic route has been triggered, even when the underlying iptables and routing behavior is working correctly.

Making It Persistent

The one-line fix works, but it will not necessarily survive:

reboot
UniFi Network restart
firewall rule regeneration
PBR changes
VPN changes
firmware updates

So I created a small script and systemd timer.

The timer checks every five minutes and re-adds the subnet only if UniFi has removed it.

Create the Script

mkdir -p /data/scripts

cat > /data/scripts/fix-wg-pbr-local.sh <<'EOF'
#!/bin/sh

WG_SUBNET="10.10.100.0/24"
TEST_IP="10.10.100.2"
SET_NAME="UBIOS4local_network"

# Exit quietly if UniFi has not created the ipset yet.
ipset list "$SET_NAME" >/dev/null 2>&1 || exit 0

# If the test IP is already covered, do nothing.
if ipset test "$SET_NAME" "$TEST_IP" >/dev/null 2>&1; then
  exit 0
fi

# Otherwise re-add the whole WireGuard remote-access subnet.
ipset add "$SET_NAME" "$WG_SUBNET" -exist 2>/dev/null
logger -t wg-pbr-fix "Added $WG_SUBNET to $SET_NAME"
exit 0
EOF

chmod +x /data/scripts/fix-wg-pbr-local.sh

Create the systemd Service

cat > /etc/systemd/system/wg-pbr-fix.service <<'EOF'
[Unit]
Description=Ensure WireGuard remote-access subnet is eligible for UniFi PBR
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/data/scripts/fix-wg-pbr-local.sh
EOF

Create the 5-Minute Timer

cat > /etc/systemd/system/wg-pbr-fix.timer <<'EOF'
[Unit]
Description=Periodically check WireGuard remote-access subnet in UniFi PBR local ipset

[Timer]
OnBootSec=2min
OnUnitActiveSec=5min
Unit=wg-pbr-fix.service

[Install]
WantedBy=timers.target
EOF

Enable the Timer

systemctl daemon-reload
systemctl enable --now wg-pbr-fix.timer
systemctl start wg-pbr-fix.service

Verifying the Timer

Check that the timer is active:

systemctl is-active wg-pbr-fix.timer
systemctl is-enabled wg-pbr-fix.timer

Expected:

active
enabled

See the schedule:

systemctl list-timers | grep wg-pbr

Check the last service run:

systemctl status wg-pbr-fix.service

For a oneshot service, this is normal:

Active: inactive (dead)
code=exited, status=0/SUCCESS
TriggeredBy: wg-pbr-fix.timer

It runs, exits, and waits for the timer to call it again.

Verify the actual fix:

ipset test UBIOS4local_network 10.10.100.2

Expected:

10.10.100.2 is in set UBIOS4local_network.

Verify routing:

ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

Expected:

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

Proof the Watchdog Works

After creating the service and timer, I verified the timer was active:

systemctl is-active wg-pbr-fix.timer
systemctl is-enabled wg-pbr-fix.timer

Expected:

active
enabled

I also checked the timer schedule:

systemctl list-timers | grep wg-pbr

Example output:

Mon 2026-05-18 13:38:39 EDT 3min 10s left Mon 2026-05-18 13:33:39 EDT 1min 49s ago  wg-pbr-fix.timer  wg-pbr-fix.service

Then I manually removed the WireGuard subnet from UniFi’s IPv4 local-network ipset:

ipset del UBIOS4local_network 10.10.100.0/24

Confirmed it was gone:

ipset test UBIOS4local_network 10.10.100.2

Expected:

10.10.100.2 is NOT in set UBIOS4local_network.

Then I manually started the service:

systemctl start wg-pbr-fix.service

And confirmed the subnet was re-added:

ipset test UBIOS4local_network 10.10.100.2

Expected:

10.10.100.2 is in set UBIOS4local_network.

Finally, I confirmed that marked traffic from the remote WireGuard client would route out the outbound WireGuard client tunnel:

ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

Expected:

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

Final Health Check

After reboot or UniFi updates, these are the quick checks:

systemctl is-active wg-pbr-fix.timer
ipset test UBIOS4local_network 10.10.100.2
ip route get 1.1.1.1 from 10.10.100.2 iif wgsrv1 mark 0x6a0000

Expected results:

active

10.10.100.2 is in set UBIOS4local_network.

1.1.1.1 from 10.10.100.2 dev wgclt2 table 178.wgclt2 mark 0x6a0000
    cache iif wgsrv1

Rollback

To remove the persistent fix:

systemctl disable --now wg-pbr-fix.timer
rm -f /etc/systemd/system/wg-pbr-fix.timer
rm -f /etc/systemd/system/wg-pbr-fix.service
rm -f /data/scripts/fix-wg-pbr-local.sh
systemctl daemon-reload

Remove the ipset entry:

ipset del UBIOS4local_network 10.10.100.0/24 2>/dev/null

Important Caveats

This is an SSH-level workaround. It is not an official UniFi feature.

A few important notes:

This may break after UniFi OS or Network application updates.
Your interface names may differ.
Your WireGuard subnet may differ.
Your PBR mark/table may differ.
You should test before making it persistent.

This was tested on UniFi OS 5.1.11 with UniFi Network 10.4.57 on the Early Access channel. Future official or early-access releases may change the ipset names, firewall chains, routing table names, or PBR marks. Verify your own environment before applying the persistent service.

Do not blindly copy my subnet unless your WireGuard server is also using:

10.10.100.0/24

Adjust these values for your environment:

WG_SUBNET="10.10.100.0/24"
TEST_IP="10.10.100.2"
SET_NAME="UBIOS4local_network"

Conclusion

This ended up being a very clean fix.

The issue was not that UniFi could not route the traffic.

The issue was that remote WireGuard clients were not included in the local-network ipset that UniFi’s PBR rules use for source matching.

By adding:

ipset add UBIOS4local_network 10.10.100.0/24 -exist

remote WireGuard clients became eligible for the same GUI-created PBR rules as local clients.

The final working path is:

iPhone / remote WireGuard client
→ connects into UniFi WireGuard server
→ enters on wgsrv1
→ source IP is 10.10.100.x
→ source is now included in UBIOS4local_network
→ UniFi GUI PBR destination rules apply
→ matching traffic is marked for wgclt2
→ traffic exits through the UniFi gateway's outbound WireGuard client tunnel
→ remote WireGuard endpoint / proxy / other UDM

The key idea is that wgsrv1 and wgclt2 are opposite sides of the flow:

wgsrv1 = remote clients come in
wgclt2 = selected traffic goes back out

That allows remote clients to come back through the UniFi gateway and still benefit from selective Policy-Based Routing, including use cases like Xfinity Stream, Netflix, and other location-sensitive traffic.

ParentingTechnology.org

June 2024 Update

This is an update to education we have presented for the past 10 years at Calvary Church. It was originally shared online in this 2015 post.
Major changes since last version:
–recommend the ASUS AiProtection Pro (as Netgear has unfortunately started charging for the Smart Parental Controls–the older Netgear Circle is preferred).
–“dumbing down” smartphones vs. flip phones (as most MVNO carriers only support smartphones).
–any mobile device with cellular data should include MDM (e.g. Qustodio).

The world is now at our fingertips and it can be dizzying how fast things change. This elective equips parents to understand the technology needed for an internet-safe home and how to make wise choices related to children and their use of technology at different stages of their lives. Hardware and software recommendations will be covered during this time.

As part of our ongoing effort to partner with you, encourage you, and provide you with resources, we invite you to join us on Sunday, June 2, at 9:30am in the East Room as Dale Weaver leads this conversation about internet safety technology.

During this elective, we will help parents explore options for:
–using effective technology to provide safer internet access at home.
–using resources for learning about popular programs, games, and apps.
–gradually exposing your child to devices with content that is focused on learning and interaction with you, the parents.
–introducing your child to the internet in a timely and healthy way.
–providing your child with a personal device while keeping safe controls in place.
–helping your kids develop a plan to manage the challenges of technology use at college and beyond.

PowerPoint PDF.

Slide Handout PDF.

Bypass Internet in OOBE Windows 11 22H2 Workaround

My own post vs. searching (courtesy puretechinfo):

Click the Yes button.
Click the Skip button if you do not need to configure a second layout.
On the “Oops, you’ve lost internet connection” or “Let’s connect you to a network” page, use the Shift + F10 keyboard shortcut.
In Command Prompt, type the OOBE\BYPASSNRO command to bypass network requirements on Windows 11 and press Enter.
System will reboot and you can select “I don’t have internet” at this step.

Chromium OneTab extension profile data location for Chrome or Brave Browsers

Because it was not a straightforward search including superuser and reddit:

Chrome: C:\Users\<user>\AppData\Local\Chrome\User Data\Default\Local Extension Settings\chphlpgkkbolifaimnlloiipkdnihall

Brave: C:\Users\<user>\AppData\Local\BraveSoftware\Brave-Browser\User Data\Default\Local Extension Settings\chphlpgkkbolifaimnlloiipkdnihall

“chphlpgkkbolifaimnlloiipkdnihall’ being the OneTab extension.

Suzuki Quadrunner 250 and King Quad 300 Lifetime Reference Guide

Suzuki LT4WD Quadrunner 250 4×4

This is a capture and summary of the most important information to own, maintain, fix, and preserve your Quadrunner 250 and/or King Quad 300.

I make no money off ads or referrals to Amazon or eBay. This is a labor of love.

The post will be updated over time to expand content. Thanks to many people who have contributed to this information over many years.

I highly recommend the following Facebook groups to connect with many helpful people. 1) https://www.facebook.com/groups/244782467277263 and 2) https://www.facebook.com/groups/2080390172247719

And thanks to Suzuki who recently posted this good image (as part of their “FIRST ON FOUR WHEELS“). PDF export from October, 2022.

Repair & Owners Manuals

Suzuki LT-4WD, LT-F4WD, LT-F4WDX, LT-F250 88-92 Condensed Service Data

Suzuki LT-4WD/LT-4WDX 1987-1998 OEM Official Factory Repair Manual 99500-42059-01E July 1997 (purchased on eBay and scanned/compiled)

Clymer Repair Manual ISBN 0892876433 (purchased and scanned high resolution with OCR)

Clymer Repair Manual ISBN 0892876433 (purchased and scanned high resolution with OCR)

Search email for saved links

Fun Facts

King Quad 300 is actually 280cc. Quadrunner 250 is 246cc.
Both have the lowest gear ratio ever put in a production ATV in “Super Low” range.

Which one? Quadrunner 250 vs. King Quad 300?

If you have 5-lug nuts on the rear its a King Quad 300. King Quad 300 had a longer stroke, additional clutch plate, oil cooler, slightly longer frame.
The Quadrunner 250 came as a 2wd (LT-F250) or 4wd (LT-4WD) versions.
The colors and names were used interchangeably depending on the country (e.g. Canada had a blue Quadrunner 300).

Changes through the years…

The 1987 Quadrunner had a one-year only rear u-joint axles which had a different spline count (refer to this thread or the OEM Suzuki repair manual for specifics at the back). 1987 had a one-year-only front and rear racks, square axle nuts, the fan mounts welded on the frame, and silver painted a-arms.

1987-1989, 1990-1999, 2000-2002 carburetor changes. See the carburetor section.

In 1999, the body entirely changed with round headlights along with other minor changes.

Decals changed almost every year. Rear racks changed slightly with a small plate for a “Suzuki” or “Quadrunner” logo.

Other Links & YouTube Noteworthy Videos

AUTOKAY Air Oil Filter Fits for Suzuki 1987-2001 Quadrunner 250 1991-2002 King Quad 300

Freedom County ATV FC166 Black Replacement Seat Cover for Suzuki LTF 250/ LT4WD QuadRunner 88-98, Suzuki LTF4WDX KingQuad 91-98

80 videos created by John Reid.
Amazing detail, close-ups, and helpful explanations. Compliments to John!

I may dedicate a post just for this video: my favorite from 1993!
1993 Suzuki Quadrunner 4X4 LT250 – Mud Bustin’!

Best Quad Ever Made! Suzuki King Quad 300 4×4 ATV (included a screenshot as I enjoyed the highlighted comment).

1994 Suzuki Quadrunner 250 4×4 Tune Up | Carb Rebuild | Oil Change & Filter| New Grips | Spark Plug

King Quad 300 4×4 ~ An Atv Way Ahead of its Time!!! ~ RIDE & REVIEW

Suzuki Quadrunner 250 4X4 – DO WE LIKE IT?? Overview – Review AND WHY!!

Arctic Cat 300 vs Suzuki King Quad 300 ATV Comparison

Close-ups of engine and transmissions:
ATV engine seized up at max speed – full strip & inspection #1035
Suzuki LT300 engine strip Ep.2 Ft. Tool Girl Holley #1037
Suzuki Quad Runner 250 flood damage inspection #1966

Modifications

Suzuki King Quad 300 / Quadrunner 250 Lift Kit $19.95
Suzuki King Quad 300 differential lock mod (do NOT use diff lock in high range)
King Quad 300 Start in Gear Mod
I Built The World’s First And Only Lifted & Snorkeled King Quad 300
Suzuki Quad Modified Neutral Switch Fitting (John is amazing!)

Engine & Valves

Placeholder

Fuel Petcock

Do this for ALL models. For 1990+ models, please plug the vacuum line from the carburetor with a small bolt with Teflon tape and install a manual petcock.

Go to eBay or Amazon for “Yamaha 5HN-24500-01”. $25. Its worth it! Make sure the fuel outlet exit on the left side (most of the cheap ones are flipped).

Good summary video (where he purchased one with the exit on the wrong side): 1992 Suzuki King Quad 300 Fuel Petcocks (Non-Vacuum)

Carburetor

Refer to the OEM or Cylmer manuals for carb parts breakdown and settings.
Do everything possible not to use Amazon carburetors. Use a Shindy rebuild kit and clean the carb. See videos and table. If needed, use eBay and try to afford a used one.

1987-1989:
The 1987-1989 Quadrunner 250 used the Mikuni VM24SS (24mm) slide carb. Throttle cable enters the top. Uses a different boot into airbox compared to the 1990+ carbs.
Mikuni VM carburetor tuning guide. Great forum post showing pictures of the VM24SS and a forum post showing the many different carb components.

1990:
Beginning in 1990, the Quadruner 250 used the Mikuni BST31SS (31mm) CV carb. Throttle cable on the side with 4 screws on the top. This was the most often used carb based on the number of years it was used and sold units (however there is debate it was oversized – see here).
HOW TO – Clean Carburetor Carb Suzuki King Quad 300 Rebuild Kit Gas Fuel Cleaner GUMOUT 13200-19B92
1994 Suzuki Quadrunner 250 4×4 Tune Up | Carb Rebuild | Oil Change & Filter| New Grips | Spark Plug
If you want to consider a knock-off carb: Chinese Unbranded Knock-Off Carburetor VS Genuine Stock Carb – Detailed Video on the Difference

You can buy replacement diaphragms. E.g. for the 31mm carb:

1999:
In 1999, it still had the BST31SS (31mm) CV carb with four screws on the top. In 2000, the carb changed to the Mikuni BSR29SS (29mm) CV carb with two screws on the top holding down the needle spring. Good PDF of a forum post of the BST31SS vs. BSR29SS.

Shindy carb rebuild kits are recommended over other brands.
See table and purchase on Amazon or eBay.

Shindy Rebuild KitsYearPart #Carburetor
LT4WD 25087-8903-206VM24SS
LT-4WD QuadRunner90-9603-207BST31SS
LT-F250 QuadRunner88-8903-206VM24SS
LT-F250 QuadRunner90-9603-207BST31SS
LT-F250 QuadRunner97-9903-211BST31SS
LT-F250 QuadRunner00-0103-214BSR29SS
LT-F250F QuadRunner9903-211BST31SS
LT-F250F QuadRunner00-0203-214BSR29SS
LT-F4WD97-9803-207BST31SS
LT-F4WDX KingQuad91-9803-209BST31SS
LT-F300F KindQuad9903-209BST31SS
LT-F300F KingQuad00-0203-220BSR29SS

Fuel Pump

Always rebuilt the fuel pump. Older units (1987-1989) are easier to access with less fender plastic. 1990 can be done but you have to partially remove the fender mud flap. Up through 1998 (square headlights) use this kit and rebuild. You can do this while its still mounted. Unmounting is not fun. Remove the 5 Phillips bolts and rebuild.

If its 1999 (round headlights), then it has a plastic non-rebuildable pump. Buy this replacement pump.

Oil

Always, ALWAYS leave an air bubble in the sight glass.
I cannot overemphasize this enough.
ALWAYS leave an air bubble in the sight glass.

Why?
Because one fatal flaw of this machine is the vacuum petcock bladder or vacuum fuel pump bladder or the carburetor needle valve fail siphoning gas tank into the crankcase. I have seen this on multiple machines. The gas compromises the oil and you can easily burn the engine up or cause other issues with bottom-end crankcase issues.

Always convert to a manual petcock. See fuel section.
Always rebuild the fuel pump. See fuel section.
Always turn off the petcock when not in use.

Seeing the bubble in the sight glass is an easy check to verify the oil level has not changed (and has not increased with gas). If the bubble is gone, something needs fixed. Bubble=good. Do not use if you do not see a bubble.

Always use Rotella T6. These things run hot. Especially the Quadrunner 250 with no oil cooler (A small radiator fan is recommended — another topic I will writeup).

King Quad 300 Rear Diff Lubrication Plus Important Engine Oil Info Explained

Transmission/Clutch

Clutch adjustment is easy and helps avoid “flat shifting” and excess wear on the clutch and gears/forks. See oil section and refer to the blue arrow for the 17mm cover.

Courtesy of TUBBYTUB with edits:

17mm bolt and inside you will find a set screw with 12mm lock nut. With your transmission in first gear, break the lock nut loose (to the left). Use a Phillips screwdriver and completely remove the set screw and lock nut. After you removal, take the lock nut off of the set screw, ensuring both move freely. 
Once you have separated, put the lock nut back on the set screw just a few threads and reinsert the assembly back into the hole only using your fingers. 
Tighten the Phillips screw where you feel it touch/drag on the clutch cage. While holding the set screw with the screw driver use your fingers and snug the lock nut up. Now double check the set screw and make sure it is just barely snug against the plates still, then loosen it about an 1/8 of a turn and use a wrench to slightly tighten the lock nut against the set screw. Do not over torque the nut but make it tight so it does not back off. Replace the 17mm cover nut.

Another issue I have seen on two different used machines I significantly restored (a 1987 LT4WD and a 1994 LT4WDX) is the clutch pack was seized and would never slip correctly. You can test this while riding: if you push and hold down the foot shifter assuming you are in 2nd gear or higher, the machine should coast. On both machines, they would not coast and immediately “flat shift” to the lower gear. This causes unnecessary strain on the shift forks, gears, and overall transmission as the momentarily slipping clutch discs smooth the shift.
A more controlled way to test this is to put the machine on a lift or blocks with the rear wheels off the ground and in 2WD. Push and hold the foot shift lever down (going from 2nd into 1st gear) and while still holding the lever down (and NOT in neutral) try to spin the rear tires forward. It will take a little muscle but the rear wheels should move or “free wheel” as the manual clutch pack releases. What is happening internally: the foot shifter linkage releases the spring pressure on the clutch discs allow them to correctly slip.
The solution? The clutch discs had seized together. I am not clear why but its a relatively simple fix. Pull the right side cover, reverse threads on the centrifuge clutch, and pull clutch pack and remove all the discs. Inspect discs and coat them in oil before reinstalling each disc. When reinstalling, make sure you properly align the shift fork as the cover is reinstalled and then readjust the clutch as discussed above. Enjoy!
Somewhat related: I originally thought it was the one way bearing but is it not. For reference there are two one-way bearings: 1) the starter gear behind the magnets on the left side (this causes the electric starter to slip or for the electric starter to spin all the time quickly wearing it out) and 2) inside the centrifuge clutch cage for engine breaking (this can be checked to make sure the wheels can spin forward in gear without the engine turning over).

Axles & CV joints: Front and Rear

Axles seems to be a an area of confusion as Suzuki used a variety of different u-joints throughout the years. Still documenting more information.

CRITICAL: U-joint must be timed (or phased). In the simplest terms, the inner and outer u-joints must be matched. Refer to the manual for photos. See this video if you are curious on why and to see and hear it: Drive shaft velocity

IMPORTANT: Do not use greaseable U-joints due to inferior strength. There are multiple examples with supporting photos showing immediate failures along with further damage to U-joint yoke(s).

King Quad 300 and QuadRunner 250 complete axles are not interchangeable. However inner/outers possibly can swap.


QuadRunner Front: all interchangeable
1987: used u-joints for inner/outer
1988+: used CV joints for inner/outer. The outer joint can swap to a KQ300.

QuadRunner Rear: not interchangeable
1987: unique inner and outer joints. Splines: 20 and slightly smaller diameter.
1988+: interchangeable. Splines: 22. The inner joint can swap to a KQ300.

Later rear axles included a boot guard (#2) for a rubber boot to protect the u-joint.

Refer to this table I spliced together from Rockford.
This is for rear only. I have not found a good reference for the front axles however I believe they are more consistent throughout the years.
Please cross-reference this PDF with the specifications on page 2.


To rebuild the CV/u-joints, use the following kits: Suzuki King Quad 300 Rear Outer Axle Shaft REBUILD. Buy GMB brand or a “Made in Japan” brand.

For example, from Guillaume Gomer Chiasson on the April 24, 2023 Facebook group posted used the GMB 220-0045 Universal Joint.

The ujoints in my original rear axle were getting pretty worn out. So i decided to replace them. I know the best option is brand new Suzuki axles but at 350$ per side for the inner half and 400$ per side for the outter shaft, i needed tanother option. I found ujoints online listed specifically for the kq. So i went ahead and got some and replaced them. I don’t abuse my bike but after blowing at least 4 joints in a few months last fall after installing the first aftermarket ujoint i figured i needed a better ujoint. I finally found suitable replacement u-joints for the rear axle shaft for the King Quad. So far the GMB brand joints have that held up. In the picture in include side by side comparison of the ones that kept breaking and the GMB and you will see the difference in size. Also one is solid instead of hollow. The only problem is there is no clips to hold them in. The stock one are staked in. So first you have to find a way to get them out. The first one i pressed it out through the stakes and it is some hard to get them out. I also used the 4.5” grinder with a cutting wheel and with my plasma cutter to cut them out. Neither is pretty but you can get them out. Once out you have to file or grind out the stakes. Then you can intall the new ujoints. To hold them in you have to weld them in. I put in a first washer that is smaller than the caps as a shim to center the caps, then i weld in a bigger washer on top of it. I did one shaft last fall and haven’t had any issues yet. So i just did the other one. I might eventually do a third shaft as a spare.
I got my ujoints from Rockauto.com for about 13$ a piece.

For example, the GUT-24 U-joints are an option for ATV404 at 22mm/0.866″ diameter however the overall length or cross span is oversized. See screenshot however I think Alex incorrectly states the 22mm to inches conversation.



Additional posts in supporting the axle variations:
1) Rear Drive Yoke Spline Count??HELP (’87 LT4WD)
2) Axle spline compatibility – 90s into 88
3) 1988 250 Quad Runner Universal Joints
4) sourcing solid kq u-joints
5) 2000 u joints

CV Rubber Boots & Wheel Bearings

87s axles are there own. 88-96 can swap aswell with the king quads. You'll have to find an 87 axle that's good, repair the joint, or swap out the final drive axle aswell as the outers and hubs to use the 88-96 ones.

what I do know for sure is the front inners are for 87s only aswell cause they are ujoints not CVs, my friend with an 88 is always going through boots, so I make fun of him for it.

1990 onwards is interchangeable but 87, 88, 89 are all unique from what I remember. Repair manual is worth it.

There are two different CV diameters changing the cage and rubber boot! Be careful when ordering and check your bell housing ahead of time. If you going to the hassle of doing the inner, do the outer at the same time as its 80% of the work. The inners often fail first. Courtesy of JustRandy:

I spent hours searching online and calling salesmen to finally figure out what someone, somewhere should have said a LONG time ago. 68LAC is 2.5 inches ID and 71LAC is 2.75 inches ID. Now when someone is searching for a CVboot, they can find the info they need.

Just measure the CV bell (the part next to the differential). If its 2.5", you need the 68LAC boot. If its closer to 2.75", you need the 71LAC boot. I have a 1998 and 2001 king quad that measures 2.538" and a 1990 LT4WD that measures 2.720".

Personally, I think either boot would fit either joint. The smaller boot would stretch over the bigger joint and the bigger boot would clamp down on the smaller joint, but they make a big deal out of it when you order boots.

Summary from EPI:

Summary from EMPI 2019 CV boot manufacturer:


Per the chart, the inner diameter is what changes. The blue highlights measure 2.75″ (1987 had no factory boots). The green is 2.5″. EMPI does not have the 2.5″ inner.

Add a note on how to pull axles straight out

Two different size CV axle boot diameter inner bell housings.

Suzuki QuadRunner 250 – CV Boot Ripped – MUST WATCH – Axle Removal

How To: Suzuki King Quad 300 Rear Wheel Bearing Change

Electrical – CDI 1987-1989 LTWD vs. 1990+ Quadrunner & King Quad 300 Differences

1987-1989 has 7-wire magneto, 7-wire CDI, and voltage regulator
1990+ has the same voltage regulator and magneto. There were different CDI part numbers over the years 1990+ but they have the same pinouts. The CDIs are different between the King Quad 300 and Quadrunner 250. The Quadrunner 250 has a higher rev limit. I have not tried interchanging the CDIs.

CDI wiring:

1987, 1988, 19891990+ QR250 and KQ300
W/L: Ignition Coil
L: Goes to Mag (trigger)
B/R: Goes to Mag B/W (charge)
B: Goes to Mag (trigger common)
G: Goes to Mag G/W (charge common)
B/Y: Ignition Switch
B/W: Ground
W/L: Ignition coil
G: Goes to Mag, trigger
B/L: Goes to Mag, charge


O: Ignition Switch
B/W: Ground

NOTE: The charge and trigger circuits are isolated AC circuits for 1987-1989. It is unknown if either of the “common” wires are grounded inside the Mag. If, for example, G and B are both grounded, you could use a 1990 CDI and just ignore those wires. This is not known. With both being AC, it is also possible the non-common wires are tied to ground allow 1990+ CDIs. Reference: 89? quad runner 250 2×4 weird spark

FUN NOTE: the CDI triggers every rotation. 1 spark per revolution. As a 4 stroke it sparks every time at TDC and wastes a spark on on the exhaust stroke. Reference: Tach Oddity

Electrical – Voltage Regulator

Common failure: voltage rectifier overcharges causing poor CDI performance and prevents revving up. If your machine runs better (e.g. only revs up) with lights on, its a common failure that you voltage rectifier is failing.
Check voltages while running. Idle around 12.7v and 3/4 throttle around 14.5v. If it overshoots and goes upwards of 15v it’s faulty and needs replaced or has a bad ground. The regulator is underneath the front plastics. You need to take your time and remove the front plastics to replace.

NOTE: the regulator is very sensitive to a bad ground. If this ground is not good, the regulator will output a higher voltage “thinking” its outputting the correct voltage. Check this first. A common fix is to splice into the ground wire on the voltage regulator pigtail and crimp a ring terminal and attached to one of the voltage regulator mounting M6 bolts to the frame.

It is common to replace the voltage regulator. I usually replace with an OEM. The 1987-1989 has an additional wire. In studying the 7-wire magneto, I am not clear why the voltage regulator needs an additional wire. I suspect the early voltage regulators use the O/B wire to “enable” preventing battery drain when the key is “off”. If this is the reason, a new voltage regulator should work with issue.



Yerbay Starter Solenoid Relay for LTF250 LT-F250T Quadrunner 250 1988-2001 ATV

Wheels, Tires & Gear Ratios

Both the KQ300 and QR250 have different wheel and tire sizes front-to-back with unique hole spacing limiting aftermarket or other wheel options.

IMPORTANT: Do not change tire sizes. The front/back ratio is part of the drivetrain.
Larger tires also reduce overall performance due to weight and gearing. Keep the stock sizes. Trust me. I tried it and reverted to original wheels and sizes.

Multiple companies make the same tire in different sizes. Kenda Bear Claw being a popular option. The front differentials are the same between the QR250 and KQ300. The front output shaft gearing is different keeping the ratios correct.

NOTE: the offset is different between the QR250 and KQ300. The KQ300 front wheel will not work on the QR250 without lug spacers.

LT4WD: 3″ difference (22″ front vs. 25″ rear)
LT4WDX: 1″ different (24″ front vs. 25″ rear)

QR250 secondary ratio: 1.062 (17/16)
KQ300 secondary ratio: 1.125 (18/16) [Different bevel gears. 1 tooth less on KQ300]

SUZUKIOEM TIRE SIZEBOLT PATTERNWHEEL OFFSETLUG NUTS
LT-250F 2WD, 89-02 (F)22x8x104/140IS10×1.25mm
LT-250F 2WD, 89-02 (R)24x11x104/140SA10×1.25mm
LT4WD 4WD, 88-02 (F)22x8x104/140IS10×1.25mm
LT4WD 4WD, 88-02 (R)24x11x104/140SA10×1.25mm
LT4WDX LT-F300F 4WD King Quad, 91-03 (F)24x8x114/140IS10×1.25mm
LT4WDX LT-F300F 4WD King Quad, 91-03 (R)25x10x125/160**SA10×1.25mm
(F) = Front     (R) = Rear     IS = Independent Suspension     SA = Straight Axle

All differentials were the same. The part numbers differ QR250 vs. KQ300 for the bevel gear running the front output shaft. Either its a different ratio for the 1″ vs. 3″ is “close enough” or the ratio is indeed different.

One of the most distinguishing features is the wide range gearing options.
From 13.122 in High Ranger, 5th gear to almost 10 times the torque of 126.548 in 1st gear in Super Low range.

Downloadable Excel file.

Brakes

Do NOT attempt to ride if a wheel is dragging. The gearing is low enough you can snap an axle. Do not do it. You will not break something before freeing the wheel.

Front Brakes
Front brakes often freeze up, especially when riding in water during winter. Often the fix is replacing the wheel cylinders. They are exact match for the “Dorman W37850 Rear Drum Brake Wheel Cylinder Compatible with Select Geo / Suzuki Models“.


How To: Suzuki King Quad 300 Front Brake Job + Wheel Cylinder Replacement

Rear Brake
With no differential in the rear (both axles connect directly to the final drive gear), there is only one brake on the right side. Most braking is done with the front brakes and rarely does the rear shoes need replaced.

Rear Brake Shoes that fit all years: Brake Shoes fit Suzuki LT4WD 250 Quadrunner 1987-1992 Rear by Race-Driven

How To: Suzuki King Quad 300 Rear Brake Job Shoe Replacement

4×4 Front Differentials & Suspension

Change your gear oil.
How To: Suzuki King Quad 300 Differential Oil Change (2020 Maint. Series)

Kit to replace “Front Upper/Lower A Arm Bushing Kit X2 fits Suzuki LT-F 300 King Quad 4X4 Quadrunner 250 is available.

Packard Bell 486 DX2 66mhz

This is where I got my start. Purchased in 1994 for my mother to go back to school. It was promptly torn apart and reassembled many times including tears as I lost important files of her coursework. It did come with stereoscopic 3D glasses.

While old and outdated, this is where I got my start in technology and engineering. It stirred my curiosity at a time when the internet was used less for entertainment. It forced people to understand how-it-works.

Yes, there are benefits of today’s technology requiring only a power button: cellular networks, refined user interfaces, and a 3yo child can be entertained. However ask someone born after the year 2000:
“How does the internet work?” or
“How does your cell phone work?” or, taking a different angle,
“How does your car work?”

Young people have less desire to know how-it-works; partly because it works often without them understanding. One of my goals for our family and children is they develop a passion for learning and understanding how-it-works. Mechanical, electrical, and in life: going deeper in learning about cultures, faith, and that our family values equip them to be firm in their beliefs and in respecting others.

Packard Bell 486 DX2-66 Hardware:

  • Processor – 486DX2-66
  • Memory – 8MB
  • Hard Drive – 840MB
  • Graphics Chip – 1MB Video
  • Sound Card – Sound Blaster 16
  • Optical Drive – 2x CD-ROM
  • Floppy Drives – 1x 1.44MB 3.5″
  • Operating System – MS-DOS 6.0/Windows 3.11 for Workgroups
  • Modem – 28.8Kbps


I vividly recall installing Netscape Navigator and later the Netscape Communicator suite. Communicator included Composer which was an early WYSIWYG editor for creating web pages. It took hours to download Netscape Communicator which I believe was around 15MB.

Click the links; brings back memories!
Here were a few Packard Bell included software titles that are remembered fondly:

The 1987 Suzuki LT-4WD QuadRunner: A 4WD That Reaches New Heights

We all have our favorites: our 1987 Suzuki has been a childhood favorite and with our family since childhood. From the cabin, to the farm, to plowing snow, to pulling trailers, to super-low diff lock — its arguably the most reliable and best ATV ever made. No chains. No belts. Well loved.

A goal is to make this a resource to keep these machines alive.
More to come with specific tips, facts, and information specific to the:

  • LT-4WD 1987-1998 Suzuki QuadRunner 250
  • LT-F250F 1999-2002 Suzuki QuadRunner 250 – newer body style
  • LT-F4WDX 1991-1998 Suzuki King Quad 300 [300cc]
  • LT-F300F 1999-2002 Suzuki King Quad 300 [300cc] – newer body style

“Tackle the tough terrain in four-wheel drive, or switch easily to two-wheel drive using the dash mounted lever and discover what it can really do. The front differential can even be locked when in super low range for extra traction on snow, mud and ice.”

Suzuki lived up to the ads. I purchased NOS brochures and the official Suzuki Service Manual off eBay a few years ago and scanned them in an attempt to preserve history. The ad at the top was the first year: 1987 model pictures. Square axle nut boots (cone shaped all other years ), silver skid plate up front (black all other years), and the only year with the flip up/down front and rear racks.
The LT-4WD had a retail price of $3298.00.

Here is the sales brochure from 1995:

Amazingly you can still [supposedly] purchase the King Quad 300 new in Australia; some 29 years after the original King Quad 300 was introduced and a full 34 years after the QuadRunner 250.

“The LT-4WD was able to give off-road enthusiast the ability to explore new limits on the trails or around the farm. The LT-4WD was the beginning of the sport-utility ATV at Suzuki.”

easy2boot gets better and better

Be safe. Stay home. While working longer days now, COVID-19 has given an opportunity to brain dump topics I have been meaning to properly document.

Case-and-point: easy2boot is wonderful. You can boot literally anything off a USB stick. Windows 10 unattended? Yes. Name-your-partition-ISO? Yes. Tivo MFS Tools for hard drive cloning? Yes. Linux flavors? Absolutely. Random PCs that only do BIOS updates via ISO? Yes. And the list goes on… I use it almost daily and support the developer.

Hard to believe its been almost 5 years since relying on easy2boot. 2015 Post: easy2boot & WSUS Offline; a must-have USB stick for Technology professionals

In the past few months, easy2boot can now UEFI Secure Boot a Windows 10 Recovery Environment from a FAT32 secondary partition, from there you can swap in an .imgPTN file (now .imgPTN23), reboot, and now load whatever OS you choose from UEFI Secure Boot. Brilliant!

The easy2boot site does a superb job in documenting technical details however that is partly the challenge; its a lot to understand. My use case: an all-power bootable USB stick for Windows installations and WinRE to swap in-and-out different versions. I prefer two identical USB drives for redundancy. Two 64GB USB3.0 all-metal key-chain drives.

  • Download the latest version (as of writing: Easy2Boot_v2.00A_password_is_e2b.zip)
  • Make a new USB stick.
    As of v2.00, “The main change is that when you make a new drive, it will now download the agFM files and copy them to the second FAT32 partition (if present). This allows UEFI-booting to the agFM grub2 File Manager system. All thanks to ‘a1ive’ for developing his grub2 branch and agFM.”
    Make_E2B.exe and Make_E2B_USB_drive.cmd – downloads agFM if 2nd FAT32 partition is made. If drive is <128Gib then 2nd FAT32 partition of approx 500MB is automatically made.
  • Because my USB drives are 64GB, I resize (enlarge) the secondary FAT32 partition to ~1.2GB in size to handle the WinRE image [next step].
  • Add nodelay
  • Add “No key (choose a version to install).xml” to the _ISO\WINDOWS\WIN10\ and _ISO\WINDOWS\WIN7\ directories if not already present. These answer files allow for the “Repair” option.
  • Copy Win10 ISOs (I always keep a few builds handy; both x86 and x64 combo)
  • Copy Win7 USB3 ISO (if you have a reason; helpful still for in-place upgrades for activation)
  • Copy Windows 10 x64 v1909 Injected.imgPTN23. The .imgPTN23 file extension is important. Follow the Adding UEFI/.imgPTN images guide carefully; specifically the “To convert an ISO to .imgPTN file for UEFI-booting” section.
  • Copy Win10XPE_x64.ISO to the root of your secondary FAT32 partition. This is what you can UEFI boot. You have to make this .ISO file; use Win10PE utility to do it.

Enjoy easy2boot! Its quite wonderful and actively developed. Please support the developer who probably spends a good percentage of their life on this project.

Ford Motor Company Postcards circa 1917

My father shared a few of these via email. Curious, I located the entire image set and PDF. Courtesy of Dean’s Garage and Model A Owners of Canada.

Remarkable to see the Ford production table.
Brings to mind Tesla (TSLA) who in 2019 produced ~365,300 vehicles.
2019 US population: 329.45 million people.

Ford produced this amount in 1915 (~308,213). Population? 1/3.
1915 US population: 100.55 million people.

PDF version.