Help adding support for FortiWifi 50e

Hello everyone,
I've managed to install OpenWrt on a Fortiwifi 50e using the firmware of the supported Fortigate 50e, but i'm having problems adding the wireless card in the mini pci slot.
Is there a way to add a pci slot to the firmware? This is the only difference between the 2 models Fortigate and Fortiwifi, everything else works perfectly.

Thanks in advance

FortiGate 50E has no mPCIe cards and slots, so I didn't enable PCIe slots of Marvell SoC and didn't add Wi-Fi related packages. To enable mPCIe slots, dts of 50E needs to be modified.

How can i do it?
I'm sorry but i have no experience in this

PCIe slots can be enabled by adding the following code to dts.
(Note: I don't know which slots are actually used on FortiWiFi 50E, the following code enables all slots on Marvell SoC.)

&pciec {
	status = "okay";
};

&pcie1 {
	status = "okay";
};

&pcie2 {
	status = "okay";
};

&pcie3 {
	status = "okay";
};

&pcie4 {
	status = "okay";
};

I've edited the dts file, built the new firmware without error during compile process, but when i try to flash the new firmware says that there are no dtb files

My bad, didn't see that dtb file wasn't compiled, now everything works fine, thanks

1 Like

Hi would you care to share the firmware or how you got it to work?

I tried the simple way :slight_smile: by uploading the FG50E firmware to a FortiWifi50e and got an incorrect binary message at the end of the TFTP process... which is kind of expected since it's not exactly the same HW.

Thanks for your efforts, btw!!

To install the firmware you need to open the image.out and rename the FGT50E in FWF50E, with this method you can actually install openwrt,but the wifi card will not work
If you need the wireless you have to compile the firmware by adding the lines shared before in this post ti the DTS and adding some packages
I'm actually working on the firmware because in this moment is not stable, you can actually see the radio working and scanning for the Networks, but sometimes it doesn't recognize the wireless interface
If you want I can upload the firmware i'm working on right now, but It will change quickly

Thanks for that!! got it to boot up.

Let me know if I can help you on any testing.

I don't know how to share the firmware I'm working on now, if you know how to do it i will share.
I have some problems on making the wireless card work, I can scan other networks,I can connect to them, but the access point is still "wireless is not associated"
If I reboot, the interface comes up with "no internet connection", if I reboot again everything else doesn't work, included the other interfaces

just a thought (hard to be constructive without ability to compile or see bootlog messages): since the wifi is according to https://fortiblog.gitbook.io/fortinet/useful-information/fortigate-hardware-specification

WiFi Chipset: Atheros
WiFi firmware version: 0.9.17.1

do you have the right firmware and/or compile options... i'm thinking along the lines of what i see in [Solved] Setting up a Qualcomm Atheros QCA6174 adapter

good luck

yes, I have the right firmware and compile options
Yesterday i tried to compile it again with some other packages that i cannot install later, like wpa_supplicant and hostapd.
I don't know why these packages, if installed after the compile process, they don't work properly and they break the firmware after a reboot.
Now after the connection to another network with the radio and the reboot, i have the wifi, after a second reboot is all fine.
I managed to connect to the internet only in DumbAP mode, but i'm studying how to make it work in the "normal" mode

Thanks for your insights.

On my end, I followed your tests, compiling with hostapd and wpa_supplicant to which I added eapol_test, and using ath9k kernel modules.

For me, it is now functional for what I was looking for:

  • Wireless AP OK
  • Wireless client OK

Let me know if I can ehlp in any way, I'll look to learn know how to share this for others to benefit.. am still a newb in that respect.

I could install the FW on 30e, it is running without any issues. Tried to run on 60e couldn't boot the image I'm receiving error MBRecord is empty

FortiGate/FortiWiFi 60E has completely different hardware than FortiGate/FortiWiFi 30E/50E and its hardware platform is not supported on Linux Kernel and OpenWrt.
So you can't use OpenWrt firmware of 30E/50E for 60E.

1 Like

Thanks for the info, so no custom software possible. it seems also have ARMv7 but I can't find detailed spescs.

https://fortiblog.gitbook.io/fortinet/useful-information/fortigate-hardware-specification

ASIC version: SOC3

don't really know what soc3 means it's not standart CPU...

It's FortiSOC series and not a standard SoC of common vendors such as Marvell.

I wanted to know if there is any way to to add the fortiwifi 50e support to your branch. i have it working just fine, with the few changes suggested in this thread, so does it make sense to make a common branch for the wifi and non wifi devices?