SSSICK/BUOY/Connection/Pop OS

From WWWIKI
< SSSICK‎ | BUOY‎ | Connection

Connecting to your SSSICK/SSSMCK with Pop OS. We do not recommend Pop OS due to numerous issues and a terrible UI.

Connection

  1. In the Bluetooth menu, find your kit and click on it.
    • Popos1.png
  2. It will ask for the pin number. By default this is "1234".
    • Popos2.png
  3. We will need the address for the further steps. Select, right click, "copy".
    • Popos3.png
  4. Open a terminal, type rfcomm connect [port #] [address].
    1. You can use any unassigned port #. Check currently used port numbers by running ls /dev/rfcomm*. Any returned rfcomm devices are in use, you can use any number 1-99 that is not already assigned.
    2. The address you use will be pasted from the previous step.
    • Popos4.png
  5. If you do not have properly applied user permissions (see SSSMCK/BUOY/Connection/Troubleshooting/Linux) you may have to run this command as root by using "sudo". The default user account created during Pop OS will likely not have the correct permissions....
    • Popos5.png
  6. Once connected, you will see the kit listed in Buoy with the port number we set in the previous steps.
    • Popos6.png
  7. Click "connect" and it will connect!
    • Popos7.png

User Permissions

Pop OS does not assign new users to the appropriate group to communicate with COM devices for some reason. The quickest way to get this working can be shown in a single screenshot:

Popos8.png

We can check user groups by running id -nG [username].

We can check which group the COM port belongs to by running ls -al /dev/rfcomm*.

We can see that the user does not belong to the group that the COM port belongs to. This means we cannot communicate with the kit. Fix this by adding the user to the displayed group "dialout".

To do this, we run sudo usermod -a -G dialout [username]. It is EXTREMELY important that you use the -a flag when running this command!

Now the user has been added to "dialout". We can double-check this by running id -nG [username] once again. You can now communicate with the kit!

In order for the group change to be finalized you may need to logout and login.


Troubleshooting

If you are unable to communicate with the kit or you are getting this error when trying to connect:

Permission denied.png

It means that you do not have appropriate permissions to open the port. You can either run the app as root sudo ./Buoy.sh or you can fix this by continuing to read below:

While this is shown in Linux Mint, this is a nearly universal configuration for most every Debian-based Linux distro (as well as a few others).

First, we want to see what group the device is being assigned. By default this should be either the "tty" group or the "dialout" group. However, if you have very strict security settings, your computer may assign this device to the group "root". In this case, you will only be able to access the device if you belong to the root group. We can find out what group the device is assigned by running ls -al /dev/ttyUSB* (or whatever device identifier your SSSMCK is being assigned, this can by ttyACM[#], ttyrfcomm[#], or similar).

TtyUSB showing root.png

We can see here that the device is being assigned to the "root" group. If it belongs to another group, such as "tty" or "dialout", we just need to add our user to that group and you can skip modifying any device rules. If it belongs to root, we need to take a few extra steps.

First we need to find out what groups our user belongs to. Do this by running groups

Then we need to find out which groups are available by running cat /etc/group.

Showing tty group.png

Here we see that the group "tty" is available. This is the best choice to use. If it is not available, you can use the group "dialout" instead. Since this user does not belong to this group, we need to add this user to the group. Do this by running sudo usermod -a -G tty [your username]

User groups.png

Finally we need to modify the rules file that assigns the SSSMCK to a group. Do this by running sudo [your favorite text editor] /lib/udev/60-serial.rules. In this case we will edit the file with "nano", but you can use vim or xed or whatever you have installed.

Nanoudevrule.png

We will look for a line that starts with SUBSYSTEMS=="usb and append the following text: , GROUP="tty". Please note that the COMMA is VERY IMPORTANT! Now save the file (with nano use "Ctrl + x" and then confirm the save).

Add group tty to udev rule.png

Now the next time that we connect to the SSSMCK we will see that it has been assigned to the "tty" group:

Showing device group is tty.png