summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-05-02device: Fix 0xFFFF crash when generating fiasco image without hwrevPali Rohár1-6/+8
2021-05-02fiasco: Mute warning about uninitialized variables fs and checksumPali Rohár1-2/+9
2021-05-02main: Fix NULL pointer dereferncePali Rohár1-2/+4
2021-05-02local: Fix flashing and dumping kernel images with "NOLO img" headerPali Rohár1-10/+25
"NOLO img" header (instead of "NOLO!img" header) is used on older devices.
2021-05-02image: Define 1st, cert-sw and ape-algo Harmattan imagesPali Rohár2-0/+6
This change allows 0xFFFF to unpack Harmattan fiasco images.
2021-05-02fiasco: Show verbose hexdump information about unknown sectionPali Rohár1-1/+5
2021-05-02fiasco: When generating fiasco image append image data part sectionsPali Rohár1-1/+35
Nokia's fiasco-gen writes data part section even if there is only one part. So do the same thing in 0xFFFF.
2021-05-02fiasco: Add support for unpacking multiple parts of one imagePali Rohár4-68/+169
Fiasco mmc image contains layout and two parts in one data section. First part is FAT32 partition (MyDocs) and second part is tar archive for second ext3 partition (/home). This change extends fiasco parser to load all parts from one data section and correctly unpack all parts.
2021-05-02fiasco: Implement subsection checksum verification during parsing fiasco imagePali Rohár1-15/+23
When checksum is set to 0x00 then skip verification due to backward compatibility with 0xFFFF version 0.9 and earlier.
2021-05-02fiasco: Write correct subsection checksum when generating fiasco imagePali Rohár1-1/+21
Previously 0xFFFF written fixed value 0x00 instead of correct checksum. Apparently both NOLO and Nokia's flasher-3.5 ignored checksum value verification when checksum was set to 0x00. Also Nokia's fiasco-gen writes correct checksum (not 0x00) to final fiasco image file.
2021-05-02fiasco: Update comments about unknown bytes and parsing of fiasco imagesPali Rohár1-13/+40
Allow to parse also fiasco images which do not have common parameters: * asic index: APE (0x01) * device type: NAND (0x01) * device index: 0
2021-05-02mkii: Update comments about unknown bytes in flashing protocolPali Rohár1-6/+10
2021-05-02nolo: Update comments about unknown bytes in flashing protocolPali Rohár1-6/+10
2021-05-02main: Fix renaming of dumped imagesPali Rohár1-7/+31
Some information (device, hwrev or version string) does not have to be available.
2021-05-01local: Fix reading kernel size when dumping imagePali Rohár1-1/+2
2021-05-01local: Respect -s (simulate) flag for dump -e operationPali Rohár1-8/+20
2021-05-01disk: Respect -s (simulate) flag for dump -e operationPali Rohár1-14/+22
2021-05-01main: Retry load and flash operations only on -EAGAIN errorPali Rohár1-3/+3
2021-05-01local: Implement local flashing via nandwritePali Rohár1-8/+162
2021-05-01disk: Implement flashing mmc imagesPali Rohár2-15/+75
2021-05-01local: Rename nanddump structures to just nandPali Rohár1-22/+22
They can be used also for other nand commands like nandwrite.
2021-05-01local: Parse real kernel size from NOLO!img header when dumping kernel imagePali Rohár1-36/+64
Kernel image is prepended with 2kB header with NOLO!img magic and contains size of the kernel image. 0xFFFF until now just skipped this header. With this change is reads from it real kernel image size and correctly truncate final dumped image for 0xFFFF -e/-E dump operation.
2021-05-01local: Fix calling nanddumpPali Rohár1-2/+2
In last 15 years nanddump changed its command line arguments. Argument -b (omit bad blocks) was completely removed and argument -o (omit oob data) changed its meaning to "include" oob data. So for compatibility with all nanddump versions, do not use argument -b and instead of -o use argument --omitoob which is present in all nanddump versions and has same meaning to omit oob data. This change should fix dumping firmware files on devices with recent versions of nanddump.
2021-01-05usb-device: Specify alternate id for cold flashingPali Rohár1-1/+1
2021-01-05usb-device: Add N900 U-Boot mode (TTY via USB) to device listPali Rohár1-1/+2
2021-01-05usb-device: Check that usb device provides required interface/alternate settingsPali Rohár1-0/+12
2021-01-05usb-device: Remove dead usb_set_configuration() codePali Rohár2-25/+14
It is on worng place, must be called prior usb_claim_interface() and currently no device use it.
2021-01-05usb-device: Remove 0x0421/0x3f00 from listPali Rohár1-1/+0
It was some internal Nokia development board with just temporary device id. Not a real RX-34 device.
2021-01-05usb-device: Fix interface id for Nokia N9 Sync mode and disable it as it use ↵Pali Rohár1-1/+1
unsupported ADL protocol
2021-01-05usb-device: Fix iterating over supported list of devicesPali Rohár1-2/+2
2021-01-05disk: Fix detecting Nokia N9 devicePali Rohár1-2/+2
2020-12-26usb-device: Add device ids for Nokia N950 and Nokia N9Pali Rohár1-3/+10
2020-11-29usb-device: Fix range or printable charactersPali Rohár1-1/+1
2020-11-29usb-device: Fix error message for usb_set_altinterfacePali Rohár1-1/+1
2020-04-25all: Fix delays for all operationsPali Rohár5-10/+15
2020-01-15local: Do not show error message about missing dump files which were skippedPali Rohár1-1/+3
2019-09-30disk: Check if reading from block device failedPali Rohár1-0/+5
2018-04-19usb-device: restore N800 supportAaro Koskinen1-1/+1
N800 has stopped working at some point, not sure why: $ 0xFFFF -I [...] Waiting for USB device... Found USB device: SU-18/RX-44/RX-48/RX-51/RM-680 (0x421:0x105) in NOLO mode USB device product string: Nokia N800 (Update mode) USB device serial number string: (not detected) Detected USB device: RX-34 Error: Device mishmash Add the device to 0421:0105 list, and it works again: Waiting for USB device... Found USB device: SU-18/RX-34/RX-44/RX-48/RX-51/RM-680 (0x421:0x105) in NOLO mode USB device product string: Nokia N800 (Update mode) USB device serial number string: (not detected) Detected USB device: RX-34 Initializing NOLO... Device: RX-34 [...]
2018-02-08disk: Fix detection of busnumPali Rohár1-1/+9
Unpatched version of libusb on linux platform does not set location, but Debian's version of libusb has a patch which set it. For compatibility with other systems without unpatched libusb version, read busnum from dirname which seems to be always set. Fixes: https://github.com/pali/0xFFFF/issues/5
2018-02-08disk: Remove remaining ENOMEDIUMPali Rohár1-1/+1
2018-02-08disk: Fix swapping maj1:min1 and maj2:min2Pali Rohár1-1/+1
2018-02-08main: Print message after dumping finishPali Rohár1-0/+2
2018-02-08disk: Fix compile warning: comparison between signed and unsigned integer ↵Pali Rohár1-1/+1
expressions
2018-02-08disk: Open whole block device with O_NONBLOCKPali Rohár1-6/+4
This would simplify handling of ENOMEDIUM error.
2018-02-08disk: Ensure that maj1:min1 is first device and maj2:min2 is second devicePali Rohár1-0/+11
2017-07-09disk: After opening blkdev, check that it is really block devicePali Rohár1-0/+4
2017-07-09disk: Close device file handle when freeing structuresPali Rohár3-1/+12
2017-07-09disk: Fix detection of correct device in disk_open_dev()Pali Rohár1-20/+38
2017-07-06disk: Choose correct partition in disk_open_dev()Pali Rohár1-2/+8
2017-06-17main: Use image_alloc_from_fd() to fix race condition between calling stat ↵Pali Rohár1-7/+15
and opening file