Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Device Manager Not Working on Windows Arm64 #6

Open
ofoacimr opened this issue Feb 23, 2024 · 9 comments
Open

Device Manager Not Working on Windows Arm64 #6

ofoacimr opened this issue Feb 23, 2024 · 9 comments
Labels
bug Something isn't working

Comments

@ofoacimr
Copy link

Type: Bug Report

Describe the bug

  • OS and Version: Windows 11 Pro (ARM64), 23H2, Build 22635.3209; Running on ThinkPad X13s Gen 1, Snapdragon 8cx Gen 3
  • VS Code Version: 1.86.2, arm64 version
  • Extension Version: v1.10.0
  • Target Device: DAPLink, HDSC HC32F030
  • Other extensions you installed: Arm Keil Studio Pack v1.13.0 (pre-release), arm64 version
  • Error running command device-manager.####: command 'device-manager.####' not found. This is likely caused by the extension that contributes device-manager.####.

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'Activity Bar' in VS Code
  2. Click on 'Device Manager'
  3. Click the Button 'Refresh Devices'
  4. See error
Error running command device-manager.refresh: command 'device-manager.refresh' not found. This is likely caused by the extension that contributes device-manager.refresh.
  1. Go to 'Activity Bar' in VS Code
  2. Click on 'Device Manager'
  3. Click the Button 'Add Device' (the one besides the refresh button, not the blue one)
  4. See error
Error running command device-manager.addDevice: command 'device-manager.addDevice' not found. This is likely caused by the extension that contributes device-manager.addDevice.
  1. Go to 'Activity Bar' in VS Code
  2. Click on 'Device Manager'
  3. Click the Button 'Add Device' (the blue one, not the one besides the refresh button)
  4. No response

Expected behavior

  1. Go to 'Activity Bar' in VS Code
  2. Click on 'Device Manager'
  3. Click the Button 'Add Device'
  4. The Command Palette appears, showing what's connected to choose from.

Code sample and logs

  • Code sample: nothing, the bug persists without any code.
  • log: nothing, the extension doesn't work at all, so it does not show in 'OUTPUT' panel for logging.

Screenshots

image_2024-02-23_22-21-28

Additional context

  1. I carefully compared this extension on Windows arm64 & x64 platform, and it is the same on every line of code.
  2. It works perfectly on Windows 11 x64.
  3. Disabling other extensions doesn't help.
  4. As this extension does not work, I cannot further test whether other Arm Keil Studio extensions are working as expected.
@ofoacimr ofoacimr added the bug Something isn't working label Feb 23, 2024
@ofoacimr
Copy link
Author

Additional information:

Under %USERPROFILE%\.vscode\extensions\arm.device-manager-1.10.0\node_modules\usb\prebuilds\, there's only win32-ia32 and win32-x64, no arm64 binary for Windows.

@thegecko
Copy link
Contributor

Thanks for your feedback @ofoacimr

You are right, there isn't a prebuilt binary for node-usb, so I've added one:

node-usb/node-usb#735

Unfortunately I don't have access to a windows Arm machine to test this works, would you be able to?

You can grab the binary from the win32-arm64.zip artefact from the build here:

https://github.com/node-usb/node-usb/actions/runs/8026472128

@ofoacimr
Copy link
Author

Thanks for your support @thegecko

I found the log, and there're several issues to solve.

This is the startup log with original extensions. → VS Code Startup.log

It reports two errors:

  1. [error] spawn %USERPROFILE%\.vscode\extensions\arm.keil-studio-pack-1.13.0-win32-arm64\tools\armlm\bin\armlm.exe ENOENT
    This is caused by the lack of file extension .exe for armlm, I think it should be reported to ARM-software/vscode-keil-studio-pack. 🤣🤣🤣

  2. [error] Activating extension 'Arm.device-manager' failed: No native build was found for platform=win32 arch=arm64 runtime=electron abi=118 uv=1 armv=8 libc=glibc node=18.17.1 electron=27.2.3
    loaded from: %USERPROFILE%\.vscode\extensions\arm.device-manager-1.10.0\node_modules\@serialport\bindings-cpp
    So, this comes to serialport/bindings-cpp, it lacks Win32-arm64 prebuilt binary.

As the startup process stopped without loading node-usb, adding the binary you built won't change the log. → VS Code Startup with arm64 USB.log

Finally, renaming that armlm to armlm.exe could simply solve the first error. → VS Code Startup with arm64 USB & armlm.exe.log

@thegecko
Copy link
Contributor

Thanks for your continued feedabck @ofoacimr

[error] spawn %USERPROFILE%.vscode\extensions\arm.keil-studio-pack-1.13.0-win32-arm64\tools\armlm\bin\armlm.exe ENOENT
This is caused by the lack of file extension .exe for armlm, I think it should be reported to ARM-software/vscode-keil-studio-pack. 🤣🤣🤣

Yes, this is indeed a problem in the pack. @mcgordonite @federicobozzini could you investigate?

[error] Activating extension 'Arm.device-manager' failed: No native build was found for platform=win32 arch=arm64 runtime=electron abi=118 uv=1 armv=8 libc=glibc node=18.17.1 electron=27.2.3
loaded from: %USERPROFILE%.vscode\extensions\arm.device-manager-1.10.0\node_modules@serialport\bindings-cpp
So, this comes to serialport/bindings-cpp, it lacks Win32-arm64 prebuilt binary.

PR here: serialport/bindings-cpp#167

Interim binary can be found on this run: https://github.com/thegecko/bindings-cpp/actions/runs/8031265251

@ofoacimr
Copy link
Author

Thanks a lot! @thegecko

The Device Manager now works properly.

image

However, some other extensions in Arm Keil Studio Pack do not function well under Windows Arm64, and I will report under corresponding Repository.

Thank you again for your fast and professional support!

@federicobozzini
Copy link

Thanks for your continued feedabck @ofoacimr

[error] spawn %USERPROFILE%.vscode\extensions\arm.keil-studio-pack-1.13.0-win32-arm64\tools\armlm\bin\armlm.exe ENOENT
This is caused by the lack of file extension .exe for armlm, I think it should be reported to ARM-software/vscode-keil-studio-pack. 🤣🤣🤣

Yes, this is indeed a problem in the pack. @mcgordonite @federicobozzini could you investigate?

I think the problem comes from the fact that when the pack was created the armlm binary was not available for Windows on the arm64 architecture. I'll check with the licensing team to see if it's till the case.

@thegecko
Copy link
Contributor

thegecko commented Jul 6, 2024

Can we close this issue @federicobozzini ?

@federicobozzini
Copy link

Can we close this issue @federicobozzini ?

Unfortunately not. As of the latest version of armlm (1.31.1) there is still not version for Windows on the arm64 architecture.

@thegecko
Copy link
Contributor

Unfortunately not. As of the latest version of armlm (1.31.1) there is still not version for Windows on the arm64 architecture.

The new error is with the environment manager extension, can this issue be moved there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants