Skip to content

Conversation

@paulober
Copy link
Collaborator

@paulober paulober commented Oct 9, 2025

No description provided.

Signed-off-by: paulober <44974737+paulober@users.noreply.github.com>
@paulober paulober requested a review from will-v-pi October 9, 2025 15:33
@will-v-pi
Copy link
Collaborator

Can you add a Windows command for wget to the README - ie run winget install wget from powershell

@will-v-pi
Copy link
Collaborator

I got an error during the binary blob install - seems to be an initial network error, and then the error handling in Zephyr has broken Windows support

It would be good to handle this better, as I just got this error in the console, and no error popup in VS Code

console.ts:137 [Extension Host] [ERROR] [raspberry-pi-pico - setupZephyr] An error occurred executing a command: Command failed: "C:/Users/WilliamVinnicombe/.pico-sdk/zephyr_workspace/venv/Scripts/west.exe" blobs fetch hal_infineon
ERROR: An error occurred: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))
Traceback (most recent call last):
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 488, in _make_request
    raise new_e
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 1093, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connection.py", line 790, in connect
    sock_and_verified = _ssl_wrap_socket_and_match_hostname(
        sock=sock,
    ...<14 lines>...
        assert_fingerprint=self.assert_fingerprint,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connection.py", line 969, in _ssl_wrap_socket_and_match_hostname
    ssl_sock = ssl_wrap_socket(
        sock=sock,
    ...<8 lines>...
        tls_in_tls=tls_in_tls,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\ssl_.py", line 480, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\ssl_.py", line 524, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ssl.py", line 455, in wrap_socket
  File "ssl.py", line 1076, in _create
  File "ssl.py", line 1372, in do_handshake
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\adapters.py", line 644, in send
    resp = conn.urlopen(
        method=request.method,
    ...<9 lines>...
        chunked=chunked,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 841, in urlopen
    retries = retries.increment(
        method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
          ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen
    response = self._make_request(
        conn,
    ...<10 lines>...
        **response_kw,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 488, in _make_request
    raise new_e
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 464, in _make_request
    self._validate_conn(conn)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connectionpool.py", line 1093, in _validate_conn
    conn.connect()
    ~~~~~~~~~~~~^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connection.py", line 790, in connect
    sock_and_verified = _ssl_wrap_socket_and_match_hostname(
        sock=sock,
    ...<14 lines>...
        assert_fingerprint=self.assert_fingerprint,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\connection.py", line 969, in _ssl_wrap_socket_and_match_hostname
    ssl_sock = ssl_wrap_socket(
        sock=sock,
    ...<8 lines>...
        tls_in_tls=tls_in_tls,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\ssl_.py", line 480, in ssl_wrap_socket
    ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\urllib3\util\ssl_.py", line 524, in _ssl_wrap_socket_impl
    return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ssl.py", line 455, in wrap_socket
  File "ssl.py", line 1076, in _create
  File "ssl.py", line 1372, in do_handshake
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\zephyr-main\scripts/west_commands\fetchers\http.py", line 22, in fetch
    resp = requests.get(url)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\sessions.py", line 724, in send
    history = [resp for resp in gen]
                                ^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\sessions.py", line 265, in resolve_redirects
    resp = self.send(
        req,
    ...<6 lines>...
        **adapter_kwargs,
    )
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\requests\adapters.py", line 659, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Scripts\west.exe\__main__.py", line 6, in <module>
    sys.exit(main())
             ~~~~^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\west\app\main.py", line 1199, in main
    app.run(argv or sys.argv[1:])
    ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\west\app\main.py", line 278, in run
    self.run_command(argv, early_args)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\west\app\main.py", line 584, in run_command
    self.run_extension(args.command, argv)
    ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\west\app\main.py", line 739, in run_extension
    self.cmd.run(args, unknown, self.topdir, manifest=self.manifest,
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                 config=self.config)
                 ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\venv\Lib\site-packages\west\commands.py", line 200, in run
    self.do_run(args, unknown)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.extra-pico-sdk\.pico-sdk\zephyr_workspace\zephyr-main\scripts\west_commands\blobs.py", line 228, in do_run
    subcmd(args)
    ~~~~~~^^^^^^
  File "C:\Users\WilliamVinnicombe\.extra-pico-sdk\.pico-sdk\zephyr_workspace\zephyr-main\scripts\west_commands\blobs.py", line 203, in fetch
    self.fetch_blob(blob['url'], blob['abspath'])
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.extra-pico-sdk\.pico-sdk\zephyr_workspace\zephyr-main\scripts\west_commands\blobs.py", line 133, in fetch_blob
    inst.fetch(url, path)
    ~~~~~~~~~~^^^^^^^^^^^
  File "C:\Users\WilliamVinnicombe\.pico-sdk\zephyr_workspace\zephyr-main\scripts/west_commands\fetchers\http.py", line 29, in fetch
    sys.exit(os.EX_DATAERR)
             ^^^^^^^^^^^^^
AttributeError: module 'os' has no attribute 'EX_DATAERR'

@paulober
Copy link
Collaborator Author

Can you add a Windows command for wget to the README - ie run winget install wget from powershell

Tom and I decided to rather not include a wget install command because it would mean we recommend them installing this specific distribution which is not very trustworthy so we thought it might be better to include some hints like now but no specific command.

@will-v-pi
Copy link
Collaborator

Can you add a Windows command for wget to the README - ie run winget install wget from powershell

Tom and I decided to rather not include a wget install command because it would mean we recommend them installing this specific distribution which is not very trustworthy so we thought it might be better to include some hints like now but no specific command.

Ok, that makes sense - in which case I think we should remove the MacOS and Linux commands too, and just point to the section above, eg:

  • wget - Required for sdk-ng to download toolchains. See above for details.

Signed-off-by: paulober <44974737+paulober@users.noreply.github.com>
Signed-off-by: paulober <44974737+paulober@users.noreply.github.com>
@paulober paulober merged commit cec99da into main Oct 10, 2025
2 checks passed
@paulober paulober deleted the fix-zephyr-setup branch October 10, 2025 12:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants