====== Installing LinBPQ on Ubuntu 20.04 LTS x64 ====== This is a document which describes the general case of installing and configuring LinBPQ on Ubuntu 22.04 **NB this process has now been superseded since one of our members has kindly established an apt repo containing a build of LinBPQ.\\ See [[packet:linbpq-apt-installation]] for a guide.** ===== Downloading and running the script ===== There are currently 2 options for installing linbpq ===1. EXPERIMENTAL- Download an amd64 build=== When you issue the following commands, a subfolder will be created in your working directory called linbpq. This is as-yet untested, so reports of success or otherwise will be highly appreciated. sudo apt install libconfig9 mkdir linbpq cd linbpq wget https://github.com/M0LTE/linbpq/releases/download/release/linbpq chmod +x linbpq ./linbpq -v ===2. OR Download the 32 Bit version and install a few missing things=== When you issue the following commands, a subfolder will be created in your working directory called linbpq. sudo dpkg --add-architecture i386 sudo sed -i 's/deb /deb [arch=amd64,i386] /g' /etc/apt/sources.list && \ sudo apt update && sudo apt install -yq wget unzip libcap2-bin lib32z1 && \ sudo apt install -yq libasound2:i386 libasound2-dev:i386 && \ sudo apt install -yq gcc-multilib libc6:i386 libncurses5:i386 libstdc++6:i386 mkdir linbpq cd linbpq wget https://www.cantab.net/users/john.wiseman/Downloads/linbpq chmod +x linbpq ./linbpq -v ===3. OR Download the source code, and a few required libraries, and build it yourself=== Don't do this unless you know what you are doing. When you issue the following commands, a subfolder will be created in your working directory called linbpq. sudo apt update sudo apt install git build-essential libconfig-dev libssl-dev libminiupnpc-dev libzip-dev libpcap-dev libasound2-dev minicom unzip git clone git://vps1.g8bpq.net/linbpq cd linbpq make chmod +x linbpq ./linbpq -v Congratulations you now have linpbq! ===== Setting up linbpq - the bpq-config tool===== Before you can use linbpq you need a configuration file called bpq32.conf. The configuration file tells linbpq how to interact with your TNC/Radio, it's web interface and any other connections such as internet links or Telnet connections. You will also need a few other applications, such as telnet, minicom and lsof. The following tool will take care of this and create a basic configuration file, which we can then edit it to make it suited to our needs Run the following commands from within your linbpq directory to download the tool cd ~/linbpq wget http://www.prinmath.com/ham/bpq-config chmod +x bpq-config To launch the tool type:\\ sudo ./bpq-config The script will make appropriate changes to your PC, just select the default options: \\ 1. Install missing software\\ {{:screenshot_2023-01-05_at_10.09.54.png?400|}}\\ 2. Enable serial port access [so you can access your tnc]\\ {{:screenshot_2023-01-05_at_10.11.54.png?400|}}\\ 3. Disable Bluetooth [don't ask me why]\\ {{:screenshot_2023-01-05_at_10.12.03.png?400|}}\\ 4. Let BPQ be attached to serial devices [so people connecting over your tnc can talk to bpq]\\ {{:screenshot_2023-01-05_at_10.12.09.png?400|}}\\ 5. Reboot\\ {{:screenshot_2023-01-05_at_10.12.16.png?400|}}\\ 6. Once your PC has reset, reconnect to, navigate to the linbpq folder and relaunch the configuration tool: cd ~/linbpq sudo ./bpq-config 7. Select Quick Install - this will create a basic configuration that you can then change\\ {{::screenshot_2023-01-05_at_10.20.06.png?400|}}\\ 8. On the following screen go through each option and populate - things to be aware of:\\ * Gridsquare reference is your Maidenhead locator. The first 2 letters need to upper case, the last 2 lower case. So IO92PB is IO92pb * Username/Password can be anything you like - you'll only use it when accessing the link over your home network * Set WinLink RMS to No * It doesn't currently like intermediate callsigns, just set a dummy callsign and edit in the config later {{::screenshot_2023-01-05_at_10.21.51.png?400|}}\\ 9. Once done click finish. The script will update the appropriate files, hit ok to move on\\ {{::screenshot_2023-01-05_at_10.26.18.png?400|}}\\ 10. The following screen shows how you can connect to your bpq instances interface - maybe fire up a browser and have a look now!\\ {{::screenshot_2023-01-05_at_10.26.29.png?400|}}\\ 11. You will then be sent to the main menu, if you run the config tool again in future you will be brought here. Select option 5 to enable bpq on boot. \\ {{::screenshot_2023-01-05_at_10.26.40.png?400|}}\\ 12. Click finish 13. Finally run this code to fix an issue with the start up routine sudo sed -i 's/pilinbpq/linbpq/g' /lib/systemd/system/bpq.service sudo systemctl daemon-reload sudo systemctl start bpq.service 14. Your system is now ready - visit http://yournodeip:8008 and have fun! ===== Connecting LinBPQ to your TNC ===== 1. Find out which port your TNC is connected to: * NinoTNC - It's /dev/ttyACM0 * Physical TNC connected by USB to Serial cable - Probably /dev/ttyUSB0 * Direwolf 'soundmode' - you can specify what "virtual port" it creates ask in #packet-and-networks channel on discord 2. Navigate to your linbpq folder.\\ 2. Run the command **sudo nano bpq32.cfg** to open the configuration file\\ 3. Spend a few minutes looking over this file. The tool we used has added a load of comments telling you what everything does.\\ 4. Navigate to the section that starts *******Port 1*******\\ 5. Change the COMPORT and SPEED to the correct values - in the case of a NinoTNC you would change: \\ COMPORT=/dev/ttyACM0 ; Serial port SPEED=19200 ; Serial port speed \\ to:\\ COMPORT=/dev/ttyACM0 ; Serial port SPEED=57600 ; Serial port speed \\ 6. To save your changes - Press Ctrl + X to exit the text editor. The bottom of the screen will ask if you want to save changes. Press 'Y' then enter.\\ 7. To load in changes restart linbpq with the following command: **sudo systemctl restart bpq.service**\\ 8. If you want to check if linbpq has started type **sudo systemctl status bpq.service** The first 3 lines of the output should look like this - If it says "active (running) on the third line, you are good to go! \\ bpq.service - BPQ Loaded: loaded (/lib/systemd/system/bpq.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-01-05 10:49:04 GMT; 1min 34s ago \\ ===== What Next? Access your node ===== You can access your node via radio and over your home network [and potentially the internet] via a telnet client. It's better to use a dedicated telnet client but linbpq does provide a web based one. You can access it by clicking "Terminal" on your nodes webpage - located at http://IPAddress:8080 - if you take this route skip steps 1 & 2\\ - Download a telnet client - Putty for Windows, "telnet" for pi/linux or TelNet Lite from the Mac OS App Shop\\ - Setup a connection to your pc, enter your pc IP address as prompted and port 8010\\ - Hit connect and you'll be prompted for your username and password [set above]\\ - Once connected you can type ? followed by enter to get commands\\ - Type BBS to access the BBS/Mailbox system\\ - Type ? for help\\ - If you have a second tnc, if might be fun to send yourself a message. Use the command 's callsign' and follow the prompts eg 's M0UKF' You can also access your node via G8BPQ's desktop application QtTermTCP. Enable an FBBPORT inside your Telnet port config, and set up a host in QtTermTCP, pointing at that port.