Jolla Phone (2026) + Windows 11: Has anyone successfully used USB Developer Mode (RNDIS)?

Hi everyone,

I’m trying to connect my Jolla Phone (2026) running Sailfish OS to Windows 11 25H2 using Developer Mode over USB, and I’d like to know whether anyone has successfully done this.

My setup

  • Device: Jolla Phone (2026)

  • OS: Sailfish OS (Developer Mode enabled)

  • Host: Windows 11 Pro 25H2 x64

Initial problem

When connecting the phone over USB, Windows detected the device as:

USB\VID_0E8D&PID_0A02&MI_00

but reported:

  • Code 28

  • No driver installed

  • RNDIS device not recognized

The built-in netrndis.inf did not contain this Hardware ID, so Windows refused to install the Microsoft RNDIS driver automatically.

Current status

After creating a custom INF that binds the Hardware ID to the built-in Microsoft RNDIS driver:

  • Windows now detects the device as Jolla Phone 2026 USB RNDIS6 Adapter

  • The USB network adapter is created successfully

  • The USB link is up

On the phone:

  • usb0 exists

  • ss -ltn shows SSH listening on *:22

The remaining issue turned out to be a network configuration conflict (USB subnet vs Wi-Fi subnet), which I’m still investigating.

Questions

  1. Has anyone successfully connected a Jolla Phone (2026) to Windows 11 over USB in Developer Mode?

  2. Did Windows install the RNDIS driver automatically, or did you have to install a custom/OEM INF?

  3. Which USB mode does the 2026 phone expose?

    • RNDIS

    • CDC ECM

    • NCM

    • something else?

  4. What IP address and subnet does your phone use on usb0?

  5. Is there any official Windows driver package for the Jolla Phone (2026), or is Microsoft RNDIS expected to work out of the box?

If anyone has this working, I’d really appreciate it if you could share:

  • your Windows version,

  • your Sailfish OS version,

  • whether the driver was installed automatically,

  • the output of ip addr show usb0,

  • and any additional configuration that was required.

Thanks!

; jolla-phone-2026-rndis-v5.inf
;
; Jolla Phone 2026 USB RNDIS6 Adapter INF for Windows 11 25H2 x64
;
; Hardware ID:
; USB\VID_0E8D&PID_0A02&MI_00
;
; v5: no CopyFiles / no SourceDisksFiles.
; It directly references the already installed Microsoft in-box driver:
; %SystemRoot%\System32\drivers\usb80236.sys
;

[Version]
Signature = “$Windows NT$”
Class = Net
ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider = %ProviderName%
DriverVer = 07/09/2026,1.0.5.0
PnpLockdown = 1

[ControlFlags]
ExcludeFromSelect = *

[Manufacturer]
%ManufacturerName% = Jolla,NTamd64

[Jolla.NTamd64]
%JollaPhone2026.DeviceDesc% = JollaPhone2026_RNDIS6.ndi, USB\VID_0E8D&PID_0A02&MI_00
%JollaPhone2026.DeviceDesc% = JollaPhone2026_RNDIS6.ndi, USB\VID_0E8D&PID_0A02&REV_0223&MI_00

[JollaPhone2026_RNDIS6.ndi]
Characteristics = 0x84
AddReg = usbrndis5to6Revert.Reg, usbrndis6.Reg, usbrndis6_AddReg_Common

[JollaPhone2026_RNDIS6.ndi.Services]
AddService = usbrndis6, 2, usbrndis6.Service, usbrndis6.EventLog

[usbrndis5to6Revert.Reg]
HKR, , Rndis5to6Conversion, 0x00000004

[usbrndis6.Reg]
HKR, , BusNumber, 0, “0”
HKR, Ndi, Service, 0, “usbrndis6”
HKR, Ndi\Interfaces, UpperRange, 0x00000002, “ndis5”
HKR, Ndi\Interfaces, LowerRange, 0x00000002, “ethernet”

[usbrndis6_AddReg_Common]
HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
HKR, NDI\params\NetworkAddress, type, 0, “edit”
HKR, NDI\params\NetworkAddress, LimitText, 0, “12”
HKR, NDI\params\NetworkAddress, UpperCase, 0, “1”
HKR, NDI\params\NetworkAddress, default, 0, " "
HKR, NDI\params\NetworkAddress, optional, 0, “1”

[usbrndis6.Service]
DisplayName = %usbrndis6.Service.DispName%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\usb80236.sys
LoadOrderGroup = NDIS

[usbrndis6.EventLog]
AddReg = usbrndis6.AddEventLog.Reg

[usbrndis6.AddEventLog.Reg]
HKR, , EventMessageFile, 0x00020000, “%%SystemRoot%%\System32\netevent.dll”
HKR, , TypesSupported, 0x00010001, 7

[Strings]
ProviderName = “Local INF”
ManufacturerName = “Jolla”
JollaPhone2026.DeviceDesc = “Jolla Phone 2026 USB RNDIS6 Adapter”
usbrndis6.Service.DispName = “USB RNDIS6 Adapter”
NetworkAddress = “Network Address”

5 Likes

Kind of a gentle bump to this message now that more people have new Jolla phones. I just came across with this exact same issue and while trying to figure out what’s the deal, I found out this post.

My Windows setup is also the same, Windows 11 Pro 25h2 x64.

1 Like

I have tried it does no work honestly there must be some other way to fix things without stupid telnet I mean my 2026 phone in current state cannot be used does not connect network and If I reboot it gets stuck security code loop!

Can’t you start the sshd in the recovery mode? And what is wrong with telnet?

I managed to fix issue after I calmed down with just Factory Reset :grinning_face_with_smiling_eyes:

1 Like

Hello, I have found a solution, but it’s a bit complicated

You will need WSL2 with Ubuntu (i used 26.04)

1) First install usbipd on w11 :

>winget install --interactive --exact dorssel.usbipd-win

2) List the usb devices :

> usbipd list

Connected:
BUSID VID:PID DEVICE STATE
1-4 0e8d:0a02 RNDIS Not shared
1-6 0489:e156 MediaTek Bluetooth Adapter Not shared
2-1 0b95:1790 ASIX AX88179 USB 3.0 to Gigabit Ethernet Adapter Not shared

3) Bind to the Jolla RNDIS Interface :

>usbipd bind --busid 1-4

> usbipd list
Connected:
BUSID VID:PID DEVICE STATE
1-4 0e8d:0a02 RNDIS Shared

4) Open an Ubuntu in WSL in the SAME terminal session, we have to install the kernel module for RNDIS

>sudo apt update
>sudo apt install -y build-essential flex bison libssl-dev libelf-dev bc dwarves git usbutils
>git clone --depth 1 --branch linux-msft-wsl-$(uname -r | cut -d- -f1)
https://github. com/microsoft/WSL2-Linux-Kernel.git ~/WSL2-Linux-Kernel
/!\ REMOVE THE ADDED SPACE .COM /!
>cd ~/WSL2-Linux-Kernel
>zcat /proc/config.gz > .config
>scripts/config --module USB_NET_RNDIS_HOST
>make olddefconfig
*>sed -i 's/next_path = strchr(s, /next_path = (char )strchr(s, /’ tools/lib/bpf/libbpf.c
>make modules_prepare
>make M=drivers/net/usb modules KBUILD_MODPOST_WARN=1

5) Enable the kernel module

>sudo modprobe usbnet
>sudo rmmod rndis_host cdc_ncm cdc_ether 2>/dev/null
>sudo insmod ~/WSL2-Linux-Kernel/drivers/net/usb/cdc_ether.ko
>sudo insmod ~/WSL2-Linux-Kernel/drivers/net/usb/rndis_host.ko

6) Now you can attach (in powershell) the usb device

>attach --wsl --busid 1-4

7) Get the interface with ip ad (in Ubuntu)

6: enx9ac3292a8b79: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

8) Set the interface UP and add a IP

>sudo ip link set enx9ac3292a8b79 up
>sudo ip addr add 192.168.2.14/24 dev enx9ac3292a8b79
>ping 192.168.2.15
>ssh defaultuser@192.168.2.15

And voila you can access the device with a USB cable!

3 Likes

Not windows, but i have been having issues on linux. It turned out, that developer mode is not available / not working when connected via USB3. Forcing a USB2 connection (e.g. by using an old hub) helped.

(thanks to rubdos for helping me with that)