Linux Support for the Brainboxes PCI range of serial cards
The Linux kernel has built-in support for a selection of the Brainboxes PCI serial cards in the UC and IS range. A relatively new kernel version is required for the cards to be used.
The following table lists the minimum kernel versions required for the devices:
|Linux Kernel Version||Brainboxes card(s)|
|2.6.18 and later||IS-200||2.6.28 and later||IS-400|
|4.15.11 and later||UC-260UC-271UC-701UC-756|
|5.10.96 (LTS) and later 5.10 releases5.15.19 (LTS) and later 5.15 releases5.16.5 and later||UC-101UC-235 (Revision 2 only)UC-246 (Revision 2 only)UC-257 (Revision 2 only, no LPT support)UC-268UC-275UC-279UC-302 (Revision 2 only)UC-310UC-313 (Revision 4 only)UC-320UC-324UC-346 (Revision 3 only)UC-357UC-368UC-420|
How can I tell what Linux kernel version I am using?
You can find out the version of the kernel that your Linux system is using with the terminal command:
This will print the running kernel version. For example, Debian 11 (Bullseye) prints:
#1 SMP Debian 5.10.179-2 (2023-07-14)
The system is running version 5.10.179 LTS, so is compatible with all cards.
Which Linux distributions use which kernel versions?
The following table is a selection of Linux distributions and their associated kernel versions, which you can use to compare against the above compatibility table.
Note that these are the kernel versions as of writing. There may have been updates to the versions since this article was published. Check with your vendor if you are unsure.
|Distribution||Linux kernel version|
|RHEL/CentOS/Oracle Linux (non-UEK) 7||3.10.0|
|Oracle Linux (UEK) 7||5.4.17|
|RHEL/Rocky Linux/Alma Linux/Oracle Linux (non-UEK) 8||4.18.0|
|Oracle Linux (UEK) 8||5.15.0|
|RHEL/Rocky Linux/Alma Linux/Oracle Linux (non-UEK) 9||5.14.0|
|Oracle Linux (UEK) 9||5.15.0|
|Debian Linux 10 (Buster)||4.19.282|
|Debian Linux 11 (Bullseye)||5.10.179|
|Debian Linux 12 (Bookworm)||6.1.38|
|Ubuntu 18.04 LTS||4.15.0|
|Ubuntu 20.04 LTS||5.4.0|
|Ubuntu 22.04 LTS||5.15.0|
How do I use my UC/IS device on Linux?
After the device is detected and installed by the Linux system, the device will be available at
/dev/ttySx, with x being a number. Serial devices start at ttyS0 and each additional port installed on the computer will use the next available number.
Missing serial ports?
If you install your card and find that only some of the ports are available, the likely issue is that the driver is using the default of 4 UARTs on the system.
You will need to specify to the driver to use more via a kernel parameter. On any system which uses the GRUB bootloader (for example Debian and Ubuntu), run the following procedure:
1) As root/superuser (or using sudo), edit the file
/etc/default/grub with your editor of choice, for example
sudo nano /etc/default/grub
2) Locate the line
3) Add the parameter
8250.nr_uarts=10 at the end of inside the quote blocks, which will set the driver to expose 10 UARTs to the system. If you have more than 10 UARTs on the system, increase this value until you have all the ports available.
sudo update-grub and reboot.