New Skyconnect not working in Proxmox

Hello,

I got my Skyconnect today. Plugged it in and did usb passthrough. Nothing is discovered. The device shows up in the Hardware section as the following:
ID:/dev/serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_d4e68fb24cb7ed11b851a05938a92db5-if00-port0

Any idea what I need to do to get this thing to show up?

Do you have any ZHA Integrations in the UI->System->Integration under “Discovery”?

No, nothing under discovered or configured.

I just realized that in my case HassOS sees the SkyConnect serial/by-id as:
usb-Nabu_Casa_SkyConnect_v1.0_xxxxx-if00-port0

Double-check your pass-through setup…is it possible you passed through a different USB Stick?

I have the same issue. I’m running HAOS in a proxmox VM. On the host, lsusb identifies the Skyconnect as:

Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge

I’ve confirmed this is the right device by adding it, running lsusb, removing it, running lsusb. This exact device appears only when the Skyconnect is inserted.

In Proxmox I’ve passed the device through to HA as the USB port 1-2. “qm info usbhost” on the host confirms the passthrough:

Bus 1, Addr 3, Port 2, Speed 12 Mb/s
Class 00: USB device 10c4:ea60, CP2102N USB to UART Bridge Controller

In HA ssh, a “hwinfo --usb” shows that the device is visible within the HA VM (see full output below). I’ve rebooted the host, restarted the VM, and restarted HA from HA settings. In HA, Setting → Devices & Services, nothing appears as autodetected.

06: USB 00.0: 0700 Serial controller
[Created at usb.122]
Unique ID: hSuP.w2BVIVorzhC
Parent ID: pBe4.vdCZPKOMPm1
SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:01:1b.0/usb2/2-2/2-2:1.0
SysFS BuslD: 2-2:1.0
Hardware Class: unknown
Model: “Silicon CP210x UART Bridge”
Hotplug: USB
Vendor: usb 0x10c4 “Silicon Labs”
Device: usb 0xea60 “CP210x UART Bridge”
Revision: “1.00”
Serial ID: “fc6ee3db15b7ed11ac54955938a92db5”
Driver: “cp210x”
Driver Modules: “cp210x”
Device File: /dev/ttyUSB0
Speed: 12 Mbps
Module Alias: “usb:v10C4pEA60d0100dc00dsc00dp00icFFisc00ip00in00”
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #9 (Hub)

nope I am sure it is the correct one. It’s the only USB device connected and when I remove it I no longer see it in the list. Could it be they are sending out devices flashed incorrectly??

Goto UI->System->Hardware, click on All Hardware. You should see a ttyUSBx for your SkyConnect and you should see attributes like:

.....
ID_BUS: usb
ID_MODEL: SkyConnect_v1.0
ID_MODEL_ENC: SkyConnect\x20v1.0
ID_MODEL_ID: ea60
ID_PATH: pci-0000:00:05.2-usb-0:1:1.0
ID_PATH_TAG: pci-0000_00_05_2-usb-0_1_1_0
ID_REVISION: '0100'
ID_SERIAL: Nabu_Casa_SkyConnect_v1.0_2eba2b499514ed88a6d5b99be054580b
ID_SERIAL_SHORT: 2eba2b499514ed88a6d5b99be054580b
ID_TYPE: generic
ID_USB_DRIVER: cp210x
......

Do you see “Nabu Casa” or SkyConnect" anywhere in the list?
If not then, I don’t know… I don’t use Proxmox (but use libvirt/virt-manager).
My wild guess would be that Proxmox is perhaps passing the device as a “serial” device instead of a USB device, but is presenting it to the Guest as a serial USB device with its own USB attributes, thus any attributes that HA may use to indicate its a SkyConnect USB device is lost.

I am having this same issue. My SkyConnect was purchased from ameriDroid and was part of the 8th Batch (Mid November).

The one I purchases previously (February 2023) for another installation showed up as Nabu_Casa_SkyConnect_…. I thought it was strange it was identifying as usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_ba9bdf3453b7ed11885b955938a92db5-if00-port0.

Tried on my existing system, a new VM, and on a newly flashed RPi

None of them auto discover the ZHA integration but the device appears as an option if you manually setting up the ZHA integration but will not be recognized for the MultiProtocol. Doesn’t show in the hardware section to configure the multiprotocol.

The Silicon Labs Multiprotocol fails to start with an error that it cannot determine the firmware.

[16:22:35] INFO: The otbr-web is disabled.
s6-rc: info: service mdns: starting
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service mdns successfully started
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/check-cpcd-shm.sh
[16:22:36] INFO: Starting mDNS Responder...
Default: mDNSResponder (Engineering Build) (Aug 23 2023 18:31:24) starting
cont-init: info: /etc/cont-init.d/check-cpcd-shm.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service banner: starting

-----------------------------------------------------------
 Add-on: Silicon Labs Multiprotocol
 Zigbee and OpenThread multiprotocol add-on
-----------------------------------------------------------
 Add-on version: 2.3.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1  (aarch64 / raspberrypi3-64)
 Home Assistant Core: 2023.11.2
 Home Assistant Supervisor: 2023.11.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[16:22:44] INFO: Checking /dev/ttyUSB0 identifying CP2102N USB to UART Bridge Controller from Silicon Labs.
[16:22:44] WARNING: No firmware found for the selected device, assuming firmware is installed.
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service cpcd-config: starting
[16:22:49] INFO: Generating cpcd configuration.
s6-rc: info: service cpcd-config successfully started
s6-rc: info: service cpcd: starting
[16:22:52] INFO: Starting cpcd...
WARNING in function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
[16:22:52:114121] Info : [CPCd v4.3.1.0] [Library API v3] [RCP Protocol v4]
[16:22:52:114664] Info : Git commit: 133b29678b3d0bc7578e098d2f46b4d5bcd2ebb4 / branch: 
[16:22:52:114672] Info : Sources hash: ff8300587e7e4ab1def7a89a272c0baef32f9eb3bff9b0ba06b94e655d652367
[16:22:52:114718] WARNING : In function 'main' in file /usr/src/cpc-daemon/main.c at line #186 : Running CPCd as 'root' is not recommended. Proceed at your own risk.
[16:22:52:114803] Info : Reading cli arguments
[16:22:52:114822] Info : /usr/local/bin/cpcd 
[16:22:52:118961] Info : Reading configuration
[16:22:52:118993] Info :   file_path = /usr/local/etc/cpcd.conf
[16:22:52:118999] Info :   instance_name = cpcd_0
[16:22:52:119003] Info :   socket_folder = /dev/shm
[16:22:52:119009] Info :   operation_mode = MODE_NORMAL
[16:22:52:119013] Info :   use_encryption = false
[16:22:52:119018] Info :   binding_key_file = /etc/binding-key.key
[16:22:52:119023] Info :   stdout_tracing = false
[16:22:52:119028] Info :   file_tracing = false
[16:22:52:119032] Info :   lttng_tracing = false
[16:22:52:119036] Info :   enable_frame_trace = false
[16:22:52:119041] Info :   traces_folder = /dev/shm/cpcd-traces
[16:22:52:119046] Info :   bus = UART
[16:22:52:119050] Info :   uart_baudrate = 115200
[16:22:52:119055] Info :   uart_hardflow = true
[16:22:52:119060] Info :   uart_file = /dev/ttyUSB0
[16:22:52:119065] Info :   fu_recovery_pins_enabled = false
[16:22:52:119070] Info :   fu_connect_to_bootloader = false
[16:22:52:119075] Info :   fu_enter_bootloader = false
[16:22:52:119079] Info :   restart_cpcd = false
[16:22:52:119084] Info :   application_version_validation = false
[16:22:52:119089] Info :   print_secondary_versions_and_exit = false
[16:22:52:119093] Info :   use_noop_keep_alive = false
[16:22:52:119098] Info :   reset_sequence = true
[16:22:52:119103] Info :   stats_interval = 0
[16:22:52:119107] Info :   rlimit_nofile = 2000
[16:22:52:119112] Info : ENCRYPTION IS DISABLED 
[16:22:52:119117] Info : Starting daemon in normal mode
[16:22:52:138249] Info : Connecting to Secondary...
[16:22:54:139038] Info : Failed to connect, secondary seems unresponsive
[16:22:54:139102] Info : Connecting to Secondary...
[16:22:56:139580] Info : Failed to connect, secondary seems unresponsive
[16:22:56:139639] Info : Connecting to Secondary...
[16:22:58:140055] Info : Failed to connect, secondary seems unresponsive
[16:22:58:140110] Info : Connecting to Secondary...
[16:23:00:140574] Info : Failed to connect, secondary seems unresponsive
[16:23:00:140630] Info : Connecting to Secondary...

The Silicon Labs flasher, with verbose turned on

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service banner: starting

-----------------------------------------------------------
 Add-on: Silicon Labs Flasher
 Silicon Labs firmware flasher add-on
-----------------------------------------------------------
 Add-on version: 0.2.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 11.1  (aarch64 / raspberrypi3-64)
 Home Assistant Core: 2023.11.2
 Home Assistant Supervisor: 2023.11.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
s6-rc: info: service banner successfully started
s6-rc: info: service universal-silabs-flasher: starting
[16:18:55] INFO: Checking /dev/ttyUSB0 identifying CP2102N USB to UART Bridge Controller from Silicon Labs.
[16:18:55] WARNING: No firmware found for the selected device, assuming firmware is installed.
[16:18:55] INFO: universal-silabs-flasher-up script exited with code 0
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service universal-silabs-flasher: stopping
s6-rc: info: service universal-silabs-flasher successfully stopped
s6-rc: info: service banner: stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped

Tried flashing it manually

âžś  RCPMultiPAN git:(main) universal-silabs-flasher --device /dev/ttyUSB0 \                                                                                   
    flash --allow-cross-flashing --firmware NabuCasa_SkyConnect_RCP_v4.1.4_rcp-uart-hw-802154_115200.gbl                                                     
2023-11-21 16:29:48 a0d7b954-ssh universal_silabs_flasher.flash[748] INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=1, sdk_version='4.1.4', e
zsp_version=None, ot_rcp_version=None, fw_type=<FirmwareImageType.RCP_UART_802154: 'rcp-uart-802154'>, baudrate=None)                                        
2023-11-21 16:29:48 a0d7b954-ssh universal_silabs_flasher.flasher[748] INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud                          
2023-11-21 16:29:50 a0d7b954-ssh universal_silabs_flasher.flasher[748] INFO Probing ApplicationType.CPC at 460800 baud
2023-11-21 16:29:54 a0d7b954-ssh universal_silabs_flasher.flasher[748] INFO Probing ApplicationType.CPC at 115200 baud
2023-11-21 16:29:58 a0d7b954-ssh universal_silabs_flasher.flasher[748] INFO Probing ApplicationType.CPC at 230400 baud
2023-11-21 16:30:03 a0d7b954-ssh universal_silabs_flasher.flasher[748] INFO Probing ApplicationType.EZSP at 115200 baud
Traceback (most recent call last):
  File "/usr/bin/universal-silabs-flasher", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/universal_silabs_flasher/flash.py", line 36, in inner
    return asyncio.run(f(*args, **kwargs))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/universal_silabs_flasher/flash.py", line 322, in flash
    await flasher.probe_app_type(
  File "/usr/lib/python3.11/site-packages/universal_silabs_flasher/flasher.py", line 229, in probe_app_type
    result = await probe_funcs[probe_method](baudrate=baudrate)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/universal_silabs_flasher/flasher.py", line 166, in probe_ezsp
    async with self._connect_ezsp(baudrate) as ezsp:
  File "/usr/lib/python3.11/contextlib.py", line 204, in __aenter__
    return await anext(self.gen)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/universal_silabs_flasher/emberznet.py", line 18, in connect_ezsp
    config.CONF_DEVICE_BAUDRATE: baudrate,
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'bellows.config' has no attribute 'CONF_DEVICE_BAUDRATE'. Did you mean: 'CONF_DEVICE_PATH'?

With the SkyConnect plugged in to your host without passthrough to the VM, try:
udevadm info /dev/ttyUSB0 (or what ever USBx its using).

Do you see any attributes with Nabu Casa or SkyConnect?

Thanks for following up!

This Skyconnect mounts to /dev/ttyUSB0 (the zwave and conbee mount at /dev/ttyACM0 and /dev/ttyACM1 respectively). Running the command directly in the host and in the Hass VM it returns

root@proxmox:~# udevadm info /dev/ttyUSB0
P: /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB0/tty/ttyUSB0
M: ttyUSB0
R: 0
U: tty
D: c 188:0
N: ttyUSB0
L: 0
S: serial/by-id/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_ba9bdf3453b7ed11885b955938a92db5-if00-por>
S: serial/by-path/pci-0000:00:14.0-usb-0:3:1.0-port0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/ttyUSB0/tty/ttyUSB0
E: DEVNAME=/dev/ttyUSB0
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=67194713810
E: ID_BUS=usb
E: ID_MODEL=CP2102N_USB_to_UART_Bridge_Controller
E: ID_MODEL_ENC=CP2102N\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_MODEL_ID=ea60
E: ID_SERIAL=Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_ba9bdf3453b7ed11885b955938a92db5
E: ID_SERIAL_SHORT=ba9bdf3453b7ed11885b955938a92db5
E: ID_VENDOR=Silicon_Labs
E: ID_VENDOR_ENC=Silicon\x20Labs
E: ID_VENDOR_ID=10c4
E: ID_REVISION=0100
E: ID_TYPE=generic
E: ID_USB_MODEL=CP2102N_USB_to_UART_Bridge_Controller
E: ID_USB_MODEL_ENC=CP2102N\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_USB_MODEL_ID=ea60
E: ID_USB_SERIAL=Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller_ba9bdf3453b7ed11885b955938a92db5
E: ID_USB_SERIAL_SHORT=ba9bdf3453b7ed11885b955938a92db5
E: ID_USB_VENDOR=Silicon_Labs
E: ID_USB_VENDOR_ENC=Silicon\x20Labs
E: ID_USB_VENDOR_ID=10c4
E: ID_USB_REVISION=0100
E: ID_USB_TYPE=generic
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=cp210x
E: ID_VENDOR_FROM_DATABASE=Silicon Labs
E: ID_MODEL_FROM_DATABASE=CP210x UART Bridge

No mention of Nadu Case or Skyconnect

The one I purchased in February installed at another location show it everywhere in the description.

DEVNAME: /dev/ttyUSB0
DEVPATH: /devices/pci0000:00/0000:00:18.0/usb3/3-1/3-1:1.0/ttyUSB0/tty/ttyUSB0
ID_BUS: usb
ID_MODEL: SkyConnect_v1.0
ID_MODEL_ENC: SkyConnect\x20v1.0
ID_MODEL_ID: ea60
ID_PATH: pci-0000:00:18.0-usb-0:1:1.0
ID_PATH_TAG: pci-0000_00_18_0-usb-0_1_1_0
ID_REVISION: '0100'
ID_SERIAL: Nabu_Casa_SkyConnect_v1.0_8cf2c21c678dec11b2676ce883c5466d
ID_SERIAL_SHORT: 8cf2c21c678dec11b2676ce883c5466d
ID_TYPE: generic
ID_USB_DRIVER: cp210x
ID_USB_INTERFACES: ':ff0000:'
ID_USB_INTERFACE_NUM: '00'
ID_USB_MODEL: SkyConnect_v1.0
ID_USB_MODEL_ENC: SkyConnect\x20v1.0
ID_USB_MODEL_ID: ea60
ID_USB_REVISION: '0100'
ID_USB_SERIAL: Nabu_Casa_SkyConnect_v1.0_8cf2c21c678dec11b2676ce883c5466d
ID_USB_SERIAL_SHORT: 8cf2c21c678dec11b2676ce883c5466d
ID_USB_TYPE: generic
ID_USB_VENDOR: Nabu_Casa
ID_USB_VENDOR_ENC: Nabu\x20Casa
ID_USB_VENDOR_ID: 10c4
ID_VENDOR: Nabu_Casa
ID_VENDOR_ENC: Nabu\x20Casa
ID_VENDOR_ID: 10c4
MAJOR: '188'
MINOR: '0'
SUBSYSTEM: tty
TAGS: ':systemd:'
USEC_INITIALIZED: '7072272'

Looks like there is a batch that didn’t get the correct ID info flashed to the usb chip. I"ve seen a similar post elsewhere.

It may not auto-detect, but probably still works if you manually configure ZHA.

That explains a lot…I would raise the issue with AmeriDroid and see what they say.

Incorrect IDs is likely what keeps SiLabs Multiprotocol Add-on from recognizing and reflashing the device.

In the manual attempt to reflash, it seems the error is due to bellows.config and not so much the IDs. If its possible to fix this, then maybe there is hope.

BTW, I came across an article someone posted on Discord. Its about another way to manually flash firmware for use with Multiprotocol Add-On. The article is about flashing a Sonoff Dongle-E, but says it also works for SkyConnect.

I also had one of the bad Nov batch devices. The box was labeled “S/N 242303”; apparently some other devices with a similar serial number were affected. Nabu Casa support told me how to assign the correct device name. After running the steps below, the device is auto-recognized by HA.

  1. Install Advanced SSH add-on, disable Protected mode in the add-on settings.
  2. Connect to SSH terminal and run:
# Enter the OS container (make sure "Protection mode" is disabled in the addon)
docker exec -it homeassistant /bin/bash

# Build `cp2102x-cfg`
apk add alpine-sdk libusb-dev
git clone https://github.com/irrwisch1/cp210x-cfg
cd cp210x-cfg
make

# This command should list only a single device
./cp210x-cfg -l

# Finally, program it.
./cp210x-cfg -N 'SkyConnect v1.0' -C 'Nabu Casa'

# Unplug the SkyConnect and plug it back in. You should see a SkyConnect entry here when using the below command
ls -l /dev/serial/by-id/
6 Likes

These instructions dont seem to change anything for me.
I tried on both HAOS and directly on my Proxmox host.
When I unplug and plug it back in the name seems to remain the same.

Update:
nevermind! After doing it like 10 times it finally stuck.

I thought it won’t work for me. But after I saw your comment, I also tried 10 times. After this magic number it started fully working again, thanks I guess :smiley:

1 Like

All good now, Thx a lot for this solution!

So, I’m new to the HA arena. Do I paste this whole code into SSH, or are there changes I need to make to the code?

I bought a SkyConnect stick a few months ago, I tried the solution above but it doesn’t work.

I’m using Home Assistant in a VM, Windows 11 being the host, and everytime I retsart the PC, the stick shows as “Crystal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light” under the VM USB settings.
(I don’t know what “myAVR mySmartUSB light” is, I’m not sure it was there before, I just noticed it. Perhaps it appeared after I did the steps mentioned a few posts above… I don’t know…)

I have to delete the device from the USB settings, physically remove the stick from the USB port, plug it back in, then add it back in the settings. Only then it will show as “NabuCasa SkyConnect v1.0”. Otherwise, ZigBee doesn’t work. It’s REALLY annoying to have to do that everytime.

S/N on the box is 242303, if that matters.

Should I contact Nabu Casa and ask for a replacement?

What VM software ? The Skyconnect is not faulty, Windows 11 is just not a good platform to run HA on.