pasis / ipx Goto Github PK
View Code? Open in Web Editor NEWIPX kernel module for Linux 4.18+
License: Other
IPX kernel module for Linux 4.18+
License: Other
This is not a bug report but my experience how I install this modul with DKMS so whenever a kernel upgrade, this module will be automatically recompiled and reinstalled. Hope this will help other people who still needs ipx with the modern linux.
My system is ubuntu 18.04 with kernel version 5.4.0-54-generic.
Install dkms and build-essential
sudo apt install dkms build-essential
Create directory /usr/src/ipx-1.0
sudo mkdir /usr/src/ipx-1.0
Download this repository source https://github.com/pasis/ipx/archive/master.zip
Extract the zip file, place the files to /usr/src/ipx-1.0 , here is mine:
bambang@bambang-Vostro-1014:/usr/src/ipx-1.0$ ls -l
total 108
-rw-r--r-- 1 root root 50935 Nov 17 22:06 af_ipx.c
-rw-r--r-- 1 root root 8 Nov 17 23:43 built-in.a
-rw-r--r-- 1 root root 277 Nov 18 00:07 dkms.conf
-rw-r--r-- 1 root root 8733 Nov 17 22:06 ipx_proc.c
-rw-r--r-- 1 root root 6785 Nov 17 22:06 ipx_route.c
-rw-r--r-- 1 root root 2794 Nov 17 22:06 Kconfig
-rw-r--r-- 1 root root 436 Nov 17 22:06 Makefile
drwxr-xr-x 2 root root 4096 Nov 17 22:06 net
-rw-r--r-- 1 root root 1687 Nov 17 22:06 p8023.c
-rw-r--r-- 1 root root 767 Nov 17 22:06 pe2.c
-rw-r--r-- 1 root root 321 Nov 17 22:06 README
-rw-r--r-- 1 root root 955 Nov 17 22:06 sysctl_net_ipx.c
MAKE="'make'"
CLEAN="make clean"
BUILT_MODULE_NAME[0]="ipx"
BUILT_MODULE_LOCATION[0]="./"
DEST_MODULE_LOCATION[0]="/kernel"
BUILT_MODULE_NAME[1]="p8023"
BUILT_MODULE_LOCATION[1]="./"
DEST_MODULE_LOCATION[1]="/kernel"
PACKAGE_NAME="ipx"
PACKAGE_VERSION="1.0"
AUTOINSTALL=yes
sudo dkms add -m ipx -v 1.0
7.Build the package through dkms, dkms will try to make the package:
sudo dkms build -m ipx -v 1.0
Make sure there is no error.
8.Install the package
sudo dkms install -m ipx -v 1.0
This will copy to ipx.ko and p8023.ko to the appropriate directory.
9.Now we have to tell the computer to load the ipx kernel module everytime it boots. Create file /etc/modules-load.d/ipx.conf
with content as follow:
p8022
psnap
p8023
ipx
Reboot the computer
Check wether the ipx.ko is load or not:
bambang@bambang-Vostro-1014:/usr/src/ipx-1.0$ lsmod | grep ipx
ipx 28672 0
p8023 16384 1 ipx
psnap 16384 1 ipx
p8022 16384 1 ipx
bambang@bambang-Vostro-1014:/usr/src/ipx-1.0$ dkms status
ipx, 1.0, 5.4.0-54-generic, x86_64: installed
Although I can login to a netware server, mounting with ncpmount failed:
akunting@akunting:~/dosemu2/20.04/64bits$ sudo ncpmount -S berkah -U bambang -u 1000 -g 1000 /media/server
Logging into berkah as BAMBANG
Password:
ncpmount: No such device in mount(2)
akunting@akunting:~/dosemu2/20.04/64bits$ ncpmount -v
ncpfs version 2.2.6
Many google search result this is due to lack of ncpfs kernel module. Can you please help? Thank you.
I was wondering if support for SPX will be added? When trying to create a socket using socket(AF_IPX, SOCK_SEQPACKET, NSPROTO_SPX)
or socket(AF_IPX, SOCK_STREAM, NSPROTO_SPX)
, I get ESOCKTNOSUPPORT
. This works fine on Windows, does it need to be done differently on Linux?
IPX sockets seem to work fine.
I wanted to package this for Fedora, which does not allow out of tree kernel modules, but does allow them in RPMFusion. However, even in RPMFusion, it was recommended to try to upstream it instead, since it was removed due to lack of maintainer.
Do you have any intends to upstream this and maintain it? If not, do you mind if someone else would?
Failed on installing the ipx.ko
insmod: ERROR: could not insert module ipx.ko: Unknown symbol in module
OS:Ubuntu 18.04
Linux kernel version: 5.0.0-23-generic
Please help, thank you.
dmesg output:
[13643.124280] ipx: loading out-of-tree module taints kernel.
[13643.124327] ipx: module verification failed: signature and/or required key missing - tainting kernel
[13643.124367] ipx: Unknown symbol unregister_8022_client (err -2)
[13643.124398] ipx: Unknown symbol unregister_snap_client (err -2)
[13643.124437] ipx: Unknown symbol make_8023_client (err -2)
[13643.124459] ipx: Unknown symbol register_snap_client (err -2)
[13643.124494] ipx: Unknown symbol register_8022_client (err -2)
[13643.124523] ipx: Unknown symbol destroy_8023_client (err -2)
[13683.084591] ipx: Unknown symbol unregister_8022_client (err -2)
[13683.084623] ipx: Unknown symbol unregister_snap_client (err -2)
[13683.084661] ipx: Unknown symbol make_8023_client (err -2)
[13683.084681] ipx: Unknown symbol register_snap_client (err -2)
[13683.084714] ipx: Unknown symbol register_8022_client (err -2)
[13683.084742] ipx: Unknown symbol destroy_8023_client (err -2)
[13693.492579] ipx: Unknown symbol unregister_8022_client (err -2)
[13693.492622] ipx: Unknown symbol unregister_snap_client (err -2)
[13693.492682] ipx: Unknown symbol make_8023_client (err -2)
[13693.492707] ipx: Unknown symbol register_snap_client (err -2)
[13693.492747] ipx: Unknown symbol register_8022_client (err -2)
[13693.492781] ipx: Unknown symbol destroy_8023_client (err -2)
[13707.404520] ipx: Unknown symbol unregister_8022_client (err -2)
[13707.404551] ipx: Unknown symbol unregister_snap_client (err -2)
[13707.404591] ipx: Unknown symbol register_snap_client (err -2)
[13707.404624] ipx: Unknown symbol register_8022_client (err -2)
[13984.556996] ipx: Unknown symbol unregister_8022_client (err -2)
[13984.557027] ipx: Unknown symbol unregister_snap_client (err -2)
[13984.557069] ipx: Unknown symbol register_snap_client (err -2)
[13984.557104] ipx: Unknown symbol register_8022_client (err -2)
`* Determining the location of the kernel source code
/usr/src/linux
6.3.1-xanmod1-dist
Unpacking source...
Source unpacked in /var/tmp/portage/net-misc/ipx-modules-9999/work
Preparing source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
Source prepared.
Configuring source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
Source configured.
Compiling source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
ln: failed to create symbolic link 'Module.symvers': File exists
emerge --info '=net-misc/ipx-modules-9999::linamh'
,emerge -pqv '=net-misc/ipx-modules-9999::linamh'
.` * Determining the location of the kernel source code
/usr/src/linux
6.8.0-xanmod1-dist
Unpacking source...
Source unpacked in /var/tmp/portage/net-misc/ipx-modules-9999/work
Preparing source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
Source prepared.
Configuring source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
Source configured.
Compiling source in /var/tmp/portage/net-misc/ipx-modules-9999/work/ipx-modules-9999 ...
ln: failed to create symbolic link 'Module.symvers': File exists
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.