Direwolf with rigctl support, bluetooth, and optional wifi AP Tested using RPI zero2W with IC-7200, IC-7300, and IC-9700 Info from various sources including KM6LYW, F4FXL, KN4MKB 10-16-2024 N5YIZ ----------------------------------------------------------------------------------------------------------------- sudo apt install socat tmux git gcc g++ make libgpiod-dev cmake libasound2-dev libudev-dev libavahi-client-dev libhamlib-dev cd ~ git clone https://www.github.com/wb2osz/direwolf cd direwolf git checkout dev mkdir build && cd build cmake .. make -j4 sudo make install make install-conf cd ~ mv direwolf.conf direwolf.conf.orig nano direwolf.conf ### begin MYCALL N5YIZ-4 PERSIST 63 SLOTTIME 12 RETRY 5 DWAIT 0 TXDELAY 30 TXTAIL 10 AGWPORT 8000 KISSPORT 8001 ADEVICE plughw:0,0 #rigctl 3081 for IC-9700 PTT RIG 3081 /dev/ttyUSB0 DCD GPIOD gpiochip0 16 CBEACON delay=0:05 every=10000 dest="morse-15" info="N5YIZ" FX25TX 1 ### end sudo nano /etc/rc.local ### begin Insert following before "Exit 0" at bottom of file sleep 5 /usr/bin/rfcomm --raw watch /dev/rfcomm0 1 /usr/bin/socat -d tcp4:127.0.0.1:8001 /dev/rfcomm0 ### end sudo nano /etc/systemd/system/direwolf.service ### begin [Unit] Description=Direwolf After=network.target [Service] Type=forking ExecStart=/usr/bin/tmux new-session -d -s direwolf '/usr/local/bin/direwolf -p -q dh -t 0 -c /home/pi/direwolf.conf' Restart=always [Install] WantedBy=default.target ### end sudo systemctl enable direwolf.service sudo systemctl start direwolf.service sudo bluetoothctl system-alias 'Direwolf' scan on pair xx:xx:xx:xx:xx trust xx:xx:xx:xx:xx ---------------------------------------------------------------------------------------------- The following adds wifi access point support source: https://www.diyhobi.com/setup-a-wireless-access-point-on-raspberry-pi-4-os-lite/ ---------------------------------------------------------------------------------------------- sudo apt install hostapd dhcpcd dnsmasq iptables sudo nano /etc/dhcpcd.conf ### begin - add to bottom of file interface wlan0 static ip_address=10.10.10.1/24 nohook wpa_supplicant ### end sudo nano /etc/hostapd/hostapd.conf ###begin interface=wlan0 ssid=Direwolf wpa_passphrase=direwolf hw_mode=g ieee80211n=1 channel=6 wmm_enabled=1 ignore_broadcast_ssid=0 auth_algs=1 wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP ### end sudo nano /etc/default/hostapd ### find, add, and uncomment DAEMON_CONF="/etc/hostapd/hostapd.conf" ### end sudo systemctl unmask hostapd sudo systemctl enable hostapd sudo nano /etc/sysctl.conf ### uncomment following line net.ipv4.ip_forward=1 ### end sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig sudo nano /etc/dnsmasq.conf ### begin interface=wlan0 dhcp-range=10.10.10.2,10.10.10.50,255.255.255.0,24h domain=wlan address=/gw.wlan/10.10.10.1 ### end sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" sudo nano /etc/rc.local ### place before "exit 0" iptables-restore < /etc/iptables.ipv4.nat ### end sudo systemctl enable dnsmasq sudo nano /etc/systemd/system/multi-user.target.wants/hostapd.service ### add below "ExecStart=" line ExecStartPre=/usr/bin/sleep 15 ### end sudo rm /etc/wpa_supplicant/wpa_supplicant.conf sudo rm /etc/NetworkManager/system-connections/preconfigured.nmconnection sudo reboot DIREWOLF MODEL SPECIFIC CONFIG FILES ===================================== ##### Icom IC-7200 MYCALL yourcall-10 PERSIST 63 SLOTTIME 12 RETRY 5 FRACK 5 MAXFRAME 1 PACLEN 64 DWAIT 0 TXDELAY 30 TXTAIL 10 AGWPORT 8000 KISSPORT 8001 MODEM 300 1600:1800 7@30 /4 D ADEVICE plughw:0,0 PTT RIG 3061 /dev/ttyUSB0 DCD GPIOD gpiochip0 16 CBEACON delay=0:05 every=10000 dest="MORSE-15" info="yourcall" ##### Icom IC-7300 MYCALL yourcall-10 PERSIST 63 SLOTTIME 12 RETRY 5 FRACK 5 MAXFRAME 1 PACLEN 64 DWAIT 0 TXDELAY 30 TXTAIL 10 AGWPORT 8000 KISSPORT 8001 MODEM 300 1600:1800 7@30 /4 D ADEVICE plughw:0,0 PTT RIG 3073 /dev/ttyUSB0 DCD GPIOD gpiochip0 16 CBEACON delay=0:05 every=10000 dest="MORSE-15" info="yourcall" ###### Icom IC-9700 MYCALL yourcall-10 PERSIST 63 SLOTTIME 12 RETRY 5 DWAIT 0 TXDELAY 30 TXTAIL 10 AGWPORT 8000 KISSPORT 8001 ADEVICE plughw:0,0 PTT RIG 3081 /dev/ttyUSB0 DCD GPIOD gpiochip0 16 CBEACON delay=0:05 every=10000 dest="MORSE-15" info="yourcall" FX25TX 1 ##### CM108 Based Adapters ADEVICE plughw:0,0 CHANNEL 0 MYCALL yourcall-10 MODEM 1200 PTT CM108 /dev/hidraw0 AGWPORT 8000 KISSPORT 8001 PERSIST 63 SLOTTIME 12 RETRY 5 DWAIT 0 TXDELAY 30 TXTAIL 10 CBEACON delay=0:05 every=10000 dest="MORSE-15" info="yourcall" FX25TX 1