Hello! I’m a real newbie here, and stumbled across this page about 1 day before the USB drivers landed (Congrats!). Even though there is plenty to work on, I personally feel (I understand I may be alone) that a next good step would be the BCM43455 Wireless LAN drivers. Does this driver exist on Windows (anywhere), or just, what would it take to get this running? (Assuming that it is less effort than writing a from-scratch driver…)
It’s a lot of work to get it running without help from Broadcom. The easiest thing is to convince Broadcom to recompile. Because of all the ARM64 work for other platforms, they might already have done it. The only thing that needs to be specific to the PI is the USB host driver; USB class drivers are not hardware-specific.
Do we need Broadcom to compile for the BCM43438 WLAN, or should we contact Cypress to compile for the CYW43455, which is the specific chip used in the B+?
should we contact Cypress…
Whatever’s being used. Unfortunately, I’m not the expert as to what chip is used where, so will have to defer to others.
I don’t know the specifics. It sounds like, from what I know, that the Pi uses the Cypress CYW43455, which has a BCM43438 (from Broadcom) inside it… somehow. Something like that.
Look for a USB Wi-Fi adapter with in-box drivers. That will certainly work. Ditto USB Bluetooth adapters. It’s not ideal, but the external adapters are not very expensive.
If there is anything unique to write - absolutely.
Still, if we could talk to RPi Trading (who has contacts with Broadcom), and see if they have anything they could recompile.
Quick question - How does wifi on the Raspberry Pi 3 in Windows 10 IoT core work?
32-bit kernel drivers. Same as the Microchip ethernet and MCCI DWCHSOTG drivers. Not useful to us.
\windows\inf directory. Does it have a file named
NET28UX.INF? If so, you have in-box support for a whole bunch of Ralink / Mediatek devices, and they’ll probably just work. You can use
more at the command line to display them (or install x86
notepad++, or even VS-code – this is disconcerting, real Windows) and then you can look at the vendor IDs supported, etc. If not, use
notepad++ to search for the combination of
USB\VID_ and LAN or Wireless LAN or 802.11, and you may turn up something.
On build 18334, I don’t.
Guess I have to fire up a system and poke around.
ARM64 Windows has no inbox WiFi over USB drivers… at all.
That’s too bad! I guess the various vendors have not signed on to support ARM64 Windows yet. Web searching suggests that no vendors are offering support directly, either.
Here is a W10 Version of the drive, what does it take to make it work on ARM? https://www.driver-wireless.com/broadcom-bcm43xx-driver-win7810.html
It has to be recompiled from source (just as we did for the USB drivers). Depending on how good they are at coding for portability, it may then need to be debugged. There’s nothing easy anyone can do without sources. Because of the NDIS upper edge for Wi-Fi drivers, it’s unlikely that a simple Linux kernel driver scheme would work.
What could in principle work is something like Fuse, where the kernel-mode upper edge is intercepted and reflected to a user-mode driver. But this is only practical if the API is relatively simple or you build automation to do the stubbing and reflection. Also some kernel APIs are done with “interfaces” which are inherently easy to filter but hard to proxy. We looked at this seriously for our Windows wrappers for our stack, and finally decided that it wasn’t practical.
Unfortunately the time spent creating a driver for this device would be better spent on the internal Wi-Fi anyway. Here is the download page for the device, but I don’t think there is anything useful for us.
Hello, everybody, can we just use raspbian wifi driver?
Unfortunately no because it’s for Linux. It would have to be recompiled for Win10 ARM64.
OK…totally new to WOA. I finally got a version of WOA to work on my pi. It took a few attempts with different versions. The onboard wifi is not recognized. This thread appears to be related to this issue, yet I see no solution. Is there one? I