-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Network support #23
Comments
|
The problem with integrating an standalone FTP server is, that you have to implement a full tcp stack in Javascript first including arp and probably dhcp.I am not sure, how easy that is. There are other options like shell control over uart ("ls", "cd", "dd", "cat", ...), an own Fuse driver, which interacts with the outer world or virtio/9p used in arm-js or jor1k. But all of the "easier" solutions work only under Linux. |
QEMU has an user mode udp/tcp/ip stack. You can find it in the directory "slirp" in the source code. 300kB of code. And it includes even an ftp server. |
You're right of course, building a complete network stack is going to be quite some effort to get working. FTP would have been nice because it works in KolibriOS and virtually any Linux distribution. I'll probably need to look into the alternatives. Sharing code with other projects is of course always an option, as long as they're compatible with BSD (wink). I'd prefer something that can be mounted (which is the case for FTP and virtio, but not transfer over UART). |
There's network support since 2fe66de. The server runs websockproxy, so it's already possible to make rate-limited connections to the internet. The emulated ne2k device works on Linux and KolibriOS. Adding support for FTP or similar should be unnecessary, since we already have virtio/9p. Using the latter will be much easier if we want to implement file exchange between browser and emulated OS. |
@copy Are there any plans to add network support to one of the images per default, like jor1k has? I couldn't get network support working with the existing ones. |
@ysangkok Network support is enabled in the (currently experimental) Archlinux image: http://copy.sh/v86/?profile=archlinux after running It should also work in KolibriOS, but there seems to be a bug right now. If you're interested, I could also build another small Linux image with some network tools. |
@copy The ttylinux-5.3 image (kernel 2.6.16) from my other bug (the bug with the slow entropy collection) has busybox and it's embedded It works perfectly using ttylinux-2015.01 though: http://copy.sh/v86/?profile=custom&cdrom.url=http://k%C3%A6n.guru/files/ttylinux-pc_i486-2015.01.iso |
@ysangkok The fact that it doesn't seem to work in older Linuxes is a bug in the emulation of the ne2k card (or maybe in IO handling). I will look into this too. |
I can confirm, that it is not even working in latest Buildroot. same error: ne2k-pci: no I/O resource at PCI BAR #0 Kernel: 3.18.6 JAn |
@honzucha I can't reproduce this in the latest Buildroot. Could you send me the kernel config? |
@fabian, I have used default for i386. Od: Fabian [email protected] @honzuchahttps://github.com/honzucha I can't reproduce this in the latest Buildroot. Could you send me the kernel config? Reply to this email directly or view it on GitHubhttps://github.com//issues/23#issuecomment-76765812. |
Buildroot make menuconfig |
I see. The problem is actually related to a recent change in the kernel in PCI bus handling (not network emulation). I'll fix it, thanks! |
Sorry for "necroposting", but… Is it realistic to also make networking work in Windows 9x images? I guess it would be a lot of fun to walk around in Internet Explorer 5, for example… |
@magicgoose Yeah, that's possible. Not high on my priority list though. |
Network support would be a nice feature. The jor1k project is already running this successfully.
The emulated hardware could be ported from jsmodem (which is based on a UART, which we already have) or written from scratch. In the latter case, a network card that is supported by KolibriOS should be emulated.
Some feature ideas:
The text was updated successfully, but these errors were encountered: