[net] FTP not working, seems to crash or otherwise corrupt ktcp
Description
- I loaded ELKS-0.6.0 Minix floppy image, configured NE2000 compatible NIC, and launched ktcp
- The NIC is detected correctly
- I can ping the ELKS system from my Linux system
- When trying to ftp to my Linux system, I get "Connection timed out" message. This is followed by repeating "eth rcv oflow (0x91), keep 1" messages. At this point I can no longer ping the system
- The network card works fine under MS-DOS, used an 8-bit patched packet driver and mTCP suite
Configuration
- Version (commit or release): 0.6.0, fd1440-minix.img image
- Emulator or HW platform: Hardware, NEC V20 Micro 8088 system with ISA 8-bit Ethernet Controller
How to reproduce ?
- The problem happens most of the times. I was able to successfully connect to the FTP server once (out of ~10 attempts), and even then, when trying to get a file, the connection failed.
- Steps to reproduce the problem:
- Boot to ELKS
- Edit /bootopts, add "netirq=2 netport=0x260" line (this is the configuration of my NIC
- Reboot the system so that the new configuration takes effect
- Run "ktcp 192.168.1.47 192.168.1.254 255.255.255.0 &"
- On my Linux system, run "ping 192.168.1.47" and confirm that the system replies to ping
- Run "ftp 192.168.1.7" (that is my Linux system with FTP daemon running)
- Observe the error message
Raw data
- ELKS boot

- Error when trying to establish FTP connection

- Error getting a file using FTP

Additional information None
Hello @skiselev,
Is your testing image from the v0.6.0 release images, or the latest source? There have been significant changes made to the NE2K driver since v0.6.0. I have attached an image built from the most recent source in case this is not what you're using: fd1440.img.zip
Otherwise, it may be that you need to specially indicate that you're running an 8-bit NE2K or change the RAM buffer size, even though the driver appears to be recognizing 8-bit, as indicated from your boot screenshot. Have you read the Wiki Networking article that describes the (newer) configuration procedure in /bootopts? The last number in the ne0= line specifies special flags that may not be auto-recognized by the driver init code. I am not completely up-to-date with where those flags may be documented, we may need to look into the NE2K driver source in the variable net_flags in order to determine them.
Thank you!
Hi @skiselev ,
Are you using the card you designed https://github.com/skiselev/isa8_eth ? So does it work with the latest builds of ELKS? The latest build is available in "Actions" here on ELKS project page. You need to select one of the last "runs" generated by the latest pull requests. Each run/PR generates a lot of images that can be used for testing.
@skiselev please try the new 0.7 release of ELKS.