lede icon indicating copy to clipboard operation
lede copied to clipboard

Hyper-V虚拟OpenWrt主机无法通过Hyper-V管理器关机

Open ronnie9211 opened this issue 2 years ago • 19 comments

反馈bug/问题模板,提建议请删除

1.关于你要提交的问题

Q:是否搜索了issue (使用 "x" 选择)

  • [x] 没有类似的issue

2. 详细叙述

(1) 具体问题

A:想通过Hyper-V管理器关闭OpenWrt时提示“尝试关闭虚拟机时出错”,错误代码0x800710DF,只能通过强制关机选项关机。

(2) 路由器型号和固件版本

A:X86Hyper-V虚拟主机,OpenWrt R22.8.2 / LuCI Master (git-22.227.13225-9632640),内核版本5.15.60

(3) 详细日志

A:

ronnie9211 avatar Aug 18 '22 10:08 ronnie9211

你安装下包 acpid 后看看有效果没

zhangguanzhang avatar Aug 18 '22 13:08 zhangguanzhang

我加了acpid也是不行

littoy avatar Aug 19 '22 05:08 littoy

装了,还是不行

ronnie9211 avatar Aug 19 '22 05:08 ronnie9211

/etc/init.d/acpid status

看看是running的吗

zhangguanzhang avatar Aug 19 '22 07:08 zhangguanzhang

/etc/init.d/acpid status

看看是running的吗

是的,并且我上一个固件R21.12.1没有acpid也可以通过Hyper-V管理器正常关机。

ronnie9211 avatar Aug 19 '22 09:08 ronnie9211

你切5.15内核试试看看解决没

zhangguanzhang avatar Aug 19 '22 09:08 zhangguanzhang

我试过5.19 5.15 和5.10都不行

littoy avatar Aug 20 '22 06:08 littoy

我试过5.19 5.15 和5.10都不行

纠正下,5.10可以。

littoy avatar Aug 28 '22 09:08 littoy

5.15内核的,从dmesg 看是缺了 hv_utils ,但是我不知道为什么,日志: dmesg |grep hv [ 0.031517] hv_vmbus: Vmbus version:5.3 [ 0.038608] hv_vmbus: registering driver hv_pci [ 0.038691] hv_vmbus: registering driver hyperv_fb [ 0.039125] hyperv_fb: Synthvid Version major 3, minor 5 [ 0.040173] hv_vmbus: registering driver hv_storvsc [ 0.040412] hv_vmbus: registering driver hv_netvsc [ 0.058294] hv_vmbus: registering driver hyperv_keyboard [ 0.062053] hv_vmbus: registering driver hid_hyperv [ 0.064844] hv_vmbus: registering driver hv_balloon [ 0.065428] hv_balloon: Using Dynamic Memory protocol version 2.0 [ 48.144006] hv_balloon: Max. dynamic memory size: 4096 MB

fishg avatar Dec 21 '22 04:12 fishg

应该是少了hv_utils.ko导致的

image

装ipk装不上,但是单独加载hv_utils.ko文件就没问题,加载后hyper-v关机就正常了

gsown avatar Dec 31 '22 14:12 gsown

这个kmod-hv_utils 的ipk怎么编译的?我手动加CONFIG_DEFAULT_kmod-hv_utils=y ,make defconfig就又无了

应该是少了hv_utils.ko导致的

image

装ipk装不上,但是单独加载hv_utils.ko文件就没问题,加载后hyper-v关机就正常了

littoy avatar Dec 31 '22 14:12 littoy

这个kmod-hv_utils 的ipk怎么编译的?我手动加CONFIG_DEFAULT_kmod-hv_utils=y ,make defconfig就又无了

应该是少了hv_utils.ko导致的 image 装ipk装不上,但是单独加载hv_utils.ko文件就没问题,加载后hyper-v关机就正常了

你在lede目录里find下 find ./ -name hv_utils*

gsown avatar Dec 31 '22 15:12 gsown

找到ko模块了,谢谢

这个kmod-hv_utils 的ipk怎么编译的?我手动加CONFIG_DEFAULT_kmod-hv_utils=y ,make defconfig就又无了

应该是少了hv_utils.ko导致的 image 装ipk装不上,但是单独加载hv_utils.ko文件就没问题,加载后hyper-v关机就正常了

你在lede目录里find下 find ./ -name hv_utils*

littoy avatar Jan 01 '23 03:01 littoy

从配置看是应该直接编译进内核的?不知道为什么默认没有加载

littoy avatar Jan 01 '23 03:01 littoy

看起来生成的build_dir/target-x86_64_musl/linux-x86_64/linux-5.15.85/.config 跟target/linux/x86/64/config-5.15 有的配置是对应不上的,比如CONFIG_HYPERV_UTILS=y 变成了 CONFIG_HYPERV_UTILS=m

littoy avatar Jan 01 '23 05:01 littoy

弄个kmod-hv_utils 试试

define KernelPackage/hv_utils
  SUBMENU:=$(NETWORK_DEVICES_MENU)
  TITLE:=Microsoft Hyper-V Utilities driver
  DEPENDS:=@PCIE_SUPPORT +kmod-ptp
  KCONFIG:=CONFIG_HYPERV_UTILS
  FILES:=$(LINUX_DIR)/drivers/hv/hv_utils.ko
  AUTOLOAD:=$(call AutoLoad,35,hv_utils,1)
endef

define KernelPackage/hv_utils/description
 Microsoft Hyper-V Utilities driver.
endef

$(eval $(call KernelPackage,hv_utils))

fishg avatar Jan 04 '23 14:01 fishg

@fishg 你好,请问这一段代码需要加在哪里?

malash avatar Feb 23 '23 16:02 malash

@fishg 你好,请问这一段代码需要加在哪里?

主线已经修复了,pull最新的代码编译直接就好了。

fishg avatar Feb 24 '23 09:02 fishg

@fishg 测试了一下,确实可以了,感谢~

malash avatar Feb 24 '23 10:02 malash