[Galaxy S 4 General] SamuriHL:
You found the right thread. You only need the recovery img from that zip. That's what I used to restore my recovery partition to stock for 4.2.2.

---------- Post added at 09:24 AM ---------- Previous post was at 08:48 AM ----------

http://www.mediafire.com/download/dtgrcyv9ux8g4u8/modem_422.tar.md5

There is a 4.2.2 baseband odin flash. It should work to downgrade the baseband in theory. It's different than the ones provided in the 4.2.2 full dump. A little explanation is in order. (Ok, so, this is going to be a long explanation with a lot of technical details.)

What I've done is rip open the update ota and look at the scripts contained within. The one I was originally looking for was how they build the recovery img. Simply put, they apply a recovery-from-boot.p to the boot.img file that's contained within the update zip. That one was fairly trivial to perform. Basically copy the boot.img and the recovery-from-boot.p to your /sdcard and run the applypatch command in a su shell to spit out the recovery.img file. The applypatch command for that looks like this:

su
cd /sdcard
applypatch boot.img recovery.img 6a1bef2e13ea3b9a4284565d560f7a2c0a17bf5d 9775360 07f4bc5b3cb20428a40d74dd0cff8a147d7155ef:recovery-from-boot.p

The baseband files were more complicated. The ones extracted from 4.2.2 and included in the 4.2.2 full dump didn't match the sha1 hash for the applypatch commands in the update-script. Here's the relevant lines from the update-script:

ui_print("Patching NON-HLOS modem image...");
apply_patch("EMMC:/dev/block/platform/msm_sdcc.1/by-name/apnhlos:9018112:de2de0523a88ce0781eb125b563ac0bb176bcb7e:9181952:c15e52d975b0b46478798a436c3feca3d4b755d7",
"-", c15e52d975b0b46478798a436c3feca3d4b755d7, 9181952,
de2de0523a88ce0781eb125b563ac0bb176bcb7e, package_extract_file("patch/NON-HLOS.bin.p"));
set_progress(0.894324);
ui_print("Patching MDM modem image...");
apply_patch("EMMC:/dev/block/platform/msm_sdcc.1/by-name/mdm:51976960:14ce52dce17261030fa5807a4d6d02b2ad061370:51944192:a43358aa04912437a98f3348a63d9bc88f3d7af4",
"-", a43358aa04912437a98f3348a63d9bc88f3d7af4, 51944192,
14ce52dce17261030fa5807a4d6d02b2ad061370, package_extract_file("patch/modem.bin.p"));

So what they're doing is patching the baseband partitions with the .p patch files. Basically, what we wanted to do is apply the patch files to the extracted baseband files. But since the hashes didn't match, the applypatch wasn't going to work. Frack! Then I realized...they include a size param in the apply patch. When you use dd to extract the partitions, it extracts the whole thing. So, I took just the number of bytes from the dd extracted file that the applypatch uses and BOOM! Sha1 hashes match the expected for the new files. Now for the applypatch commands. Like before, I copied the files to my /sdcard and then ran:

su
cd /sdcard
applypatch NON-HLOS.bin NON-HLOS_43.bin c15e52d975b0b46478798a436c3feca3d4b755d7 9181952 de2de0523a88ce0781eb125b563ac0bb176bcb7e:NON-HLOS.bin.p
applypatch modem.bin modem_43.bin a43358aa04912437a98f3348a63d9bc88f3d7af4 51944192 14ce52dce17261030fa5807a4d6d02b2ad061370:modem.bin.p

I copied them back off the /sdcard, renamed them, and followed the standard process for creating an odin tar md5 from them. That's how I've created them and the process we can use going forward for both recovery and baseband updates. Enjoy!