helpmywifigo – Network Diagnostic and Repair Tool for GhostBSD
Version: 1.5
License: BSD-2-Clause
Maintainer: Fred Finster
Overview
helpmywifigo
is a shell-based tool designed for GhostBSD and FreeBSD systems. It gathers network-related system information and attempts automatic repairs to common wireless and networking issues. This script supports both diagnostics and automatic remediation through a command-line switch.
Features
Diagnostic Capabilities
- Verifies presence of essential kernel modules
- Displays PCI and USB device information
- Lists all network interfaces and their IP addresses
- Checks for default route and validates DNS resolution
- Displays filtered system logs and relevant kernel messages
- Lists installed Realtek-related packages
- Offers structured and labeled output for easier reading
- Supports HTML formatting for sharing reports
Automatic Fix Mode
When invoked with the --fix
option, the script will attempt to:
- Load common wireless drivers:
if_iwm
, if_iwn
, if_ath
, if_ral
, if_bwn
, if_bwi
, if_wpi
, if_rtwn_usb
, if_urtwn
, if_rsu
- Load the
wlan
module if not already loaded
- Create a
wlan0
interface from any detected wireless interface
- Run
dhclient
on active interfaces if no default route is set
- Regenerate
/etc/resolv.conf
if it is missing or DNS is failing
- Output matching
pciconf
blocks for detected network devices
Usage
Run diagnostics
chmod +x helpmywifigo_v1.5_extended.sh
./helpmywifigo.sh > my_network_info.txt
Attempt automatic repairs
./helpmywifigo.sh --fix > fixlog.txt
Run in brief mode
./helpmywifigo.sh --brief > my_network_info.txt
Requirements
- GhostBSD or FreeBSD (13.x or 14.x)
- Installed tools:
uname
, pciconf
, usbconfig
, kldstat
, ifconfig
, netstat
, route
, getent
, dmesg
, pkg
- Optional but recommended:
sudo
Output
- Default output is to
stdout
. Redirect to a file for easier review.
- Fix mode outputs results inline and attempts kernel module and network recovery steps.
- PCI matching and filtered logs assist in forum-based support.
Caveats
- The script is invasive when run with
--fix
and modifies the live system state.
- It does not persist changes across reboots (no edits to
rc.conf
or loader files).
- It is suitable for recovery and first-pass troubleshooting, not long-term configuration.