RHEL 7 dgnc doesn't compile, jsm.ko doesn't work

I have two Digi Neo PCIe cards. They are not recognized by jsm driver. The linux kernel recognizes that they are serial cards, however, no kernel module recognizes them:

lscpi -k
0b:00.0 Serial controller: Digi International Device 00f0 (rev 02)
Subsystem: Digi International Device 00f0
0e:00.0 Serial controller: Digi International Device 00f0 (rev 02)
Subsystem: Digi International Device 00f0

This was the same problem I had in RHEL 6, see this post:

At least for RHEL 6, the dgnc driver firmware I downloaded from Digi would build properly. Now however, when I try to build this firmware on RHEL 7. I get all sorts of wonky errors.

[root@greenserial1 dgnc-1.3]# make
(cd driver/build; make all)
make[1]: Entering directory /root/dgnc-1.3/driver/2.6.27' make -C /usr/src/kernels/3.10.0-327.3.1.el7.x86_64 SUBDIRS=$PWD modules MYPWD=/root/dgnc-1.3/driver/2.6.27 make[2]: Entering directory /usr/src/kernels/3.10.0-327.3.1.el7.x86_64’
CC [M] /root/dgnc-1.3/driver/build/dgnc_cls.o
/root/dgnc-1.3/driver/build/dgnc_cls.c: In function ‘cls_drain’:
/root/dgnc-1.3/driver/build/dgnc_cls.c:1005:2: error: implicit declaration of function ‘tty_locked’ [-Werror=implicit-function-declaration]
if (tty_locked()) {
/root/dgnc-1.3/driver/build/dgnc_cls.c:1006:88: error: macro “wait_event_interruptible_tty” requires 3 arguments, but only 2 given
rc = wait_event_interruptible_tty(un->un_flags_wait, ((un->un_flags & UN_EMPTY) == 0));
/root/dgnc-1.3/driver/build/dgnc_cls.c:1006:8: error: ‘wait_event_interruptible_tty’ undeclared (first use in this function)
rc = wait_event_interruptible_tty(un->un_flags_wait, ((un->un_flags & UN_EMPTY) == 0));
/root/dgnc-1.3/driver/build/dgnc_cls.c:1006:8: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
make[3]: *** [/root/dgnc-1.3/driver/build/dgnc_cls.o] Error 1
make[2]: *** [module/root/dgnc-1.3/driver/build] Error 2
make[2]: Leaving directory /usr/src/kernels/3.10.0-327.3.1.el7.x86_64' make[1]: *** [build] Error 2 make[1]: Leaving directory /root/dgnc-1.3/driver/2.6.27’
make: *** [build] Error 2

This is kinda getting ridiculous. If your not going to have proper support in the default linux kernel module, then at least give us firmware that actually works. Two years ago when I purchased this product, I was told that it had Linux support. I am beginning to think this was a fib.

What’s worse is that a user reported this dgnc problem almost 3 years ago, and there still does not appear to be a fix:

Is there anyone who has any suggestions that might help me overcome this problem?

I recommend contacting your Digi Sales Representative to determine whether there are plans for driver support in newer kernels or possibly pursue a Special Project Request (SPR).

Wow. That was helpful.

Digi does not have driver support for these products in 3.x kernels. You might be able to obtain driver support by going through your Digi Sales Rep. Otherwise, for in-kernel jsm driver support, you will want to pursue this with the Linux kernel maintainers.