{"id":637,"date":"2019-11-07T17:45:20","date_gmt":"2019-11-07T16:45:20","guid":{"rendered":"https:\/\/notiz.comanet.xyz\/?p=637"},"modified":"2019-11-07T17:46:43","modified_gmt":"2019-11-07T16:46:43","slug":"raspberry-pi-4-bootloader-firmware-updating-recovery-guide","status":"publish","type":"post","link":"https:\/\/notiz.comanet.xyz\/?p=637","title":{"rendered":"Raspberry Pi 4 Bootloader Firmware Updating \/ Recovery Guide"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/origin.jamesachambers.com\/wp-content\/uploads\/2019\/10\/raspberry-pi-eeprom.jpg\" alt=\"Raspberry Pi eeprom\" class=\"wp-image-2431\"\/><figcaption>Raspberry Pi 4 has an eeprom chip<\/figcaption><\/figure>\n\n\n\n<p>All\n of the previous generations of Raspberry Pi contained all of their \nfirmware on the SD card.  Starting with the Raspberry Pi 4 the device \nactually has onboard upgradable firmware stored on an EEPROM chip \nseparate from your storage.  Updating this firmware is very important as\n one of the first released updates reduces power usage of the Pi by 30% \nwhich also reduces how hot it gets.<\/p>\n\n\n\n<p>In this guide I\u2019ll show you \nhow to update the bootloader firmware (no, it\u2019s not apt-get upgrade, \nit\u2019s a new utility called rpi-eeprom!) and also show you how to make a \nrecovery SD card if your firmware gets corrupted and needs to be \nreflashed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Upgrading the Bootloader Firmware<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Requirements<\/h3>\n\n\n\n<p>To upgrade the firmware you should be running the latest <strong>Raspbian<\/strong>.  Do not attempt this from another distribution.<\/p>\n\n\n\n<p>If you want to use another distribution afterward that is great!  I personally use my <a rel=\"noreferrer noopener\" href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-ubuntu-server-desktop-18-04-3-image-unofficial\/\" target=\"_blank\">64-bit Ubuntu Server 18.04.3 image<\/a> most of the time, <strong>but not for this procedure!<\/strong><\/p>\n\n\n\n<p>Since\n the Raspberry Pi bootloader firmware is stored on a chip on the device \nyou can update it to the latest with Raspbian and then go right back to \nusing whatever you want.  I personally have a separate SD card just for \nRaspbian that I use to periodically plug in and update the firmware.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Install rpi-eeprom<\/h3>\n\n\n\n<p>First we need to install the new bootloader update utility.  We can do this with the following commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt upgrade\nsudo apt install rpi-eeprom<\/code><\/pre>\n\n\n\n<p>Once the utility is installed\n Raspbian will check at boot whether there are any critical bootloader \nfirmware updates for your Pi.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Checking for Updates Manually<\/h3>\n\n\n\n<p>If\n you are like me and don\u2019t want to wait around for Raspbian to decide \nwhether do these updates there is a command to check for updates \nmanually:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rpi-eeprom-update<\/code><\/pre>\n\n\n\n<p>You will see output like this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">Bootloader EEPROM is up to date\nCURRENT: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)\n LATEST: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)<\/pre>\n\n\n\n<p>If the firmware isn\u2019t up to date it will look like this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>*** UPDATE REQUIRED ***<\/strong>\nCURRENT: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)\n LATEST: Wed 25 Sep 10:40:05 UTC 2019 (1569408005)<\/pre>\n\n\n\n<p>We now can see that there is updated firmware for our device.  To install this update we will use the -a switch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rpi-eeprom-update -a<\/code><\/pre>\n\n\n\n<p>Your output should look like this:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">CURRENT: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)\n LATEST: Wed 25 Sep 10:40:05 UTC 2019 (1569408005)\n*** INSTALLING REQUIRED UPDATE ***\nBootloader EEPROM update pending. Please reboot to apply the update.<\/pre>\n\n\n\n<p>Reboot now by typing sudo reboot and then run sudo rpi-eeprom-update again.  This time it should tell you it is now up to date!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Changing rpi-eeprom\u2019s Release Channel<\/h3>\n\n\n\n<p>By\n default you will only receive updates from Raspbian\u2019s \u201ccritical\u201d \nchannel.  This is a very conservative firmware update channel that will \nonly give you very well tested firmware updates that are considered \ncritical fixes for the device.<\/p>\n\n\n\n<p>If you want to get the latest \nfirmware updates and fixes you may want to try the \u201cbeta\u201d channel.  \nThese updates haven\u2019t been tested as long and could potentially break \nyour bootloader so Raspbian only recommends using it if you are \ncomfortable using the recovery tool to reflash your bootloader if \nsomething goes wrong.  Check out the recovery section below for \ninstructions on how to do this.<\/p>\n\n\n\n<p>To switch to the beta channel we are going to edit the file \/etc\/default\/rpi-eeprom-update:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/default\/rpi-eeprom-update<\/code><\/pre>\n\n\n\n<p>Change the line FIRMWARE_RELEASE_STATUS=\u201dcritical\u201d to:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">FIRMWARE_RELEASE_STATUS=\"beta\"<\/pre>\n\n\n\n<p>Now you can run sudo rpi-eeprom-update and you should see a new update available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">View Bootloader Firmware Patch Notes<\/h3>\n\n\n\n<p>The latest official patch notes for all versions and changes are available in the <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/raspberrypi\/rpi-eeprom\/blob\/master\/firmware\/release-notes.md\" target=\"_blank\">rpi-eeprom GitHub repository<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Disable Automatic Bootloader Firmware Updates<\/h3>\n\n\n\n<p>If\n you want to control when the updates are applied instead of leaving it \nup to Raspbian the autoupdating service can be disabled with the \nfollowing command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl mask rpi-eeprom-update<\/code><\/pre>\n\n\n\n<p>The startup service has now been disabled and automatic bootloader firmware updates will only be applied if you do it manually.<\/p>\n\n\n\n<p>To undo this and reenable the service we will use the unmask command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl unmask rpi-eeprom-update<\/code><\/pre>\n\n\n\n<p>Now automatic firmware updates are enabled again!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bootloader Recovery<\/h2>\n\n\n\n<p>The downside of having an onboard bootloader is that if something breaks reformatting your SD card <strong>will not fix it<\/strong>.  In this section I will cover how to use the official tools to reflash and recover your Pi\u2019s bootloader.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Requirements<\/h3>\n\n\n\n<p>Raspbian has a special recovery bootloader available on their <a rel=\"noreferrer noopener\" href=\"https:\/\/www.raspberrypi.org\/downloads\/\" target=\"_blank\">downloads page<\/a>.  Grab the latest version.<\/p>\n\n\n\n<p>You will also need a blank SD card formatted with FAT32 (the same type the \/boot partition uses on a imaged Pi SD card).<\/p>\n\n\n\n<p>If your card is <strong>bigger than 32 GB<\/strong>\n you need to be very careful here because most operating systems will \ntry to format it as ex-FAT instead of regular FAT\/FAT32.  Windows won\u2019t \neven show you an option to format a card bigger than 32 GB as FAT.  If \nyou have a card 32 GB or smaller it would be ideal to choose that one to\n avoid this issue.<\/p>\n\n\n\n<p><strong>Note: Do not try to cheat and use ex-FAT.  This is *not* the same as \u201cregular\u201d FAT (also known as FAT32) and will NOT WORK.<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">When to Attempt Recovery<\/h3>\n\n\n\n<p>There\n is a simple procedure to tell if your bootloader is corrupt.  Turn off \nyour Pi completely and remove the SD card \/ all attached storage.  Now \nplug your Pi back in with no storage media in it.<\/p>\n\n\n\n<p>If your Pi\u2019s \nbootloader is healthy you will see the green light blink a few times and\n then enter a pattern where it will blink 4 times and then have a long \npause.  It will repeat these 4 blinks \/ pause in an endless loop.<\/p>\n\n\n\n<p>If\n your Pi\u2019s bootloader is NOT healthy the green light will not blink.  If\n this is the case it is time to do a bootloader recovery!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Recovery Procedure<\/h3>\n\n\n\n<p>Extract\n the files from the rpi-boot-eeprom-recovery zip file into a temporary \nfolder.  These files will be recovery.bin, pieeprom.bin and README.txt.<\/p>\n\n\n\n<p>Now put those 3 files directly on the root of your blank FAT32 formatted SD card.  Your recovery card is now prepped and ready!<\/p>\n\n\n\n<p>Before\n powering up your device make sure that all USB devices are removed.  \nEven keyboards have been known to cause issues so make sure absolutely \neverything is unplugged!<\/p>\n\n\n\n<p>Now insert the SD card into the Pi and connect the power.<\/p>\n\n\n\n<p>If\n the bootloader recovery is successful the green activity light will \nstart blinking rapidly continuously (forever).  In this case you have \nsuccessfully recovered your bootloader!  You may now insert a normal \nfully imaged SD card and it will boot normally again.<\/p>\n\n\n\n<p>If anything other than a continuous rapidly blinking green light happens the recovery was not successful.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">If Recovery Doesn\u2019t Work<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>There\n is a known (and strange) issue with Raspberry Pi 4\u2019s and 32 GB SD cards\n where the Pi will abort the boot.  If this might apply to you then read\n <a rel=\"noreferrer noopener\" href=\"https:\/\/www.raspberrypi.org\/forums\/viewtopic.php?f=28&amp;t=248968\" target=\"_blank\">this post<\/a>.<\/li><li>Make\n sure you created your SD card correctly.  A common pitfall is using \ncards above 32 GB and formatting them with ex-FAT instead of regular \nFAT\/FAT32.<\/li><li>Make sure *all* USB devices are unplugged from the Pi<\/li><li>Try a different SD card if you have one available.  SD cards do go bad all the time.  If there\u2019s any doubt here check out my <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-storage-benchmarks-2019-benchmarking-script\/\" target=\"_blank\" rel=\"noreferrer noopener\">Raspberry Pi storage benchmarks page<\/a> to see the highest performing SD cards (you definitely want an A1 rated one).<\/li><li>Check\n your power cord.  Make sure you are using a high quality USB-C power \ncord that is compatible with the Pi.  Even if it was working before I \nhave had several old Pi power supplies that worked for years die on me. \n If there\u2019s any doubt grab a known reliable one like the <a rel=\"noreferrer noopener\" href=\"https:\/\/www.amazon.com\/CanaKit-Raspberry-Power-Supply-USB-C\/dp\/B07TYQRXTK\/ref=as_li_ss_tl?ie=UTF8&amp;linkCode=ll1&amp;tag=codemallet-20&amp;linkId=ca7a7ebb02493ff23d2e1d21011246d1\" target=\"_blank\">Canakit USB-C Raspberry Pi 4 Power Supply<\/a><\/li><\/ul>\n\n\n\n<p>If\n you\u2019ve gone through all the steps and are positive it\u2019s not one of the \nabove \u201cgotcha\u201d issues then it\u2019s time to go deeper.  You need to observe \nyour Pi\u2019s exact behavior when you plug it in (what the lights are \ndoing).  Here is a table of different blink patterns and what they mean:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/origin.jamesachambers.com\/wp-content\/uploads\/2019\/10\/led-blink-warnings.png\" alt=\"Raspberry Pi 4 LED blink warnings\" class=\"wp-image-2434\"\/><figcaption>Raspberry Pi 4 LED blink warning table<\/figcaption><\/figure>\n\n\n\n<p>If\n your Pi\u2019s LED behavior matches any of these codes then we now have much\n more to go on to diagnose why your Pi won\u2019t boot.  Some of them are \nvery obvious but they\u2019re all worth a quick web search once you have \nmatched it to a code.<\/p>\n\n\n\n<p>If your Pi\u2019s behavior does not match one of these codes head to the <a href=\"https:\/\/www.raspberrypi.org\/forums\/viewtopic.php?f=28&amp;t=58151\" target=\"_blank\" rel=\"noreferrer noopener\">official sticky post<\/a>\n on the Raspberry Pi forums and scroll to the very bottom (post #4 \nspecifically for Raspberry Pi).  This tracks ongoing boot issues with \nthe Pi 4 that may affect your Pi and a whole bunch of things to try.  If\n you get through that post go all the way up to post #1 and start going \ndown the list.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Could My Pi Be Dead?<\/h3>\n\n\n\n<p>It\u2019s absolutely \npossible.  Things like power issues (surges etc), wiring breadboards \nincorrectly, etc. can kill your Pi completely.  That being said, if you \nhave a Pi 4 that appears to be dead and you\u2019ve gone through all my \ntroubleshooting steps \/ the official sticky post \/ you aren\u2019t covered by\n warranty then I would hold onto it for now as it\u2019s still very new and \nsome problems are still being investigated with the bootloader.<\/p>\n\n\n\n<p>I \nhave definitely killed a couple myself.  I had a 3B+ that I had been \nusing for a year building images (basically beating the crap out of it) \non that finally had a hardware failure and would no longer boot.  I \nwasn\u2019t too sad about this one because I absolutely beat the crud out of \nthese devices and push them to the absolute limit.<\/p>\n\n\n\n<p>My more \nheartbreaking one was that I have killed a 4 GB Pi 4 that I got right at\n the Pi 4\u2019s launch.  I left this Pi in a very hot area running an \nexperimental image that didn\u2019t have proper firmware on it for about 2.5 \nweeks and now upon powering it up the green light will start blinking \nlike it\u2019s about to start booting then the green light will freeze and \nstay stuck on forever.  I have a couple other Pi 4\u2019s so I know all my \ncards and power supplies are good.<\/p>\n\n\n\n<p>Make sure you\u2019ve reviewed the \nofficial sticky post I linked in the previous section before jumping to \nthis conclusion though.  These things are not fragile and over all the \nyears of running this blog it\u2019s pretty amazing I\u2019ve only killed 2 of \nthem with the insane things I try on them all the time.<\/p>\n\n\n\n<p>I may be \nable to help if you want to leave a comment here with *exactly* what \nbehavior you\u2019re seeing when you try these procedures, when you plug it \nin with no SD card in it, when you plug it in with a SD card in it, any \nlittle details will help!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Post navigation<\/h2>\n\n\n\n<p><a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-ubuntu-server-desktop-18-04-3-image-unofficial\/\">\u2190 Previous Post<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"> 5 thoughts on \u201cRaspberry Pi 4 Bootloader Firmware Updating \/ Recovery Guide\u201d<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Tommy Shulker<\/strong> <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2309\">November 3, 2019 at 1:54 am<\/a> Will it be possible to use rpi-eeprom from an OS other than Raspbian at any point in the future do you know? <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2309\">Reply<\/a>  <ol><li><strong><a href=\"https:\/\/jamesachambers.com\/\" rel=\"noreferrer noopener\" target=\"_blank\">jamesachambers<\/a><\/strong> <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2311\">November 3, 2019 at 12:22 pm<\/a> Hey Tommy,The utility is open source at <a href=\"https:\/\/github.com\/raspberrypi\/rpi-eeprom\" rel=\"noreferrer noopener\" target=\"_blank\">https:\/\/github.com\/raspberrypi\/rpi-eeprom<\/a>\n so it\u2019s not closed source or a precompiled binary or anything.  Looking\n at the source code you would need to have very up to date Raspberry Pi \nuserland tools (this one uses vcmailbox and dtparam).  Here\u2019s the code \nfor the main update part:<code>if [ -f \"${BOOTLOADER_UPDATE_IMAGE}\" ]; then<br> # Bootloader EEPROM chip-select is muxed with audio pin so disable audio<br> # LDO first to avoid sending noise to analog audio.<br> \"${VCMAILBOX}\" 0x00030056 4 4 0 &gt; \/dev\/null || true<br> dtparam audio=off<\/code><code> # Switch the SPI pins to boot EEPROM<br> dtoverlay spi-gpio40-45<br> modprobe spidev<br> modprobe spi-bcm2835<\/code><code> prepareImage \"${BOOTLOADER_UPDATE_IMAGE}\"<\/code><code> echo \"Applying bootloaer update ${BOOTLOADER_UPDATE_IMAGE}\"<br>\n flashrom -p \"linux_spi:dev=\/dev\/spidev0.0,spispeed=${SPI_SPEED}\" -w \n\"${TMP_EEPROM_IMAGE}\" || die \"flashrom EEPROM update failed\"<\/code><code> dtparam -R spi-gpio40-45<br> dtparam audio=on<br> ${VCMAILBOX} 0x00030056 4 4 1 &gt; \/dev\/null || true<br> fi<\/code>I\n personally haven\u2019t tried it since I have already bricked one 4 GB Pi 4 \nsince launch which has lowered my appetite for trying this.  That may \nchange some day as I continue to get more adventurousSince there \naren\u2019t a lot of distributions that have up to date userland tools like \nvcmailbox it would be inadvisable to to try it if the code I pasted \nabove makes you uncomfortable.  For my <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-ubuntu-server-desktop-18-04-3-image-unofficial\/\" rel=\"noreferrer noopener\" target=\"_blank\">Ubuntu 18.04.3 image<\/a>\n I build the very latest userland tools every update so I know they are \nup to date in there but it looks like you also need to have working \nspidev and several other kernel modules so even with the latest tools on\n mine there\u2019s a bunch of things I\u2019d have to double check.So the final answer would be: probably in time this will appear in some other distributions! <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2311\">Reply<\/a>  <ol><li><strong>Tim<\/strong> <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2338\">November 6, 2019 at 9:18 am<\/a> The\n latest userland tools are all that is necessary to utilize \nrpi-eeprom-update. You do not need the latest spidev or any other kernel\n modules in order to update. The default and recommended method which \nrpi-eeprom-update uses is to copy recovery.bin, pieeprom.upd and \nvl805.bin along with signature files for each to the boot partition. \nUpon reboot the Pi\u2019s bootloader will load and execute recovery.bin which\n then flashes the update files after checking that they match the \nsignatures in signature files to prevent flashing corrupt firmware \nfiles. recovery.bin is then renamed to recovery.000 to prevent it form \nexecuting the next time the Pi is rebooted.I have successfully updated multiple Pi\u2019s without incident under Ubuntu. <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2338\">Reply<\/a>  <\/li><\/ol><\/li><\/ol><\/li><li><strong>hi_pat_trick<\/strong> <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2078\">October 8, 2019 at 1:35 pm<\/a> Is it safe to be using the server (CLI-only) version of Raspbian to perform this update? <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2078\">Reply<\/a>  <ol><li><strong>jamesachambers<\/strong> <a href=\"https:\/\/jamesachambers.com\/raspberry-pi-4-bootloader-firmware-updating-recovery-guide\/#comment-2086\">October 8, 2019 at 10:12 pm<\/a> Yes, Raspbian Lite is safe!<\/li><\/ol><\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>All of the previous generations of Raspberry Pi contained all of their firmware on the SD card. Starting with the Raspberry Pi 4 the device actually has onboard upgradable firmware stored on an EEPROM chip separate from your storage. Updating this firmware is very important as one of the first released updates reduces power usage&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,6,29],"tags":[],"class_list":["post-637","post","type-post","status-publish","format-standard","hentry","category-how-to-s","category-linux","category-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/posts\/637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=637"}],"version-history":[{"count":1,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/posts\/637\/revisions"}],"predecessor-version":[{"id":639,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=\/wp\/v2\/posts\/637\/revisions\/639"}],"wp:attachment":[{"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=637"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=637"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/notiz.comanet.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}