FarSync FAQ – Linux
If this error occurs when insmod is trying to insert a module, such as the error below, then this is normally due to SELinux:
To check SELinux status:
$ sestatus
SELinux is enabled and set to enforcing
Set SELinux to permissive:
sudo setenforce permissive
Make sure farsync is stopped properly:
sudo /etc/init.d/farsync stop
Start farsync again:
sudo /etc/init.d/farsync start
Permission denied error is no longer displayed.
Try stopping and starting farsync a few more times, just to make sure:
Definitely looks like a SELinux issue, we can either:
- Leave SELinux in permissive mode, in which case we need to make sure the permissive setting is carried across reboots by editing the /etc/selinux/config file and setting SELINUX=permissive.
- Set SELinux back to enforcing and add a custom policy module, which can either be done manually or via a script. The sample script below demonstrates creating a custom policy module and loading the newly created policy module.View Sample Script
The document below specifies how to get LAPB up and working with FarSync Adapters on Linux. It was written using RedHat Enterprise Linux 8, but the same process applies to other distributions.
The serial number of your adaptor can be found on a label affixed to the adaptor
For a Flex the serial number label is attached to the side of the Flex:
For a PCIe/PCI card the serial number label is attached to the P.C.B:
Alternatively, once logged in to the Linux platform, start a terminal session if not already done so. Then enter cat /proc/fsflex to display the details of any Flex adaptors and cat /proc/farsync to display the details of FarSync cards. The serial number for each card is reported among the information returned. In the examples below, the card serial number is in red:
mesh2@mesh2:~> cat /proc/fsflex
FarSync OEM Driver version 4.0.0 – Patch Level 00 – Build -b401
1 Cards found
sync6-sync6:(U2050111) FarSync Flex-1 (v2) IRQ0, 1 ports, State: Running
Total number of ports = 1
mesh2@mesh2:~>
mesh2@mesh2:~> cat /proc/farsync
FarSync OEM Driver version 4.0.0 – Patch Level 00 – Build -b401
2 Cards found
sync0-sync1:(M3210002) FarSync T2Ee IRQ30, 2 ports, State: Running
sync2-sync5:(K6427019) FarSync T4Ue IRQ32, 4 ports, State: Running
Total number of ports = 6
mesh2@mesh2:~>
There could be an IRQ routing issue, try disabling the APIC (Advanced Programmable Interrupt Controller), by booting the system using the noapic kernel parameter.
The method for disabling the APIC will depend on the Linux distribution and boot loader, below is an example for openSUSE 15.4:
Open /etc/default/grub for editing
mindy@localhost:~> sudo nano /etc/default/grub
Go to the line that starts GRUB_CMDLINE_LINUX_DEFAULT =
GRUB_CMDLINE_LINUX_DEFAULT=”splash=silent preempt=full mitigations=auto quiet security=apparmor”
Add noapic to the end of the line
GRUB_CMDLINE_LINUX_DEFAULT=”splash=silent preempt=full mitigations=auto quiet security=apparmor noapic”
Save the file
Update the bootloader
mindy@localhost:~> sudo update-bootloader −−refresh
mindy@localhost:~>
Reboot the system
Once rebooted you can confirm that the system has booted using the noapic option, by using cat /proc/cmdline, which displays the boot command line:
mindy@localhost:~> cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-5.14.21-150400.24.55-default root=UUID=8f07be5e-604e-4270-b079-8456cf1ad694 splash=silent preempt=full mitigations=auto quiet security=apparmor noapic
mindy@localhost:~>