Git Product home page Git Product logo

eqnx's Introduction

eqnx

Updated Equinox SuperSerial driver for Linux 3.7 and higher kernels

This driver is a mess however I was able to make it work with the tty changes in the 3.7 and higher linux kernel. I updated the references to ktermios and added tty ports.

BUGS: systemd and/or agetty seem keep the driver in use if you have agetty setup on a serial port at boot. This makes lsmod show the module as in use when lsof shows nothing using the ttyQ drives. This does not happen when the module is not loaded at boot or agetty is not configured to use the port. This bug seems to affect the 12d driver which was the last one released by the Equinox before they got bought out too many times.

eqnx's People

Contributors

donharter avatar gregsidelinger avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

eqnx's Issues

eqnx kernel module failing to load

Well, it worked once, and now the module isn't working.

Using modprobe will load the module, but /dev/ttyQxx doesn't populate, and the sstty program says no breakout board was found. If I try loading the module using insmod it gives me:
insmod: ERROR: could not insert module ./drv/eqnx.ko: Invalid module format

dmesg only elaborates by saying
[ 289.905792] eqnx: no symbol version for module_layout

Literally all I did between it working and not working was reboot?

Can't build kernel module for CentOS6 with stock kernel

Hello !

Can you help build this driver for CentOS6 last stock kernel ?

[root@stat-vas eqnx-master]# make
cd drv; make build
make[1]: Entering directory /root/Workspace/eqnx-master/drv' make -C /usr/src/linux-2.6.32-754.17.1.el6.i686 SUBDIRS=/root/Workspace/eqnx-master/drv modules make[2]: Entering directory /usr/src/kernels/2.6.32-754.17.1.el6.i686'
CC [M] /root/Workspace/eqnx-master/drv/sst.o
/root/Workspace/eqnx-master/drv/sst.c:113:32: error: linux/sched/signal.h: No such file or directory
/root/Workspace/eqnx-master/drv/sst.c:8590: error: conflicting types for ‘tty_prepare_flip_string_flags’
include/linux/tty_flip.h:8: note: previous declaration of ‘tty_prepare_flip_string_flags’ was here
/root/Workspace/eqnx-master/drv/sst.c: In function ‘tty_prepare_flip_string_flags’:
/root/Workspace/eqnx-master/drv/sst.c:8593: warning: passing argument 1 of ‘tty_buffer_request_room’ from incompatible pointer type
include/linux/tty_flip.h:4: note: expected ‘struct tty_struct *’ but argument is of type ‘struct tty_port *’
/root/Workspace/eqnx-master/drv/sst.c:8595: error: ‘struct tty_port’ has no member named ‘buf’
/root/Workspace/eqnx-master/drv/sst.c:8596: warning: implicit declaration of function ‘char_buf_ptr’
/root/Workspace/eqnx-master/drv/sst.c:8596: warning: assignment makes pointer from integer without a cast
/root/Workspace/eqnx-master/drv/sst.c:8597: warning: implicit declaration of function ‘flag_buf_ptr’
/root/Workspace/eqnx-master/drv/sst.c:8597: warning: assignment makes pointer from integer without a cast
/root/Workspace/eqnx-master/drv/sst.c: In function ‘megainput’:
/root/Workspace/eqnx-master/drv/sst.c:8700: warning: passing argument 1 of ‘tty_prepare_flip_string_flags’ from incompatible pointer type
/root/Workspace/eqnx-master/drv/sst.c:8590: note: expected ‘struct tty_port *’ but argument is of type ‘struct tty_struct *’
At top level:
cc1: warning: unrecognized command line option "-Wno-incompatible-pointer-types"
make[3]: *** [/root/Workspace/eqnx-master/drv/sst.o] Error 1
make[2]: *** [module/root/Workspace/eqnx-master/drv] Error 2
make[2]: Leaving directory /usr/src/kernels/2.6.32-754.17.1.el6.i686' make[1]: *** [modules] Error 2 make[1]: Leaving directory /root/Workspace/eqnx-master/drv'
make: *** [build] Error 2

makefile for the SST driver fails

Running make build fails since gcc can't find sst.o (which hasn't been built yet?):

/home/user/git/eqnx/drv/Makefile:178: ***

CC [M] /home/user/git/eqnx/drv/sst.o

gcc: error: : No such file or directory

scripts/Makefile.build:257: recipe for target '/home/user/git/eqnx/drv/sst.o' failed

make[3]: *** [/home/user/git/eqnx/drv/sst.o] Error 1

make[3]: Target '__build' not remade because of errors.

Makefile:1353: recipe for target '_module_/home/user/git/eqnx/drv' failed

make[2]: *** [_module_/home/user/git/eqnx/drv] Error 2

make[2]: Target 'modules' not remade because of errors.

make[2]: Leaving directory '/usr/src/linux'

/home/user/git/eqnx/drv/makefile_2.6:38: recipe for target 'modules' failed

make[1]: *** [modules] Error 2

make[1]: Target 'build' not remade because of errors.

make[1]: Leaving directory '/home/user/git/eqnx/drv'

makefile:54: recipe for target 'build' failed

make: *** [build] Error 2

Any idea what the heck is going on? Building on Debian Jessie with kernel 3.16.0-4-amd64.

Only made one modification to the Makefile. I added:
MCFLAGS = "${CFLAGS}"
And modified the original MCFLAGS line like so:
MCFLAGS += ...
So I could pass -Wno-error to keep the build from failing on warnings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.