diff options
Diffstat (limited to 'gitlab/issues/target_i386/host_missing/accel_missing/2593.toml')
| -rw-r--r-- | gitlab/issues/target_i386/host_missing/accel_missing/2593.toml | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/gitlab/issues/target_i386/host_missing/accel_missing/2593.toml b/gitlab/issues/target_i386/host_missing/accel_missing/2593.toml new file mode 100644 index 00000000..ed024e54 --- /dev/null +++ b/gitlab/issues/target_i386/host_missing/accel_missing/2593.toml @@ -0,0 +1,67 @@ +id = 2593 +title = "-netdev user,smb=/path doesn't work with old Windows versions anymore" +state = "opened" +created_at = "2024-09-25T21:28:11.400Z" +closed_at = "n/a" +labels = ["Networking", "guest: Windows", "target: i386"] +url = "https://gitlab.com/qemu-project/qemu/-/issues/2593" +host-os = "current Arch Linux and Ubuntu 22.04" +host-arch = "x86_64" +qemu-version = "9.1.0 and 6.2.0" +guest-os = "Windows 98SE, probably all Windows versions before Vista and potentially other older operating systems" +guest-arch = "x86 (probably any)" +description = """I'm running Windows 98 in qemu and wasn't able to access the share. After finding `/tmp/qemu-smb.*/` and increasing the log level (setting `log level = 10` in the temporary smb.conf) it became clear, that the smbd server didn't support any of the protocols offered by Win98: + +<details> + +``` +[2024/09/25 23:04:25.871072, 10, pid=40892, effective(1000, 1000), real(1000, 1000)] ../../lib/util/util.c:580(dump_data) + [0000] 02 50 43 20 4E 45 54 57 4F 52 4B 20 50 52 4F 47 .PC NETW ORK PROG + [0010] 52 41 4D 20 31 2E 30 00 02 4D 49 43 52 4F 53 4F RAM 1.0. .MICROSO + [0020] 46 54 20 4E 45 54 57 4F 52 4B 53 20 33 2E 30 00 FT NETWO RKS 3.0. + [0030] 02 44 4F 53 20 4C 4D 31 2E 32 58 30 30 32 00 02 .DOS LM1 .2X002.. + [0040] 44 4F 53 20 4C 41 4E 4D 41 4E 32 2E 31 00 02 57 DOS LANM AN2.1..W + [0050] 69 6E 64 6F 77 73 20 66 6F 72 20 57 6F 72 6B 67 indows f or Workg + [0060] 72 6F 75 70 73 20 33 2E 31 61 00 02 4E 54 20 4C roups 3. 1a..NT L + [0070] 4D 20 30 2E 31 32 00 M 0.12. +[2024/09/25 23:04:25.871241, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [PC NETWORK PROGRAM 1.0] +[2024/09/25 23:04:25.871247, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [MICROSOFT NETWORKS 3.0] +[2024/09/25 23:04:25.871252, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [DOS LM1.2X002] +[2024/09/25 23:04:25.871256, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [DOS LANMAN2.1] +[2024/09/25 23:04:25.871260, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [Windows for Workgroups 3.1a] +[2024/09/25 23:04:25.871264, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1154(smb2_multi_protocol_reply_negprot) + Requested protocol [NT LM 0.12] +... +[2024/09/25 23:04:25.871315, 6, pid=40892, effective(1000, 1000), real(1000, 1000)] ../../source3/param/loadparm.c:2442(lp_file_list_changed) + lp_file_list_changed() + file /tmp/qemu-smb.TU2YU2/smb.conf -> /tmp/qemu-smb.TU2YU2/smb.conf last mod_time: 2024-09-25 23:04:20.374500597 +[2024/09/25 23:04:25.871325, 3, pid=40892, effective(1000, 1000), real(1000, 1000), class=smb2] ../../source3/smbd/smb2_negprot.c:1201(smb2_multi_protocol_reply_negprot) + smb2_multi_protocol_reply_negprot: No protocol supported ! + +``` + +</details> + +(`smb2_multi_protocol_reply_negprot: No protocol supported !`). + +Manually adding the line `server min protocol = LANMAN1` under `[global]` in the temporary `smb.conf` fixed the issue. +I think qemu should add that line by default. + +The behavior was the same with smbd 4.15.13-Ubuntu from Ubuntu 22.04 and 4.21.0 from current Arch Linux.""" +reproduce = """1. Set up qemu VM with Win98 (or presumably any Windows version up to XP) + * at least on my machine I had to use `tcg`, with `kvm` Win98 is very unstable on Ryzen CPUs + * I roughly followed this tutorial: https://computernewb.com/wiki/QEMU/Guests/Windows_98 incl. using that Windows 98 QuickInstall ISO and the softgpu driver + * enable user-mode networking with smb share (`-netdev user,id=lan,smb=/path/to/share -device pcnet,netdev=lan`) +2. Edit `C:\\Windows\\LMHOSTS` as described in the qemu documentation (add line `10.0.2.4 smbserver`) +3. Probably reboot the Windows VM + * Actually, rebooting Win98 doesn't work for me, it then hangs while booting. Shutting down and starting the VM again works though. +4. Open the Windows Explorer and enter `\\\\smbserver` in the address bar - it will fail with some unhelpful error. +5. Edit `/tmp/qemu-smb.*/smb.conf` and add the line `server min protocol = LANMAN1` under `[global]` + - `server min protocol = NT1` also works for Win98, but with `LANMAN1` even older operating systems like Win3.11 should also work +6. Retry step 4 - it should work now.""" +additional = "n/a" |