Ah sry. You're correct. Was a careless mistake
.
-------------------
"Select hex range from 0x1E0000 to 0x1E84FF and copy it from the dumped firmware to the new firmware file."
"Select now the hex range from 0x1E9000 to 0x1EBFFF from the dumped firmware to the new firmware file."
"Select, at last, the range from 0x1F0000 to the end from the dumped firmware to the new firmware file."
Help Guide for Teddy's guide, hexediting with "dd"-command in Linux for official UHD drive to UHD-friendly-drive-conversion
(EEPROM Data Mover method is probably not an option here.
first Hex-range differs from other guide "Dumping & Downgrading firmware on UHD Friendly Devices" for normal downgrade -where the Data Mover method is related to)
Backup your original unit's firmware on multiple places!!
Things needed:
official UHD drive convertible to UHD-friendly: eg. LG WH16NS60
Clean firmware: flash_ASUS_BW-16D1HT_3.01.bin
2nd copy from your WH16NS60 original dump
Knoppix; Debian or Ubuntu: "dd" command program installed
DVD-blank disk (DVD+RW/DVD-RW/DVD+R/DVD-R)
(empty) USB flash drive (optional)
http://www.knopper.net/knoppix-mirrors/
Choose your download mirror:
(eg. v8.2 DVD ISO=>newer)
Burn the DVD-ISO to DVD eg. with ImgBurn (Burn image to disc). Then boot Knoppix from DVD.
Once in Knoppix, prepare Knoppix bootable USB flash drive (empty!!)
with flash Knoppix to USB on Knoppix-Desktop (shortcut-symbol), which will make Knoppix boot much faster
.
"RUFUS" should have an option to make a bootable USB flash drive from a bootable Knoppix ISO-image.
"Prepare an {...} bootable stick, using Rufus (which can be downloaded
here)".
http://rufus.akeo.ie/?locale
--
In Knoppix open Console/bash/shell/terminal
type in:
su
To find partition with your firmware files,
type in:
cat /proc/partitions:
As safety precaution mount partition/storage device, containing the "flash_ASUS_BW-16D1HT_3.01.bin" and your original unit's firmware, as
read-only!!
mount -o ro /media/sdXy
(sdXy is your corresponding partition from behind /dev/"" in /cat/proc/partitions -table
containing the necessary files.)
Navigate to directory with the files,
type in ("sdb1" example location)
cd /media/sdb1/Users/Your-Username/Download
Copy "flash_ASUS_BW-16D1HT_3.01.bin" and WH16NS60_Original-Dumped-Dosflash.bin to other location,
type in (in two seperate commands:
cp -a flash_ASUS_BW-16D1HT_3.01.bin /home/knoppix
cp -a WH16NS60_Original-Dumped-Dosflash.bin /home knoppix
"/home/knoppix" = RAM-Disc (files saved there, will be lost after rebooting!!)
When finished, type in:
sync
Navigate to /home/knoppix:
cd /home/knoppix
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=1966080 count=34048 of=flash_ASUS_BW-16D1HT_3.01.bin seek=1966080 conv=notrunc
flash_ASUS_BW-16D1HT_3.01.bin =Clean firmware
---
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=2002944 count=12288 of=flash_ASUS_BW-16D1HT_3.01.bin seek=2002944 conv=notrunc
---
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=2031616 of=flash_ASUS_BW-16D1HT_3.01.bin seek=2031616 conv=notrunc
(each alone confirmed with pressing return)
Rename "flash_ASUS_BW-16D1HT_3.01.bin" to "NS60-Cv.bin", type in:
mv flash_ASUS_BW-16D1HT_3.01.bin NS60-Cv.bin
Plug in further USB pen drive with Teddy's Dosflash: (Please DO NOT unplug Knoppix-USB-drive as currently running!!)
type in:
cat /proc/partitions:
Mount your USB flash drive with Teddy's Dosflash:
mount /dev/sdRz /media/sdRz
Copy NS60-Cv.bin to the Dosflash USB flash drive, type in:
cp -a /home/knoppix/NS60-Cv.bin /media/sdRz
Then, type in:
sync
Then make sure that all potential console-windows/tabs are navigated away from the currently opened directories from mounted storage device/partition with the firmwares
type in:
cd /
Unmount the filesystems with the firmwares (
NO REBOOT!!)(Exampl.):
unmount /media/sdb1
unmount /media/sdRz
-------------------------------------------------------
Explanation for values for dd-command (seek=,skip=,count=)
First Hex range: 0x1E0000 to 0x1E84FF
=>all bytes between Byte offset
0x1E84FF and Byte offset
0x1E0000
=>Byte count: difference between
0x1E84FF (including) and
0x1E0000 (including),
plus adding up one to difference (from start of 0x1E0000 till start of 0x1E84FF + last one Byte (0x1E84FF)
Convert
0x1E0000 (hexa-dec.) =>(dec.):
0x1E0000
=1 *16^5 + E *16^4 + 0 *16^3 + 0 *16^2 + 0 *16^1 + 0 *16^0
=1*16^5 + 14 *16^4 + 0 + 0 + 0 + 0
=1*(2^4)^5 +14 *(2^4)^4
=1*(2^20) + 14 *(2^16)
=1*(2^10)*2^(10) + 14 * (2^10*2^6)
=1024*1024 + 14 * (1024 *64)
=1048576 + 14 *(65536)
=1048576 + 917504
=
1966080
=>
0x1E0000 (hex-dec.) => 1966080 (dec.)
Convert
0x1E84FF (hexa-dec.) =>(dec.)
0x1E84FF
=1 *16^5 + E *16^4 + 8 *16^3 + 4 *16^2 + F *16^1 + F *16^0
=1 *16^5 + 14 *16^4 + 8 *16^3 + 4 *16^2 + 15 *16^1 + 15 *16^0
=16^5 + 7 *2^1 *(2^4)^4 + 2^3 *(2^4)^3 + 2^2*(2^4)^2 + 15* 16 + 15 *1
=1048576 + 7*2^17 + 2^15 + 2^10 +240 + 15
=1048576 + 7 *131072 + 32768 + 1024 + 255
=1048576 + 917504 + 32768 + 1279
=
2000127(dec.)
=>
0x1E84FF (hex-dec.) => 2000127(dec.)
(Byte) 2000127(dec.) - (Byte) 1966080 (dec.) = 34047 Bytes (dec.)
plus adding up one to difference (from start of 0x1E0000 till start of 0x1E84FF + last one Byte (0x1E84FF)
34047 (dec.) Bytes + 1 Byte =34048 Bytes
=>First Byte Range from hexrange (dec.) =34048 Bytes (dec.)
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=1966080 count=34048 of=flash_ASUS_BW-16D1HT_3.01.bin seek=1966080 conv=notrunc
----------------------------------------------------------
Second Hex range: 0x1E9000 to 0x1EBFFF
=>all bytes between Byte offset
0x1EBFFF and offset
0x1E9000
=>Byte count: difference between
0x1EBFFF (including) and
0x1E9000 (including),
plus adding up one to difference (from start of 0x1E9000 till start of 0x1EBFFF + last one Byte (0x1EBFFF)
Convert
0x1EBFFF (hexa-dec.) =>(dec.)
0x1EBFFF
=1 *16^5 + E *16^4 + B *16^3 + F *16^2 + F *16^1 + F *16^0
=1 *16^5 + 14 *16^4 + 11 *16^3 + 15 *16^2 + 15 *16^1 + 15 *16^0
=16^5 + 14 *((2^4)^4) + 11 *((2^4)^3) + 15*((2^4)^2) + 15 *16 + 15*1
=1048576 + 14 * 2^16 + 11 *2^12 + 15 *2^8 + 240 + 15
=1048576 + 14 *65536 + 11 *4096 + 15 *256 + 255
=1048576 + 917504 + 45056 + 3840 + 255
=
2015231 (dec.)
=
0x1BFFF (hexa-dec.) =>
2015231 (dec.)
Convert
0x1E9000 (hexa-dec.) =>(dec.)
0x1E9000
=1 *16^5 + E *16^4 + 9 *16^3 + 0 *16^2 + 0 *16^1 + 0 *16^0
=1 *16^5 + 14 *16^4 + 9 *16^3 + 0 *16^2+ 0 *16^1 + 0 *16^0
=16^5 + 14 *((2^4)^4) + 9 *(2^4)^3 + 0 + 0 + 0
=1048576 + 14 *2^16 + 9 *2^12
=1048576 + 14 *65536 + 9 *4096
=1048576 + 917504 + 36864
=
2002944 (dec.)
=
0x1E9000 (hex) =>
2002944 (dec.)
(Byte) 2015231 (dec.) - (Byte) 2002944 (dec.) = 12287 Bytes (dec.)
plus adding up one to difference (from start of 0x1E9000 till start of 0x1EBFFF + last one Byte (0x1EBFFF)
12287 Bytes (dec.) + 1 Byte = 12288 Bytes (dec)
=>Second Byte Range from Hex Range=12288 Bytes (dec.)
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=2002944 count=12288 of=flash_ASUS_BW-16D1HT_3.01.bin seek=2002944 conv=notrunc
-------------------------------------------------------------
Third Hex range: 0x1F0000 to End of file
=>all bytes between Byte offset
0x1F0000 to including the last byte (end of file).
=>No range necessary to calculate. Just from
0x1F0000 (including) to end (including)
Convert
0x1F0000 (hexa-dec.) =>(dec.)
0x1F0000
=1 *16^5 + F *16^4 + 0 *16^3 + 0 *16^2 + 0 *16^1 + 0 *16^0
=1 *16^5 + 15 *16^4 + 0 + 0 + 0 + 0
=(2^4)^5 + 15 *((2^4)^4)
=2^10 *2^10 + 15 *2^16
=1048576 + 15 * 65536
=1048576 + 983040
=
2031616 (dec.)
=
0x1F0000 (hex) =>
2031616 (dec.)
No Byte range necessary to calculate. Just from 0x1F0000 (including) to end (including)
Code:
dd if=WH16NS60_Original-Dumped-Dosflash.bin bs=1 skip=2031616 of=flash_ASUS_BW-16D1HT_3.01.bin seek=2031616 conv=notrunc