Trixter
Veteran Member
I just got back from traveling, but will definitely do this for you in the next day or two. Thanks for helping to locate the problem.
Seems to be working fine for me.
I haven't been having packet issues; should I enable debug?
Hey... any machine with a parallel port -- period! That's it. Full parallel network accessibility has been around for over 25 years! No Pocket Ethernet Adapter is necessary.ny machine can now easily transfer files if it has a ethernet NIC or a parallel port with a Pocket Ethernet Adapter - no more sneakernet or ad-hoc serial cables to do it "laplink-style".
Hey... any machine with a parallel port -- period! That's it. Full parallel network accessibility has been around for over 25 years! No Pocket Ethernet Adapter is necessary.
Seems to be working fine for me. I haven't been having packet issues; should I enable debug?
<snip>
Anyway, EtherDFS looks to me as a major breakthrough in DOS/PC retro-computing. Any machine can now easily transfer files if it has a ethernet NIC or a parallel port with a Pocket Ethernet Adapter - no more sneakernet or ad-hoc serial cables to do it "laplink-style".
Er, Novel Netware, FTP, NFS and MS style file and printer sharing have existed for a long time on PC class hardware. Let's not go overboard with the superlatives ...
Er, Novel Netware, FTP, NFS and MS style file and printer sharing have existed for a long time on PC class hardware. Let's not go overboard with the superlatives ...
Novell Netware's IPX is a layer of complexity over raw ethernet, FTP and NFS run over TCP/IP which is two layers of complexity over raw ethernet, LAN Manager/NetBIOS is a layer of complexity over raw ethernet. Those layers of complexity eat up scarce conventional memory on old PCs, and slow them down.
EtherDFS is just the sweet spot: nimble, fast, easy, modern-world compatible, and open-source.
I don't know about you, but I am breaking the champagne about it!
This doesn't take away from EtherDFS, but EtherDFS by definition is a layer of complexity over raw Ethernet too ... Otherwise, we would just call it Ethernet.
Received frame of 80 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 8A D9 82 11 02 1B 13 5C 47 41 | ........ .....\GA
4D 45 53 5C 44 4E 44 5C 44 4E 44 2E 3F 3F 3F 00 | MES\DND\ DND.???.
CHECKSUM MISMATCH! Computed: 0x6CC5h Received: 0xD98Ah
Received frame of 80 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 8A D9 82 11 02 1B 13 5C 47 41 | ........ .....\GA
4D 45 53 5C 44 4E 44 5C 44 4E 44 2E 3F 3F 3F 00 | MES\DND\ DND.???.
CHECKSUM MISMATCH! Computed: 0x6CC5h Received: 0xD98Ah
Received frame of 80 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 8A D9 82 11 02 1B 13 5C 47 41 | ........ .....\GA
4D 45 53 5C 44 4E 44 5C 44 4E 44 2E 3F 3F 3F 00 | MES\DND\ DND.???.
CHECKSUM MISMATCH! Computed: 0x6CC5h Received: 0xD98Ah
Received frame of 80 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 8A D9 82 11 02 1B 13 5C 47 41 | ........ .....\GA
4D 45 53 5C 44 4E 44 5C 44 4E 44 2E 3F 3F 3F 00 | MES\DND\ DND.???.
CHECKSUM MISMATCH! Computed: 0x6CC5h Received: 0xD98Ah
Received frame of 80 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 8A D9 82 11 02 1B 13 5C 47 41 | ........ .....\GA
4D 45 53 5C 44 4E 44 5C 44 4E 44 2E 3F 3F 3F 00 | MES\DND\ DND.???.
CHECKSUM MISMATCH! Computed: 0x6CC5h Received: 0xD98Ah
Received frame of 92 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 65 64 82 2C 02 2E 00 00 01 01 | ......ed .,......
00 00 5C 47 41 4D 45 53 5C 41 4E 47 42 41 4E 44 | ..\GAMES \ANGBAND
5C 41 4E 47 44 4F 53 2E 43 46 47 00 | \ANGDOS. CFG.
CHECKSUM MISMATCH! Computed: 0xB232h Received: 0x6465h
Received frame of 92 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 65 64 82 2C 02 2E 00 00 01 01 | ......ed .,......
00 00 5C 47 41 4D 45 53 5C 41 4E 47 42 41 4E 44 | ..\GAMES \ANGBAND
5C 41 4E 47 44 4F 53 2E 43 46 47 00 | \ANGDOS. CFG.
CHECKSUM MISMATCH! Computed: 0xB232h Received: 0x6465h
Received frame of 92 bytes (cksum = ENABLED)
00 0C 29 0A 26 B3 00 80 C7 2E 64 C6 ED F5 00 00 | ..).&... ..d.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........ ........
00 00 00 00 00 00 65 64 82 2C 02 2E 00 00 01 01 | ......ed .,......
00 00 5C 47 41 4D 45 53 5C 41 4E 47 42 41 4E 44 | ..\GAMES \ANGBAND
5C 41 4E 47 44 4F 53 2E 43 46 47 00 | \ANGDOS. CFG.
CHECKSUM MISMATCH! Computed: 0xB232h Received: 0x6465h
Trixter, could you please test this version of EtherDFS on your "corrupting" PC?
http://mateusz.viste.fr/temp/etherdfs-test/etherdfs081beta.zip
The above version comes with a checksum implementation on each frame.
Note, that for this version to work, you need to upgrade ethersrv-linux to version 20170406.
About the "read-only" and "additional char" troubles you have on the other PC: could you compile ethersrv-linux in debug mode, and provide me with the console output of ethersrv-linux when the problem occurs? To enable debug mode on ethersrv-linux, you would need to edit the file debug.h and set the "DEBUG" definition to "1" (and then run "make" to recompile the program).
c:\tdl.net>copy g:\tdl\titles.idx
File not found - G:\TDL\TITLES.IDX
0 file(s) copied
Based on the error output, I suspect your checksum routine has an error?
If it would, it would be buggy in all situations, with all hardware, not only with the PE3 gimmick.
Brian already sent me his results off-forum yesterday, and from these I noticed that for some reason the PE3 appears to append an additional 1-byte to the frame. I have no clue why it does that, but when I recomputed by hand the checksums based on the debug output Brian sent me, the checksum magically started to match. Long story short, I uploaded a new test version today, that is able to detect when a frame is padded, and trim the additional garbage. The latest test version requires ethersrv-linux version 20170415. Since I don't have a PE3 myself, I count on you guys to test it out
http://mateusz.viste.fr/temp/etherdfs-test/
You are blaming the Xircom PE3? That's a pretty bold move ... they were in use all over the place in the mid 90s on corporate networks, which was a pretty expensive environment at the time.
I don't have anything in the mTCP code that deals with padding on packets, except for ensuring that all packets that I send are a minimum of 60 bytes long to make Intel gigabit adapters happy.
Can you post or send me your source code? I wouldn't mind looking for the off-by-one error no matter where it is.
CHECKSUM MISMATCH! Computed: 0xC6BDh Received: 0x8CFDh
CHECKSUM MISMATCH! Computed: 0xC6BDh Received: 0x8CFDh
CHECKSUM MISMATCH! Computed: 0xC6BDh Received: 0x8CFDh
CHECKSUM MISMATCH! Computed: 0xC6BDh Received: 0x8CFDh
CHECKSUM MISMATCH! Computed: 0xD312h Received: 0xA427h
CHECKSUM MISMATCH! Computed: 0xD252h Received: 0xA427h
CHECKSUM MISMATCH! Computed: 0xD312h Received: 0xA427h
CHECKSUM MISMATCH! Computed: 0xD252h Received: 0xA427h
CHECKSUM MISMATCH! Computed: 0xD312h Received: 0xA427h
CHECKSUM MISMATCH! Computed: 0x47D4h Received: 0x8F2Ah
CHECKSUM MISMATCH! Computed: 0x47D4h Received: 0x8F2Ah
CHECKSUM MISMATCH! Computed: 0x47D4h Received: 0x8F2Ah
CHECKSUM MISMATCH! Computed: 0x47D4h Received: 0x8F2Ah
CHECKSUM MISMATCH! Computed: 0x47D4h Received: 0x8F2Ah
CHECKSUM MISMATCH! Computed: 0xCDC4h Received: 0x9A3Bh
CHECKSUM MISMATCH! Computed: 0xCE1Ch Received: 0x9A3Bh
CHECKSUM MISMATCH! Computed: 0xCDC4h Received: 0x9A3Bh
CHECKSUM MISMATCH! Computed: 0xCE1Ch Received: 0x9A3Bh
CHECKSUM MISMATCH! Computed: 0xCDC4h Received: 0x9A3Bh
CHECKSUM MISMATCH! Computed: 0xA10Fh Received: 0x4021h
CHECKSUM MISMATCH! Computed: 0xA10Fh Received: 0x4021h
CHECKSUM MISMATCH! Computed: 0xA10Fh Received: 0x4021h
CHECKSUM MISMATCH! Computed: 0xA10Fh Received: 0x4021h
CHECKSUM MISMATCH! Computed: 0xA10Fh Received: 0x4021h
MKDIR Error: Invalid argument
CHDIR Error (/mnt/dosdisk//asdf?): No such file or directory
MKDIR Error: Invalid argument
CHDIR Error (/mnt/dosdisk//templ): No such file or directory
MKDIR Error: Invalid argument
RMDIR Error: No such file or directory
MKDIR Error: Invalid argument
MKDIR Error: Invalid argument
CHDIR Error (/mnt/dosdisk//temp5): No such file or directory
MKDIR TEMP" actually made TEMP6
This sounds very much like my reproducible issue of a random junk byte being appended to frames.
Everything seems to be working OK on a XIrcom PE-3 test system.
As a presumably separate issue, I have also noticed that EtherDFS does NOT like multiple clients attached to same server, very strange things seem to happen like "MKDIR TEMP" actually made TEMP6, and "mkdir ASDF" failed completely.