Fix WiFi and Bluetooth on Linux for PS4 Pro 7215/7216 (Belize & Baikal) with MT7668 chipset

Install WiFi and Bluetooth Driver for MT7668 to fix WiFi & Bluetooth on PS4 Pro 7215B/7216B and other models (Baikal & Belize) very easily!

Many PS4 Pro 7215 and 7216 owners have been facing WiFi and Bluetooth issues since the launch of Linux for PS4. Now, I have some good news for you! A very generous member of the community, novice4321 was kind enough to sponsor and test my attempts to fix WiFi and Bluetooth driver for PS4 Pro 7215/7216. And, finally, we are here with a satisfactory fix for the issue. I say “satisfactory” because there are certain requirements to be met for the drivers to work in the current state. More on that later.

I am sure you are eager to find the way to fix Bluetooth and WiFi on PS4 Pro with MT76668 chipsets. We’ll get to that. Infact, I have made an easy script that installs the drivers and sets it to boot automatically. Before we jump into that, let us briefly discuss a few details about this specific chipset and why it didn’t work on PS4 Pro Linux.

UPDATE 1 (8 March, 2023) – Support For Fedora and Fedora-based distros added, 4.19 kernel shutdown panic fixed.
UPDATE 2 (9 March, 2023) – Fixed Fedora driver looking for internet connection during installation.
UPDATE 3 (11 August, 2023) – Open-sourced the drivers. Now, compile or modify these drivers as per your requirements. Click here for tutorial.
UPDATE 4 (28 August, 2023) – Latest kernels with inbuilt MT7668 WiFi & Bluetooth.
UPDATE 5 (18th January, 2024) – Fix for DNS issues on MT7668 kernels.
UPDATE 6 (20th June, 2024) – PS4 Baikal & Belize Kernels with MT7668 (incl. DNS fix) and VPN support opensourced.

Reason for WiFi and Bluetooth error on PS4 7215/7216 running Linux

Before we begin, I’d like to mention two other community and PS4 Linux forum members and their attempts at fixing Bluetooth for these consoles. They are Dr4kk3N and Zabovis. Dr4kk3N was able to find the right Bluetooth firmware for MT7668 chipsets. Details of the same can be found on this thread. Many of you might be confused as to how this firmware helped. So, let me quickly try to explain how drivers on PS4 Linux work.

For a device like WiFi/Bluetooth Adaptor to work on Linux, it needs to be supported by the kernel and second there must be a way to load the adaptor’s firmware. Fortunately, the mainstream Linux kernel especially, 5.x+ kernels do support the Bluetooth part of MT7668, not WiFi. So, all that was left to do was enable MT7668’s Bluetooth in the kernel (using make menuconfig) and provide the firmware files (.bin) which were already available. These bin files can be loaded from the initramfs on PS4 Linux. This is what Dr4kk3N did. Following that, Zabovis worked more on that and got Bluetooth working on some other PS4 Pro models (7215B and 7216B) having the same WiFi/BT chipset, but different southbridges – Baikal and Belize. So, that covers Bluetooth. By the way, if you are interested in reading more about how PS4 Linux drivers work, Zabovis has a very detailed article on the Forums.

But, why did WiFi not work on PS4 Pro Linux for 7215 and 7216 (Baikal and Belize)? The simple answer is that the WiFi driver for this chipset was never upstreamed to the mainline kernel, unlike the Bluetooth drivers. In short, I, thanks to the sponsorship and testing by novice4321 was able to take a new route to get the WiFi and Bluetooth working on these consoles. I will talk about them later, someday, maybe.

Anyways, the end user doesn’t have to care about these details. So, that brings me to the actual fix part. Just follow this tutorial to have WiFi and Bluetooth running on PS4 Pro Linux.

Video Tutorial: Fix WiFi & Bluetooth on PS4 Linux for 7215/7216 (Baikal & Belize) and others with MT7668 chipset

But, if you prefer the textual tutorial, keep reading.

How to fix WiFi & Bluetooth on PS4 Pro Linux for 7215/7216 (Baikal & Belize) and others with MT7668 chipset?

First of all, we will talk about the requirements.

Requirements

  • Any PS4 (Fat, Slim, Pro – Baikal/Belize) with MT7668 WiFi/BT chip (instructions on checking below)
  • Modified 4.19 kernel
    • Baikal (based on whitehax0r’s kernel, shutdown panic issue fixed)
    • Belize (based on mircoho’s kernel, shutdown panic issue fixed)
  • Ubuntu or Debian-based distro (PopOS, etc.) or Fedora-based distro (Nobara, etc.)
  • Driver package
    • Ubuntu or Ubuntu-based distros
    • Debian-based distros (if those for Ubuntu don’t work; edited by Reo_Auin)
    • Fedora or Fedora-based distros

There are a few things that you should note here. First, this driver should work on any PS4, whether Fat, Slim or Pro with Baikal or Belize Southbridge, given it has the MT7668 chipset. The title only mentions the Pro, specifically the models 7215 and 7216 because they are the most popular models containing this chipset.

Second, currently, we will need a modified 4.19 kernel for this WiFi/BT  to work. But,as time permits, I will try to port it to the newer kernels.

Once you have them ready, just follow these steps to have Bluetooth and WiFI running on your PS4 Pro Linux in no time.

Step 1. Check if your PS4 is a Baikal or Belize

  1. Go to your favourite exploit (try mine) and run WhosThatSouthBridge payload.
  2. Make a note of the notification and check if it says Baikal or Belize.

For more details on running this payload, check here.

Step 2. Check if PS4 has MT7668 WiFi/BT chipset

For obvious reasons, this driver will not work if your PS4 Pro doesn’t have the MT7668 chipset. So, we will need to check that, to be sure. To check this, follow these instructions:-

  1. Boot any PS4 Linux distro on PS4.
  2. Open a terminal, type udevadm info /sys/bus/sdio/devices/*.
  3. Check the output and see if either of the devices’ SDIO_ID says 037A:7668. Here’s a screenshot of what you are supposed to see:-

udevadm command showing MT7668 among SDIO devices on PS4 Pro Linux

If you do see that, you are ready for the installation.

Step 3. Install and setup MT7668 WiFi/BT driver for PS4

  1. Extract the downloaded driver package in a suitable folder.
  2. Go into the extracted folder containing files including the install script named install.sh. Open a terminal here.
  3. Type ./install.sh and press Enter.
  4. It will then ask for sudo password. Type it and press Enter.
  5. The script will install and setup everything on it’s own. When complete, the script will ask you to reboot.
  6. Reboot and there shall be WiFi and Bluetooth!

Special Thanks to novice4321

I would like to add a special note of thanks for community member and friend, novice4321. He not only sponsored the whole project to port the drivers, but, also did all the testing. This was not an easy task at all. We were spending 6-8 hours daily debugging the issue and finding solutions. I would like to personally thank him for his generous donations for the cause and also for the unconditional support he provided me with. PS4 Linux scene and me, personally will always be gratuitous for your dedication.

Next up, I thank mircoho for the Belize 4.19 kernel and whitehax0r for the Baikal 4.19 kernel, both of which support Vulkan. Obviously, I also am indebted to the OG devs, like marcan who made PS4 Linux possible and also the community members and others who have shown love and support this cause. Love you all!

Conclusion

As always, if you do face any issues, please leave a comment below. But, if you have logs and advanced details to share about the issue, I’d always recommend commenting on the thread here.

27 Comments

  1. hi can you please do something on arch linux my ps4 only seem to boot arch based distros i can’t get any deb or ubuntu based distro to work and bro the bzimage you compiled has no usb dongle mt7602u driver enabled in kernel can you share source or recompile with driver support, only your instructions worked for me in past i need networking enabled on arch based distro to make it work thanks appreciate your hard-work

  2. Hello Noob404,

    May I ask if you have a timeline for the fix on Arch ?
    Otherwise, I will go for the LinuxFx .-)
    Best

  3. Today I spent the full day with my lovely Ps4 Pro Baikal MT7668.
    Here are my findings:
    – The modified bzImage in this page f**** up the video. so I get a black screen on my tv.
    – I tried on another TV, but the install.sh would kernel panic. I was on fedora 35, didn’t manage to try an ubuntu distro.
    – Turns out it’s like impossible to add wifi drivers to batocera, so even in the event I manage to have them running on Ubuntu/fedora, the convenience of having batocera goes out of the window.(*on my ps4 batocera runs ok, but with th3 4.19 kernel there is no Vulkan and no bluetooth, and it sucks to have a wired controller.)

    Overall it’s quite sad how much potential the ps4 has compared to how hard is to get everything running.

    Will wait to see if there are going to be new developments..

  4. Hi,
    where is the source code of the modified kernel (and maybe also the source code of external module)?

    Thank you

  5. Hello I need help with something. I tried to boot using the kernel that you provided but after the installation is complete and it requires me to type resume-boot, I type it in and nothing happens. It doesn’t let me type anything either. By the way I tried to install pop OS and my console is Belize. Can you tell me how to fix this issue?

  6. Hello N00B404 can i have the souse code (in githab link) of Baikal (based on whitehax0r’s kernel, shutdown panic issue fixed) because i want to add my drivers for new devices.
    Thanks you in advance.

  7. So I’m having this exact same problem on my PS4 slim with the affected Chipset. I’m very new to Linux and was wondering if there was a Bzimage that I could just replace with the existing one and have it work that way? I’ve tried with the great instructions but just get stuck at the part when you have to open the terminal in the folder etc.I would greatly appreciate any help for me being a total Linux noob

  8. This is the only method/bzimage I have been able to get working with my internal install of Fedora 38 on Belize. Unsure of later bziimage versions have a different kernel panic fix or this is distro-specific, but all the rest I found cause a panic. Including the one listed on the main downloads page. Either way glad to see some progress and appreciate all the work being done.

  9. I did this with Pop Os and it worked but every so often it would disconnect and the next day wifi isn’t working at all, it lets me connect to different networks and such but I can’t actually use the internet

Leave a Reply

Your email address will not be published.


*