[HTC One S] bluebenno:
edit try this first if you just want wifi: http://xdaforums.com/showthread.php?t=2151142

I love Sense and Viper ROM. What I don't love is HTC's definition of “unlocked” - so changing my WIFI and Radio firmware is a pain.

I hacked Viper's boot.img to use /etc/firmware rather than the WIFI(x2) + Radio partitions. I can now change my firmware using adb or an install tool => just put/update the files into /etc/firmware. As CM10 ROMs (my 2nd love) use /etc/firmware, you can now use their firmware installers.

This worked for me on my phone - but it is a hack - maybe it will work for others, mabye not. I would not try this if you aren't experienced, as it's totally untested and unverified. If this is a viable solution you'll see refinement and success reports over time.

This might help you get your wifi working with the Viper ROM - if you cannot flash your write protected WIFI partitions

This will make it really easy to change Radios

prerequisites

- Working Viper Install

- Recovery Image working (I used TWRP, but for sure their are others)

- Fastboot working

- adb working

- Ability to diagnose and fix a boot loop

- Guts as this is untried, untested and unverified...

1. Make a backup and copy it off your phone.

I use TWRP and then adb to 'pull' it.

2. Load WIFI firmware and Radio firmware into /etc/firmware - these are most often (*) transparent to Sense ROMS

You need to load the Radio, Wifi (q6) and Wifi (wcnss) firmwares into /etc/firmware. You will have an awsome boot loop later on if you leave something out.

I copied the files with adb, but you can also install zip files:

Radio: The awsome Tecardo's CM10 Radio Collection, use the CM10-Radio-InstallerV1.5.zip - from here.

WIFI (q6 and wcnss): I hacked an installer to use /etc/firmware rather than the partitions see attached file . I shamlessly copied from Zarboz WIFI firmware installer. These are the firmware files that fixed the WIFI authentication problem for me.

Boot into TWRP then install:

Ville.WIFI.Firmware_etcfirmware.RC1.zip

CM10-Radio-InstallerV1.5.zip -> choose the radio you want (

3. Sanity check - Boot Viper and make sure it's still working.

The firmware you just added is most often (*) ignored. You should verify the additional files are in /etc/firmware - adb shell.

[COLOR="RoyalBlue"][SIZE="2"]bash-4.2$ adb shell
ViperX@/# cd /etc/firmware
ViperX@/etc/firmware#
ViperX@/etc/firmware# ls -al | grep q6
-rw-r--r-- root root 276 2013-02-17 11:15 q6.b00
-rw-r--r-- root root 6580 2013-02-17 11:15 q6.b01
-rw-r--r-- root root 3428272 2013-02-17 11:15 q6.b03
-rw-r--r-- root root 2032526 2013-02-17 11:15 q6.b04
-rw-r--r-- root root 766032 2013-02-17 11:15 q6.b05
-rw-r--r-- root root 13248 2013-02-17 11:15 q6.b06
-rw-r--r-- root root 6856 2013-02-17 11:15 q6.mdt
ViperX@/etc/firmware# ls -al | grep wcnss
-rw-r--r-- root root 212 2013-02-17 11:15 wcnss.b00
-rw-r--r-- root root 6540 2013-02-17 11:15 wcnss.b01
-rw-r--r-- root root 8360 2013-02-17 11:15 wcnss.b02
-rw-r--r-- root root 1787316 2013-02-17 11:15 wcnss.b04
-rw-r--r-- root root 6752 2013-02-17 11:15 wcnss.mdt
ViperX@/etc/firmware#
ViperX@/etc/firmware# ls -al | grep modem
-rw-r--r-- root root 308 2008-08-01 22:00 modem.b00
-rw-r--r-- root root 6600 2008-08-01 22:00 modem.b01
-rw-r--r-- root root 22530448 2008-08-01 22:00 modem.b02
-rw-r--r-- root root 5120129 2008-08-01 22:00 modem.b03
-rw-r--r-- root root 1345816 2008-08-01 22:00 modem.b04
-rw-r--r-- root root 71376 2008-08-01 22:00 modem.b06
-rw-r--r-- root root 717044 2008-08-01 22:00 modem.b07
-rw-r--r-- root root 6908 2008-08-01 22:00 modem.mdt
-rw-r--r-- root root 1044 2008-08-01 22:00 modem_fw.b00
-rw-r--r-- root root 7060 2008-08-01 22:00 modem_fw.b01
-rw-r--r-- root root 2676 2008-08-01 22:00 modem_fw.b02
-rw-r--r-- root root 958928 2008-08-01 22:00 modem_fw.b03
-rw-r--r-- root root 579884 2008-08-01 22:00 modem_fw.b04
-rw-r--r-- root root 239892 2008-08-01 22:00 modem_fw.b05
-rw-r--r-- root root 94208 2008-08-01 22:00 modem_fw.b06
-rw-r--r-- root root 13568 2008-08-01 22:00 modem_fw.b07
-rw-r--r-- root root 11212 2008-08-01 22:00 modem_fw.b08
-rw-r--r-- root root 9596 2008-08-01 22:00 modem_fw.b09
-rw-r--r-- root root 68295 2008-08-01 22:00 modem_fw.b10
-rw-r--r-- root root 118028 2008-08-01 22:00 modem_fw.b13
-rw-r--r-- root root 158676 2008-08-01 22:00 modem_fw.b14
-rw-r--r-- root root 3604 2008-08-01 22:00 modem_fw.b21
-rw-r--r-- root root 28628 2008-08-01 22:00 modem_fw.b22
-rw-r--r-- root root 19424 2008-08-01 22:00 modem_fw.b23
-rw-r--r-- root root 74384 2008-08-01 22:00 modem_fw.b25
-rw-r--r-- root root 50108 2008-08-01 22:00 modem_fw.b26
-rw-r--r-- root root 84588 2008-08-01 22:00 modem_fw.b29
-rw-r--r-- root root 8104 2008-08-01 22:00 modem_fw.mdt
ViperX@/etc/firmware# [/SIZE][/COLOR]

4. Test boot the hacked boot.img

Do a one off download of the hacked boot.img into your phone. It will not over-write the boot.img on the phone, just download it into memory and execute it just this once See attached file

boot into the bootloader for fastboot session:

fastboot boot hackedviperforfirmwarelinks_boot.img

5. Test and post results - either way

Total number of users to try this, that aren't me: 0 be scared

6. Install the hacked boot.img

If your happy and want to keep using the hack. Flash the hacked boot.img.

boot into the bootloader for fastboot session:

fastboot flash boot hackedviperforfirmwarelinks_boot.img

7. To uninstall - remember to do this when you upgrade Viper or restore a ROM

Extract boot.img from ViperOneS_2.0.0.zip - on your linux/windows rig

fastboot flash boot boot.img

(*) note:

The firmware loading mechanisms on Sense ROMs are complicated, RC scripts will search and then link to any salient firmware they might find. Things will depend on what/where and even the case of the filenames!

Caution:

I absolutely 100% guarantee you a boot loop either now or in the future. If you forget to flash the Viper supplied boot.img when you upgrade you'll have a great little recovery excercise! Same goes if you restore a backup. I forgot every time. There probably is some locale specific firmware that I don't know about. If your phone depends on it and it isn't in /etc/firmware then it will boot loop.

Technical Details

I updated the init.target.rc to: see copyright, license banner attached

not mount the firmware partitions: /firmware_radio, /firmware_q6, /firmware_wcnss

softlink above to /etc/firmware

Credit's:

On my screen the entire time was AKToronto's partition list + cat2115

I'd never put a zip file together, so what I've done probably sucks. I shamlessly copied Zarboz's extracted firmware and anything good from his install script, refer.