Implement ISOBUS File Server (FS) Interface as a Personal Project

Introduce the ISOBUS File Server (FS) interface, compatible with ISO
11783-13. The implementation utilizes the kernel's existing CAN J1939
socket support.

For testing following setup can be used:
ip link add type vcan
ip l s dev vcan0 up

j1939acd -r 64-95 -c /tmp/1122334455667788.jacd 1122334455667788 vcan0 &
j1939acd -r 96-127 -c /tmp/1122334455667789.jacd 1122334455667789 vcan0 &

sleep 1

isobusfs-srv -i vcan0 -n 1122334455667788 -v vol1:/path/to/export/
isobusfs-cli -i vcan0 -n 0x1122334455667789 -m 0x1122334455667788 -I

Interactive mode currently support following commands:
exit - exit interactive mode
quit - exit interactive mode
help - show this help
dmesg - show log buffer
selftest - run selftest
ls - list directory
ll - list directory with long listing format
cd - change directory
pwd - print name of current/working directory
get - get file

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
This commit is contained in:
Oleksij Rempel
2024-02-02 13:44:07 +01:00
committed by Oleksij Rempel
parent 6004c64f06
commit 42edaeaf52
30 changed files with 9750 additions and 0 deletions
+22
View File
@@ -63,6 +63,10 @@ CPPFLAGS += \
PROGRAMS_CANGW := \
cangw
PROGRAMS_ISOBUSFS := \
isobusfs-srv \
isobusfs-cli
PROGRAMS_ISOTP := \
isotpdump \
isotpperf \
@@ -89,6 +93,7 @@ PROGRAMS_SLCAN := \
PROGRAMS := \
$(PROGRAMS_CANGW) \
$(PROGRAMS_ISOBUSFS) \
$(PROGRAMS_ISOTP) \
$(PROGRAMS_J1939) \
$(PROGRAMS_SLCAN) \
@@ -139,6 +144,8 @@ j1939cat.o: libj1939.h
j1939spy.o: libj1939.h
j1939sr.o: libj1939.h
testj1939.o: libj1939.h
isobusfs_srv.o: libj1939.h lib.h
isobusfs_c.o: libj1939.h lib.h
canframelen.o: canframelen.h
asc2log: asc2log.o lib.o
@@ -156,6 +163,21 @@ j1939cat: j1939cat.o libj1939.o
j1939spy: j1939spy.o libj1939.o
j1939sr: j1939sr.o libj1939.o
testj1939: testj1939.o libj1939.o
isobusfs-srv: isobusfs_srv.o isobusfs_cmn.o libj1939.o lib.o \
isobusfs_srv_cm.o \
isobusfs_srv_cm_fss.o \
isobusfs_srv_dh.o \
isobusfs_srv_fa.o \
isobusfs_srv_fh.o \
isobusfs_srv_vh.o \
isobusfs_cmn_dh.o
isobusfs-cli: isobusfs_cli.o isobusfs_cmn.o libj1939.o lib.o \
isobusfs_cli_cm.o \
isobusfs_cli_dh.o \
isobusfs_cli_fa.o \
isobusfs_cli_selftests.o \
isobusfs_cli_int.o
canbusload: canbusload.o canframelen.o
can-calc-bit-timing: calc-bit-timing/can-calc-bit-timing.o