Actually seems the pcap is a disaster on Linux host, with stable version doesn't work, with git version at first ping from guest machine give a crash
86Box[23929]: segfault at 3c8 ip 0000000000655468 sp 00007f18317fd940 error 4 in 86Box[426000+40e000]
Slirp network seem's to works.
So ATM I consider the pcap networking bugged on Linux hosts.
p.s=the old SVr4 system is perfectly emulated by qemu
qemu-system-i386 -m 16 -hda unix.img -fda boot.img
but qemu don't support the wd8003 isa card.
EDIT: a workaround/solution found.
Instead of use pcap or slirp use vde.
We need a tap interface, personally I use this script
#!/bin/sh
# Exit at first error
set -e
# Run this as root
if [ $UID != "0" ]
then
echo "Run this script as root"
exit 1
fi
# Increment tap device number
TAP=`ip link show type tun|grep tap|awk '{print $2}'|cut -d : -f 1|cut -c 4|tail -1`
let "TAP=TAP+1"
TAPDEV=tap${TAP}
# Other vars
USER=yourname
BRIDGE=br0
# Create tap for user
ip tuntap add dev $TAPDEV mode tap user $USER
ip link set $TAPDEV up promisc on
ip link set $TAPDEV master $BRIDGE
echo "I have created $TAPDEV for user $USER, using bridge $BRIDGE"
echo "To remove it use command ip link delete $TAPDEV as root"
Then create the switch AS ROOT (as normal user can create the switch..but when you start the 86box machine it will not connect to the switch!)
sudo vde_switch --mode 666 --numports 8 --tap tap1 --mgmt /tmp/vde.manag --mgmtmode 666 -s /tmp/vde.switch --daemon
Then we start the 86Box
After that control the vde switch, must report two ports (the tap1 and the 86box program)
vdeterm /tmp/vde.manag
VDE switch V.2.3.2
(C) Virtual Square Team (coord. R. Davoli) 2005,2006,2007 - GPLv2
vde[/tmp/vde.manag]: port/allprint
Port 0001 untagged_vlan=0000 ACTIVE - Unnamed Allocatable
Current User: NONE Access Control: (User: NONE - Group: NONE)
-- endpoint ID 0007 module tuntap : tap1
Port 0002 untagged_vlan=0000 ACTIVE - Unnamed Allocatable
Current User: myname Access Control: (User: NONE - Group: NONE)
-- endpoint ID 0008 module unix prog : 86Box virtual card user=yourname PID=2886
Success
Tap1 must configured with ip class of bridge, for example if br0 has 192.168.0.1/24 ip tap1 must have 192.168.0.*/24 and same thing for the virtual machine (for example:
br0 192.168.0.1
tap1 192.168.0.2
vm 192.168.0.3
Finally the results!
Fast ping of Unix svr4 VM
ping 192.168.0.91
PING 192.168.0.91 (192.168.0.91) 56(84) bytes of data.
64 bytes from 192.168.0.91: icmp_seq=1 ttl=255 time=6.23 ms
64 bytes from 192.168.0.91: icmp_seq=2 ttl=255 time=4.86 ms
64 bytes from 192.168.0.91: icmp_seq=3 ttl=255 time=3.44 ms
For the first time I see on my pc a telnet on old svr4 Unix without using slirp and other slow solutions!
telnet 192.168.0.91
Trying 192.168.0.91...
Connected to 192.168.0.91.
Escape character is '^]'.
[SSL not available]
UNIX(r) System V Release 4.0 (unix01)
login:
ftp, rlogin, etc. works!
VDE networking is available only on version 4.0 86Box or upper.
This is the cfg for old Unix svr4
[General]
vid_renderer = qt_opengl3
confirm_save = 0
confirm_reset = 0
language = it-IT
confirm_exit = 0
vid_resize = 1
[Machine]
machine = cubx
cpu_family = c3_samuel
cpu_speed = 733333333
cpu_multi = 5,5
cpu_use_dynarec = 1
time_sync = local
fpu_type = internal
fpu_softfloat = 0
mem_size = 16384
[Video]
gfxcard = cl_gd5430_pci
[Input devices]
mouse_type = ltserial
[Sound]
fm_driver = nuked
midi_device = system_midi
midi_in_device = midi_in
[Storage controllers]
hdc = internal
cassette_mode = load
[Ports (COM & LPT)]
lpt1_device = text_prt
[Hard disks]
hdd_01_parameters = 63, 16, 1013, 0, ide
hdd_01_fn = unix.img
hdd_01_speed = ramdisk
hdd_01_ide_channel = 0:0
[Floppy and CD-ROM drives]
fdd_01_type = 525_2hd
cdrom_01_parameters = 1, atapi
cdrom_01_ide_channel = 0:1
fdd_01_image_history_01 = /home/user/sistemi operativi/storici/unix/AT&T Intel Unix/Disk 58 - Hardware Set - qt pc586 wd8003 pc1 - Disk 1 of 1.img
cdrom_01_type = 86BOX_CD-ROM_1.00
[Western Digital WD8013EBT #1]
base = 0280
irq = 9
ram_addr = D8000
ram_size = 16384
mac = ******
[Network]
net_01_card = wd8013ebt
net_01_link = 1
net_01_host_device = /tmp/vde.switch
net_01_net_type = vde
[Western Digital WD8013EBT]
base = 0280
irq = 9
ram_addr = D8000
ram_size = 16384
mac = 1f:6e:52
[Cirrus Logic GD5430 (PCI)]
memory = 2