Skip to content

fix: now covers USB Mass Media + Bluetooth#18

Open
elcalzado wants to merge 1 commit into
mainfrom
wsl2/updated-features
Open

fix: now covers USB Mass Media + Bluetooth#18
elcalzado wants to merge 1 commit into
mainfrom
wsl2/updated-features

Conversation

@elcalzado

Copy link
Copy Markdown
Contributor

Ubuntu version also bumped to 26.04

Ubuntu version also bumped to 26.04
Comment thread Windows/wsl2.md
Comment on lines +304 to +359
Begin by downloading the two files whose names begin with `linux-msft-wsl-6.18.35.2-ic` in our release and
place them in `C:\Users\<your-username>\.wsl-kernel`.
- The contents of the folder should look like:
```
.wsl-kernel\
├── linux-msft-wsl-6.18.35.2-ic
└── linux-msft-wsl-6.18.35.2-ic.vhdx
```

- Next open `C:\Users\<your-username>\.wslconfig` and enter the following:
```ini
[wsl2]
kernel=C:\\Users\\<your-username>\\.wsl-kernel\\linux-msft-wsl-6.18.35.2-ic
kernelModules=C:\\Users\\<your-username>\\.wsl-kernel\\linux-msft-wsl-6.18.35.2-ic.vhdx
```

Then, to fix the firmware loading issue we need to mount the firmware somewhere the kernel can see it, and
tell it where it is.
- Install it if you haven't already:
```bash
sudo apt install linux-firmware
```

- Make it available automatically:
```bash
sudo nano /etc/systemd/system/mnt-wsl-firmware.mount
```
```ini
[Unit]
Description=Bind mount /lib/firmware to /mnt/wsl/firmware

[Mount]
What=/lib/firmware
Where=/mnt/wsl/firmware
Type=none
Options=bind

[Install]
WantedBy=multi-user.target
```
```bash
sudo systemctl daemon-reload && sudo systemctl enable --now mnt-wsl-firmware.mount
```

- Tell the kernel where to look for firmware:
```bash
sudo nano /etc/tmpfiles.d/firmware-path.conf
```
```
w /sys/module/firmware_class/parameters/path - - - - /mnt/wsl/firmware
```

- Apply it:
```bash
sudo systemd-tmpfiles --create /etc/tmpfiles.d/firmware-path.conf
```

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wooo, it's working!!!!!!!!!!!

bluetoothctl
Waiting to connect to bluetoothd...[bluetooth]# hci0 new_settings: powered bondable ssp br/edr le secure-conn cis-central cis-peripheral
[bluetooth]# Agent registered
[bluetooth]# [CHG] Controller 2C:98:11:3D:45:66 Pairable: yes
[bluetooth]# power on
[bluetooth]# Changing power on succeeded
[bluetooth]# scan on
[bluetooth]# SetDiscoveryFilter success
[bluetooth]# Discovery started
[bluetooth]# [CHG] Controller 2C:98:11:3D:45:66 Discovering: yes
[bluetooth]# [NEW] Device 20:0B:16:81:68:DA 20-0B-16-81-68-DA
[bluetooth]# [NEW] Device 57:40:37:2A:4E:A2 57-40-37-2A-4E-A2
[bluetooth]# [NEW] Device 4F:47:D6:27:84:72 4F-47-D6-27-84-72
[bluetooth]# [NEW] Device 6C:3D:9F:49:19:01 LE-Bose Flex SoundLink
[bluetooth]# [NEW] Device 6D:80:37:55:7A:17 6D-80-37-55-7A-17
[bluetooth]# [NEW] Device 10:E8:A7:F3:1F:E6 VZ5G_RECEIVER_051845
[bluetooth]# [NEW] Device 65:57:1E:86:10:57 65-57-1E-86-10-57
[bluetooth]# [NEW] Device 52:29:5E:A0:94:B4 52-29-5E-A0-94-B4
[bluetooth]# [NEW] Device 6B:BE:CD:EE:89:1D 6B-BE-CD-EE-89-1D
[bluetooth]# [NEW] Device 5C:A3:FD:DA:E6:72 5C-A3-FD-DA-E6-72
[bluetooth]# [NEW] Device 64:0C:6E:60:0E:11 64-0C-6E-60-0E-11
[bluetooth]# [NEW] Device 4A:31:5E:A4:3E:20 4A-31-5E-A4-3E-20
[bluetooth]# [NEW] Device 50:79:98:62:A8:50 50-79-98-62-A8-50
[bluetooth]# [NEW] Device 6D:E8:75:D7:05:74 6D-E8-75-D7-05-74
[bluetooth]# [NEW] Device 7F:9F:20:E2:C2:B0 7F-9F-20-E2-C2-B0
[bluetooth]# [NEW] Device B4:17:A8:2E:23:EA Quest 2
[bluetooth]# [NEW] Device 28:CF:51:50:B2:05 Pokemon GO Plus +
[bluetooth]# [NEW] Device 7F:D0:D2:A1:7A:0E 7F-D0-D2-A1-7A-0E
[bluetooth]# [NEW] Device 5F:F9:F3:07:C9:F7 5F-F9-F3-07-C9-F7
[bluetooth]# [NEW] Device 70:CF:F0:58:8C:68 70-CF-F0-58-8C-68
[bluetooth]# [NEW] Device 77:6C:AF:B7:32:E7 77-6C-AF-B7-32-E7
[bluetooth]# [NEW] Device D2:21:C1:86:56:4B GVH5104_564B
[bluetooth]# [NEW] Device 58:20:36:48:F1:23 58-20-36-48-F1-23
[bluetooth]#
[bluetooth]# [NEW] Device B8:BC:5B:F3:6D:13 B8-BC-5B-F3-6D-13
[bluetooth]# [NEW] Device 0A:4F:C1:86:B3:28 0A-4F-C1-86-B3-28
[bluetooth]# [NEW] Device 74:0A:C2:35:64:95 74-0A-C2-35-64-95
[bluetooth]# [NEW] Device 4B:B8:42:5E:7D:42 4B-B8-42-5E-7D-42
[bluetooth]# [NEW] Device 70:27:18:CD:46:26 70-27-18-CD-46-26
[bluetooth]# [NEW] Device 69:9E:99:6C:AE:BB 69-9E-99-6C-AE-BB
[bluetooth]# [NEW] Device 53:05:50:85:10:4C 53-05-50-85-10-4C
[bluetooth]# [NEW] Device 52:46:59:F5:5B:BB 52-46-59-F5-5B-BB
[bluetooth]# [NEW] Device 46:E5:E3:AD:87:2F 46-E5-E3-AD-87-2F
[bluetooth]# [NEW] Device 6E:36:F8:49:F4:1A 6E-36-F8-49-F4-1A
[bluetooth]# [NEW] Device 60:EB:12:0C:0F:B9 60-EB-12-0C-0F-B9
[bluetooth]# [NEW] Device 55:78:59:BD:C5:74 55-78-59-BD-C5-74

@JPHutchins JPHutchins left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be running our kernel + config all day today and report back.

@JPHutchins
JPHutchins self-requested a review July 24, 2026 17:20
@JPHutchins

JPHutchins commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

BLE on WSL2 🥹

smpmgr --timeout=30 --ble "product" os echo hello
⠦ Connecting to product... OK
⠙ Waiting for response to EchoWrite... OK
EchoWriteResponse(
    header=Header(
        op=<OP.WRITE_RSP: 3>,
        version=<Version.V2: 1>,
        flags=<Flag.UNUSED: 0>,
        length=10,
        group_id=0,
        sequence=1,
        command_id=0
    ),
    version=<Version.V2: 1>,
    sequence=1,
    smp_data=b'\x0b\x00\x00\n\x00\x00\x01\x00\xbfarehello\xff',
    r='hello'
)

@JPHutchins JPHutchins left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add a section -- or maybe just an aside -- with info about wsl --update https://linear.app/intercreate/issue/OPEN-2/investigate-and-document-usage-of-wsl-update

Tip level aside makes sense to me.

Tip

How to use wsl --update

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.

2 participants