Raspberry Pi 4 HDMI Is Jamming Its Own WiFi

Making upgrades to a popular product line might sound like a good idea, but adding bigger/better/faster parts to an existing product can cause unforeseen problems. For example, dropping a more powerful engine in an existing car platform might seem to work at first until people start reporting that the increased torque is bending the frame. In the Raspberry Pi world, it seems that the “upgraded engine” in the Pi 4 is causing the WiFi to stop working under specific circumstances.

[Enrico Zini] noticed this issue and attempted to reproduce exactly what was causing the WiFi to drop out, and after testing various Pi 4 boards, power supplies, operating system version, and a plethora of other variables, the cause was isolated to the screen resolution. Apparently at the 2560×1440 setting using HDMI, the WiFi drops out. While you could think that an SoC might not be able to handle a high resolution, WiFi, and everything else this tiny computer has to do at once. But the actual cause seems to be a little more interesting than a simple system resources issue.

[Mike Walters] on a Twitter post about this issue probed around with a HackRF and discovered a radio frequency issue. It turns out that at this screen resolution, the Pi 4 emits some RF noise which is exactly in the range of WiFi channel 1. It seems that the Pi 4 is acting as a WiFi jammer on itself.

This story is pretty new, so hopefully the Raspberry Pi Foundation is aware of the issue and working on a correction. For now, though, it might be best to run a slightly lower resolution if you’re encountering this problem.

76 thoughts on “Raspberry Pi 4 HDMI Is Jamming Its Own WiFi

          1. The Wifi/Bluetooth module is shielded and the PCB layout isolates it ….. More likely it’s entering through the onboard antenna or the feedline which in this case is a PCB trace usually isolated with a 50 ohm microstripline layout ….. One way to try to isolate the problem would be replacing the antenna with a 50 ohm resistor and see f the interference is still reaching the module, if not it’s coming through via the antenna, if not then it’s entering elsewhere

        1. It’s important to note the 2.4Ghz ISM band is not reserved to just WiFi and bluetooth. You can transmit other stuff there so it’s not necessarily illegal even if it jams WiFi.

          Though it’s definitely not an approved transmitter in this case :)

      1. PSA: Switch wifi channels and put your Pi 4 in a metal box if you’re running 2560×1440. There should be a little unpopulated coax connector on there for using an external wifi antenna if it’s at all similar to the 3.

          1. Doesn’t actually work like that unless you’re in the (diffractive) far field for both of them, which these aren’t. Obviously it could make things better, but since the transmitting signal isn’t just a single frequency, diffraction’s going to alter the relative amplitudes and make it so they’ll never cancel out perfectly. If the interferer is strong enough, partial cancellation isn’t really going to do anything.

      1. And use what instead? Don’t tell me, you want to use 2560*1440 over the crappy old fashioned analog CVBS connector. This is like if you recommend somebody who complains, that his toe hurts, to cut off his foot.
        And if you want to use the Pi with less resolution or without monitor, than it’s no issue.

        1. IDK, 1080P (1920*1080) is still quite popular and still HD. More than enough for a relatively low-power single-board-computer. And good ol’ composite video still has its strengths…

      2. I think it’s just the 4K resolution. Just keep the PI at 1080P (1920×1080) and everything will be fine. That resolution is still more than sufficient for any use I can think of (especially for an SBC like this), and still quite popular.

        Not everyone needs resolutions beyond what the eye can detect in normal use cases…

        1. I use the extra space on my 4k display all the time thanks. Not sure what “eye can detect” means but I can definitely use the extra pixels effectively. I game at 1080p because there it is fine enough and not worth the horsepower needed to run at 4k IMO because it is still obviously a rendering, it doesn’t get more lifelike.

          That said, I need the pixel density for everything from reading (heads up two pages at a time, both are sharp and readable at 4k, not at 1080p) but editing a 16 MP photo on a 2 MP (1080p) monitor is a joke, bumping to an 8MP (4k) display lets you see enough of a picture to matter.

          There are tons of other use cases where 4k makes more sense.

  1. Had the exact same problem with RPi 3. Trying to drive ipad display through a hdmi edp converter. Resolution not quite the same, but similar. Could get the display working at native resolution, but the wifi became very intermittent. Reverted to another resolution – problem went away. It was really frustrating trying to find the problem.

    1. I’m not a EE, but cables aren’t ‘active’ as far as I know, so while it might be acting as an antenna that signal is being generated elsewhere, and if it’s not meant to be on the cable, the device generating it, shouldn’t be transferring it.

      Obviously, i welcome people telling me I’m wrong, so I can learn just enough to make stupid comments in internet forums ;)

        1. I think he means the signal shouldn’t be outputted by the HDMI, presumably you shouldn’t use shielding to make up for a bad design.

          But I don’t know any specifics (I.e. maybe that signal is acceptable to output).

          1. There is a (very) high frequency signal going down the cable – the output from the HDMI transmitter in the device. If its badly shielded, then that signal can leak in to the outside world. It’s supposed to stay in the cable.

          2. The HDML signals are in differential pairs, so there should be very little leaking out to the ground shield. i.e. unbalanced due to differences in rise/fall characteristic between the p/n signals, trace length differences etc.

            I haven’t looked at HDMI cable construction, but even the $3 DisplayPort to VGA dongle cables have individual foil shields for the differential pairs in DisplayPort.

          3. “I think he means the signal shouldn’t be outputted by the HDMI”

            Only if you don’t want your HDMI port to output any video.

            2560×1440, at 60Hz, at 8/10 coding (10 bits transmitted for 8 bits input/output) gets you veeeery close to 2.4GHz for each colour channel. In other words, by intended functioning the HDMI port will be farting out noise on the 2.4GHGz channel is is one antenna away from a WiFi (and BT and other 2.4GHz radio) jammer.

      1. Of course the signal is generated elsewhere – in the HDMI transceiver. And it is supposed to be on the cable, it IS the HDMI signal or some of it’s harmonics. It is just not supposed to be radiated by the cable.

  2. I think this is related with an issue I have,

    I am using this https://www.zigbee2mqtt.io/ with a usb dongle zigbee sniffer. I was using it with in a PI2 with homeassistant and then i decided to upgrade to PI4 with the little surprise: the zigbee network won’t work.

    After trying to figure it out and scratching my head, finally came to the solution: using an USB extender to put the dongle far from the PI. After this, working flawlessly.

    Mi conclusion was maybe the wifi is also jamming the zigbee frequency but didn’t have time to test it out, who knows…

      1. ISM band, but yes, both are in this band. And your microwave, which of course is shielded, but no shield is perfect. 60dBm (1kW) inside minus 60dB of shielding attenuation still gives remaining 1 mW . Te same as some Bluetooth transmitters.

  3. A bit OT, but what is going on with the Raspberry Pi?

    Neither RS, nor Farnell do have any 3 or 3+ in stock, and actually RS says that they first will be in stock in April/May next year – ½ a year from now!!

      1. I hope you are right.

        And then I have a naive hope that Broadcom sometime in the future would start to sell their SOCs to other manufactures, so the supply chain would be less vulnerable (for those who have spend time to produce products based on the Pi) – but ok, I could also hope for a week with two Sundays.

        Does anyone know if there is an alternative to FBI and OMXPlayer that can be used with eg. Alwinner (or Rockchip, or …) SOCs?

          1. This could be a good bid.

            As far as I can see it supports Mali, so can it be used with other processors with the Mali GPU?

            And are there an alternative for Allwinner?

            As far as features is concerned, all I need is start, stop, pause, go to start (ohh, and DBus or similar, so it can be controlled from another program).

        1. Broadcom will sell you the chips if you want, if you buy in large enough quantities. You would then need a licence to use all Raspberry Pi’s firmware (There are years of changes to the original firmware provided by Broadcom, which is copyright RPF, so you would need to get chips from Broadcom, and software from RPF). So possible, but probably naive to think it could happen. It simply is cheaper to just use Pi boards. FBI is a standard LInux app, so will likely run on those other boards you mention. OMXPlayer won’t.

          1. “It simply is cheaper to just use Pi boards.”

            Agree – but the problem is, that if one of my customers need at product, in which I use the RPi (among other reasons also because I thought that there was a more stable supply from RS and Farnell, compared to Chinese products) within, lets say, a month, it is unbearable that they fist will be in stock ½ a year from now.

            Therefore (and even if the price was higher) it would be preferable if there was an alternative supply.

            And actually, I do not buy the argument of years of change to the original firmware, because what you actually are saying is that the proprietary CSS in the GPU is a good thing – what if instead Broadcom starts to support OSS.

            And before anyone gets started with the “we-only-do-if-for-the-kids” argument, remember that probably 99% of all Pi’s sold are for professional purposes or tinkers, and without this massive sale there would be no foundation.

          2. I’ve been working on that firmware for the last few years, so yes, i know there is a lot of changes made. We are moving to a more OSS model, but replacing all the firmware takes a LONG time.

          3. Ehh, are you an insider?

            And I do not say there is not a lot of work done in the firmware, but imo there should be no firmware (in the sense proprietary binary blobs), only plain OSS.

            And it is nearly 8 years(!) since the first RPi came on the marked, and basically it is the same template, so there have been plenty of time to go in the right direction.

          4. I think the OMXPlayer replacement might be eased if you look for something supporting SDL and use a platform with hardware supported/accelerated SDL which should be a lot of popular SOCs

  4. Maybe changing the vertical refresh rate and thus the pixel clock would fix it?
    Something like:

    xrandr –newmode “2560x1440_x55” 220.812 2560 2608 2640 2720 1440 1443 1448 1478 -hsync -vsync
    xrandr –addmode HDMI-1 2560x1440_x55

  5. Sounds like that mode 2560×1440 could be more than just a pi problem, will have to look out for that.

    in other news… so has anyone got a version of ye olde xvidtune that works on HDMI cards? muhahahahaaaaa…..

    Coming soon on Hackaday, video cards as SDR??

      1. Check out Ted Yapo’s work on the VGA dongle. https://hackaday.com/2018/12/06/your-usb-serial-adapter-just-became-a-sdr/ but also https://hackaday.io/project/21145-am-band-voice-frequency-marker which is just madness: it reads out the frequency on _all AM bands_ at once.

        It even makes it into Steve Markgraf’s marvelous talk https://media.ccc.de/v/osmocon2018-83-osmo-fl2k-the-evil-transmit-side-brother-of-rtl-sdr on how he reversed the adapter and what else you can do with it.

        That VGA adapter is sooooo cool now.

  6. > Hmm, just avoid using channel 1, then. ?

    New to the world of radio I’m guessing?

    Chances are if it’s a strong enough local signal, it’ll completely swamp the RF front-end regardless of what channel you’re on.

    I’ve seen my father locked out of his car because my apparatus-licensed (I was a Foundation amateur radio licensee at the time) hand-held radio transmitting at 5W on 433.525MHz drowned out his class-licensed (LIPD) keyfob operating at 433.920MHz.

    At work we regularly have to deal with the third harmonic of mobile phone towers at ~826MHz swamping the LNA in the TI CC2592 (826×3 = 2480MHz). So far, a SAW filter in the antenna feedline has been the best solution in that case.

    Here, they may need to look at putting a metal can over the offending components to keep all those “birdies” in a cage instead of letting them flutter around the offending antennas.

  7. ahh, just run them headless like I do and just ssh or VNC in as needed :) . Problem solved :) ! Wifi and hardwired is still available.

    I suppose you could use a USB dongle Wifi and disable the on-board if running into problems in this version of PI4 until the next version fixes the problem.

    1. if the dongle is 2.4ghz it probably won’t work well either unless you have it on a longer usb extension away from whatever is actually radiating the noise (my bet with all the RF licensing requirements is it probably is radiated primarily from crappy cables). Probably work better than the onboard but far from a sure thing, however if you have a 5ghz home network then you should be fine.

      1. I think besides crappy cables, there’s other possible mismatches or failures that could cause stray RF to spray out, crappy termination at the TV/Monitor, crappy connections due to being too loose, too dirty, materials mismatch (Accelerated oxide formation between dissimilar metals)

        2.4 Ghz in general I have found a particular beeyatch to shield and contain. In a “busy” 2.4Ghz environment I’ve found it near unpossible to use tight beam, low signal connection techniques for longer haul connections, due to signal leakage out of and into everything. For example more than a foot of high quality coax from wifi to dummy load or radiator in a shielded can/cage was enough to pick up about half the SSIDs normally seen from any internal antenna wifi device. Putting a USB wifi dongle in fully shielded can/cage with high quality shielded USB cable, same thing, picked up off the USB cable. I think in some cases the whole building’s AC wiring is ringing with it and it will feed in through your average wall wart. Sure stick a low pass filter inside that at the wall…. and the DC wire is collecting it….it’s like it dances on everything vaguely metallic via surface charge and two metallic objects have to be air gapped more than 10 cm or so before there’s no 2.4Ghz signal ringing between them. It’s like your bench can be scattered with objects that are just a virtual capacitively coupled transmission line.

  8. i had this problem when using esata drives, when moving large amounts of data, don’t expect any internets. any high bandwidth device is going to operate in the same frequency range as the wifi.

  9. Also the camera cable can jam the wifi. I am using a 30cm long camera flat cable and if the cable is left over the board I am loosing wifi connectivity. Until I observed this I taught it was HDMI cable.

    1. I’m not very familiar with FCC testing, but at least in CE testing the independent lab mostly just executes the tests. It’s up to the manufacturer to ensure they have covered all important test cases. If you forget to test HDMI at high resolutions, no-one will catch that.

      1. CE testing is indeed self-certified but it is very generic. It applies to basically everything. For radio equipment there are much more stringent tests that need to be adhered to.

  10. radio amateurs have long despaired of people running computers without putting them in faraday cages, i.e. screened cases, causing digital hash to splash all over a variety of frequecy bands.

    Decent computer manufacturers will measure their devices for EMC and sell them in appropriate cases. I’m surprised that the official Pi cases don’t come coated on the inside with that metallic coating which blocks RFI. Perhaps the emitted signals are too weak to fail testing?

    1. “I’m surprised that the official Pi cases don’t come coated on the inside with that metallic coating which blocks RFI.”

      And what effect would you guess that would have on the on board WiFi antenna?

      But ok, one could argument for that the WiFi problem was definitely solved – as in no WiFi at all!

    1. I’d guess it’s a magnetic loop. I don’t see a tuning capacitor but at such high frequency there is a lot of stray capacitance and cable capacitance anyway… There are lots of instructions online for coaxial cable magnetic loops. But for down in HF large diameter copper tubing is way better.

  11. Electrical tape over the HDMI port. A *carefully* placed piece of copper/conductive tape over that with another piece of electrical tape over that. Seems to work for me. Rasbian 2019-09-26 kernel version 4.xx, 2GB. I also use a completely over sized (thicc gauge) cable. Not sure if this will help others

  12. We had a similar problem on a device we were making. CPU frequencies are dynamic nowadays in order to save battery energy consumption. It turned out that some specific CPU frequencies (their harmonics, rather) would jam the bt/wifi signals on the board. The solution was to change the frequency governor to avoid those frequencies. It’s a common problem and we got away easily. Sometimes it requires a board redesign.

  13. I had exactly this problem with a Microsoft Surface Pro 4 a couple of years ago. Searching around I found many others had the same issue. There was no help forthcoming from MS. Some time later I found my WiFi was working fine. I was using a different HDMI cable. Turns out it was just my crappy old HDMI cable causing the problem.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.