User Tools

Site Tools


packet:ninotnc-udev

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
packet:ninotnc-udev [2025/08/20 10:12] gi3jmcpacket:ninotnc-udev [2025/08/21 13:49] (current) – [Arch/CachyOS/Manjaro/Endeavour] gi3jmc
Line 4: Line 4:
 This guide is intended to assist you in creating static devices for any number of NinoTNCs connected your Raspberry Pi.  The device nodes set up will remain constant across restarts, power cycles, and moving the NinoTNC usb cable to a different usb port. This guide is intended to assist you in creating static devices for any number of NinoTNCs connected your Raspberry Pi.  The device nodes set up will remain constant across restarts, power cycles, and moving the NinoTNC usb cable to a different usb port.
  
-This wiki article is **NOT** to be used as an exact key-for-key and click-for-click guide, and also assumes that you are comfortable using the command line.  If you are not using a Pi, the steps should also applicable to any Debian/Ubuntu derived system. +This wiki article is **NOT** to be used as an exact key-for-key and click-for-click guide, and also assumes that you are comfortable using the command line.  Software installation steps have been included for Debian, Fedora, and Arch and their derivative systems.
  
 ---- ----
Line 16: Line 15:
   * A working git installation   * A working git installation
   * MPC2221a USB chip setting adjustment tool   * MPC2221a USB chip setting adjustment tool
 +
 +As different linux distributions use different package management solutions, there are separate details below for systems based on Debian, Fedora, & Arch.
 +
 +=== Raspbarry OS/Debian/Ubuntu/Mint - APT Package Manager ===
  
 First, ensure you have a working git installation with the command ''sudo apt install git'' First, ensure you have a working git installation with the command ''sudo apt install git''
  
 After git is installed/updated, get a copy of the MPC2221a settings utility using ''cd ~ && git clone https://github.com/g5dsg/2221aTool.git'' After git is installed/updated, get a copy of the MPC2221a settings utility using ''cd ~ && git clone https://github.com/g5dsg/2221aTool.git''
 + 
 +The settings tool is written in the python language, and it needs a couple of extra support packages to be able to work.\\
 +To install the ''click'' and ''pyusb'' packages: ''sudo apt install python3-click python3-usb''
  
-The settings tool is written in the python language, and it needs a couple of extra support packages to be able to work.  To install the ''click'' and ''pyusb'' packages: ''sudo apt install python3-click python3-usb''+=== Fedora/Nobara/Red Hat Enterprise Linux DNF Package Manager ===
  
 +First, ensure you have a working git installation with the command ''sudo dnf install git''
 +
 +After git is installed/updated, get a copy of the MPC2221a settings utility using ''cd ~ && git clone https://github.com/g5dsg/2221aTool.git''
 +
 +The settings tool is written in the python language, and it needs a couple of extra support packages to be able to work.\\
 +To install the ''click'' and ''pyusb'' packages: ''sudo dnf install python3-click python3-pyusb''
 +
 +=== Arch/CachyOS/Manjaro/Endeavour - PACMAN Package Manager ===
 +
 +First, ensure you have a working git installation with the command ''sudo pacman -S git''
 +
 +After git is installed/updated, get a copy of the MPC2221a settings utility using ''cd ~ && git clone https://github.com/g5dsg/2221aTool.git''
 +
 +The settings tool is written in the python language, and it needs a couple of extra support packages to be able to work.\\
 +To install the ''click'' and ''pyusb'' packages: ''sudo pacman -S python-click python-pyusb''
  
 ---- ----
Line 44: Line 65:
 //**Before proceeding with any steps in this section, you should only have one NinoTNC connected.  This ensures that the changes are made on the correct device.**// //**Before proceeding with any steps in this section, you should only have one NinoTNC connected.  This ensures that the changes are made on the correct device.**//
  
-You can change the reported product description to better identify the device.  This can be used as an alternative to the serial number.  The process is very similar.  Use ''sudo python3 ./2221aTool.py set-description'' followed by your desired description, which can be up to 30 unicode characters.+You can change the reported product description to better identify the device, and the process is very similar.  Use ''sudo python3 ./2221aTool.py set-description'' followed by your desired description, which can be up to 30 unicode characters.
  
 //Example:// ''sudo python3 ./2221aTool.py set-description NinoTNC-GB7BMY-HF'' //Example:// ''sudo python3 ./2221aTool.py set-description NinoTNC-GB7BMY-HF''
Line 68: Line 89:
 === Serial number names === === Serial number names ===
  
-This example will create a link for each NinoTNC using it's serial number as the device name, but requires you to remember which NinoTNC serial is used for each purpose+This example will create a link for each NinoTNC using it's serial number as the device name in ''/dev'', but requires you to remember which NinoTNC serial is used for each purpose
 <file shell /etc/udev/rules.d/99-ninotnc.rules> <file shell /etc/udev/rules.d/99-ninotnc.rules>
 # Create descriptive links to make refering to NinoTNC's easier # Create descriptive links to make refering to NinoTNC's easier
 SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00dd", SYMLINK+="NinoTNC-%s{serial}" SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00dd", SYMLINK+="NinoTNC-%s{serial}"
 </file> </file>
 +
 +<code>jonathan@GB7BMY /dev> ls -lah tnc-*
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 0003794435 -> ttyACM0
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 0004013920 -> ttyACM1</code>
  
 ---- ----
  
 +=== Product Description names ===
 +
 +This example shows that if you have set the Product Description for easier identification of a NinoTNC, it can also be used to create the name links in ''/dev'' 
 +<file shell /etc/udev/rules.d/99-ninotnc.rules>
 +SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00dd", ATTRS{product}=="NinoTNC-GB7BMY-VHF-2m", SYMLINK+="NinoTNC-VHF-2M"
 +SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00dd", ATTRS{product}=="NinoTNC-GB7BMY-HF", SYMLINK+="NinoTNC-HF-40M"
 +</file>
 +<code>jonathan@GB7BMY /dev> ls -lah NinoTNC-*
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 NinoTNC-VHF-2M -> ttyACM0
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 NinoTNC-HF-40M -> ttyACM1</code>
 +
 +This format could also be used in place of the two lines above, and would create the devices in ''/dev'' named with the exact product description.  It is not recommended to have spaces in the product description if you use this method.
 +<file shell /etc/udev/rules.d/99-ninotnc.rules>
 +SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="00dd", SYMLINK+="%s{product}"
 +</file>
 +<code>jonathan@GB7BMY /dev> ls -lah NinoTNC-*
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 NinoTNC-GB7BMY-VHF-2m -> ttyACM0
 +lrwxrwxrwx 1 root root 7 Aug 20 13:23 NinoTNC-GB7BMY-HF -> ttyACM1</code>
 ==== Final Steps ==== ==== Final Steps ====
  
 To activate the newly-created rules you can either remove and reconnect the NinoTNC USB cable, or use the command ''sudo udevadm trigger'' Once either has been carried out, the new devices will be visible in ''/dev'' for use in your application. To activate the newly-created rules you can either remove and reconnect the NinoTNC USB cable, or use the command ''sudo udevadm trigger'' Once either has been carried out, the new devices will be visible in ''/dev'' for use in your application.
packet/ninotnc-udev.1755684723.txt.gz · Last modified: by gi3jmc