FreeBSD 11.1 Windows 2012R2 Hyper-V GEN2 Guest kein /dev/psm0 ?

handwerker

Well-Known Member
Hi !

Ich habe probehalber mal FreeBSD 11.1 als GEN2 Hyper-V Guest unter Windows 2012R2 installiert
Code:
Copyright (c) 1992-2017 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
  The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 11.1-RELEASE #0 r321309: Fri Jul 21 02:08:28 UTC 2017
  root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
VT(efifb): resolution 1024x768
Hyper-V Version: 6.3.9600 [SP18]
  Features=0xe7f<VPRUNTIME,TMREFCNT,SYNIC,SYNTM,APIC,HYPERCALL,VPINDEX,REFTSC,IDLE,TMFREQ>
  PM Features=0x0 [C2]
  Features3=0x17b2<DEBUG,XMMHC,IDLE,NUMA,TMFREQ,SYNCMC,CRASH,NPIEP>
Timecounter "Hyper-V" frequency 10000000 Hz quality 2000
CPU: Intel(R) Xeon(R) CPU E5-2670 v3 @ 2.30GHz (2300.00-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x306f2  Family=0x6  Model=0x3f  Stepping=2
  Features=0xf83fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE,SSE2,SS>
  Features2=0xfed83203<SSE3,PCLMULQDQ,SSSE3,FMA,CX16,SSE4.1,SSE4.2,MOVBE,POPCNT,AESNI,XSAVE,OSXSAVE,AVX,F16C,RDRAND,HV>
  AMD Features=0x20100800<SYSCALL,NX,LM>
  AMD Features2=0x21<LAHF,ABM>
  Structured Extended Features=0x2328<BMI1,AVX2,BMI2,ERMS,NFPUSG>
  XSAVE Features=0x1<XSAVEOPT>
Hypervisor: Origin = "Microsoft Hv"
real memory  = 4294967296 (4096 MB)
avail memory = 4112171008 (3921 MB)
Event timer "LAPIC" quality 100
ACPI APIC Table: <VRTUAL MICROSFT>
random: unblocking device.
ioapic0 <Version 1.1> irqs 0-23 on motherboard
Timecounter "TSC-low" frequency 1149999313 Hz quality 800
taskqgroup_adjust failed cnt: 1 stride: 1 mp_ncpus: 1 smp_started: 0
taskqgroup_adjust failed cnt: 1 stride: 1 mp_ncpus: 1 smp_started: 0
Timecounter "Hyper-V-TSC" frequency 10000000 Hz quality 3000
random: entropy device external interface
kbd0 at kbdmux0
netmap: loaded module
module_register_init: MOD_LOAD (vesa, 0xffffffff80f5b220, 0) error 19
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
nexus0
cryptosoft0: <software crypto> on motherboard
acpi0: <VRTUAL MICROSFT> on motherboard
cpu0: <ACPI CPU> on acpi0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
acpi_syscontainer0: <System Container> on acpi0
vmbus0: <Hyper-V Vmbus> on acpi_syscontainer0
vmbus_res0: <Hyper-V Vmbus Resource> irq 5 on acpi0
Timecounters tick every 1.000 msec
usb_needs_explore_all: no devclass
nvme cam probe device init
vmbus0: version 3.0
hvet0: <Hyper-V event timer> on vmbus0
Event timer "Hyper-V" frequency 10000000 Hz quality 1000
hvkbd0: <Hyper-V KBD> on vmbus0
storvsc0: <Hyper-V SCSI> on vmbus0
hvheartbeat0: <Hyper-V Heartbeat> on vmbus0
hvkvp0: <Hyper-V KVP> on vmbus0
da0 at storvsc0 bus 0 scbus0 target 0 lun 0
da0: <Msft Virtual Disk 1.0> Fixed Direct Access SPC-3 SCSI device
da0: 300.000MB/s transfers
da0: Command Queueing enabled
da0: 40960MB (83886080 512 byte sectors)
hvshutdown0: <Hyper-V Shutdown> on vmbus0
hvtimesync0: <Hyper-V Timesync> on vmbus0
cd0 at storvsc0 bus 0 scbus0 target 0 lun 1
cd0: <Msft Virtual DVD-ROM 1.0> Removable CD-ROM SCSI device
cd0: 300.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed
hvvss0: <Hyper-V VSS> on vmbus0
hn0: <Hyper-V Network Interface> on vmbus0
hn0: Ethernet address: 00:15:5d:1a:1f:bf
hn0: link state changed to UP
Trying to mount root from ufs:/dev/da0p2 [rw]...
Gibt es da kein /dev/psm0 mehr ?
Im Kernel ist es drin.
 
Hallo @handwerker

vermutlich hast Du eine ps2-Maus, aber dennoch mal zur Vorsicht gefragt: Dein Device "hört" nicht zufällig eher auf /dev/ums0 und ist eine USB-Maus?
 
Da das ganze ja eine virtuelle Maschine ist, ist das Ganze eher davon abhängig was der Hypervisor als virtuelle Hardware zur Verfügung stellt.
Unter FreeBSD 11.0 als GEN1 Hyper-V Guest unter Windows 2012R2 wird die Mouse als "Microsoft IntelliMouse am PS2" Anschluß virtuell zur Verfügung gestellt.
So ist es auch in den Microsoft Spezifikationen der virtuellen Hardware dokumentiert und wird auch vom Kernel erkannt. (dmesg Auzug einer 11.0 GEN1 Maschine)
Code:
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse Explorer, device ID 4
Laut Microsoft hat sich die virtuelle Hardware zwischen Generation 1 und Generation 2 etwas verändert, grundsätzlich ist es aber immer noch ein PS2 Port mit einer Intellimouse dran.
https://technet.microsoft.com/en-us/library/dn282285(v=ws.11).aspx
Dieses "etwas" verändert, erfodert natürlich angepasste BIS (FreeBSD Integration Services) (siehe "apropos hv_" ) die diese Änderungen berücksichtigen.
Meine Vermutung: da fehlt noch die Anpassung an GEN2 bezüglich der "virtuellen Mouse.
Mit
Code:
kldstat -v |grep psm
sieht man das im 11.1 GENERIC Kernel der Treiber drin ist.

Vergleiche: FreeBSD 11.0 GEN1
Code:
kldstat -v |grep kbd
  419 atkbdc/psm
  418 acpi/atkbdc
  417 isa/atkbdc
  416 atkbdc/atkbd
  140 kbdmux
  298 uhub/ukbd
FreeBSD 11.1 GEN2
Code:
kldstat -v |grep kbd
  440 vmbus/hv_kbd
  424 atkbdc/psm
  423 acpi/atkbdc
  422 isa/atkbdc
  421 atkbdc/atkbd
  141 kbdmux
  301 uhub/ukbd
Vermutung: am hv_vmbus(4) Treiber passt noch was nicht...
 
Wenn die nächsten Tage noch etwas Zeit ist, werde ich 11.1 als GEN1 Maschine installieren und vergleichen.
Ebenso auch mal in Windows 10 Hyper-V, eine GEN1 und GEN2 Maschine und schauen, ob sich da ein Unterschied ergibt.
Als Quervergleich kann ich auch mal in ein CENTOS7 als GEN2 Maschine reinschauen und prüfen wie dort die virtuelle Mouse erkannt wird.
Dann kann man vielleicht genauer erkennen was das Problem ist.
 
Zurück
Oben