Pali Rohár
b46e4a6ad5
image: Define 1st, cert-sw and ape-algo Harmattan images
...
This change allows 0xFFFF to unpack Harmattan fiasco images.
2021-05-02 17:19:56 +02:00
Pali Rohár
e65d7d1636
fiasco: Show verbose hexdump information about unknown section
2021-05-02 17:06:20 +02:00
Pali Rohár
1f466936cb
fiasco: When generating fiasco image append image data part sections
...
Nokia's fiasco-gen writes data part section even if there is only one part.
So do the same thing in 0xFFFF.
2021-05-02 17:04:27 +02:00
Pali Rohár
df8e50a824
fiasco: Add support for unpacking multiple parts of one image
...
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-02 17:01:48 +02:00
Pali Rohár
4f45b045c3
fiasco: Implement subsection checksum verification during parsing fiasco image
...
When checksum is set to 0x00 then skip verification due to backward
compatibility with 0xFFFF version 0.9 and earlier.
2021-05-02 14:24:51 +02:00
Pali Rohár
3c4943340b
fiasco: Write correct subsection checksum when generating fiasco image
...
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-02 14:22:55 +02:00
Pali Rohár
ce67a58983
fiasco: Update comments about unknown bytes and parsing of fiasco images
...
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-02 14:19:38 +02:00
Pali Rohár
a6b6b71ded
doc: Update fiasco documenation
2021-05-02 14:09:53 +02:00
Pali Rohár
580f1de0fe
mkii: Update comments about unknown bytes in flashing protocol
2021-05-02 13:43:21 +02:00
Pali Rohár
f9e88d6f91
nolo: Update comments about unknown bytes in flashing protocol
2021-05-02 13:42:36 +02:00
Pali Rohár
ca035e2ec1
main: Fix renaming of dumped images
...
Some information (device, hwrev or version string) does not have to be available.
2021-05-02 13:36:56 +02:00
Pali Rohár
5c0720da32
local: Fix reading kernel size when dumping image
2021-05-01 21:06:37 +02:00
Pali Rohár
374fd1be01
TODO: Update implemented parts
2021-05-01 20:41:40 +02:00
Pali Rohár
f144067634
local: Respect -s (simulate) flag for dump -e operation
2021-05-01 20:39:44 +02:00
Pali Rohár
bbf438e1a8
disk: Respect -s (simulate) flag for dump -e operation
2021-05-01 20:38:26 +02:00
Pali Rohár
670db0d169
main: Retry load and flash operations only on -EAGAIN error
2021-05-01 20:10:21 +02:00
Pali Rohár
6eb58dcccb
local: Implement local flashing via nandwrite
2021-05-01 20:09:40 +02:00
Pali Rohár
b090564a85
disk: Implement flashing mmc images
2021-05-01 20:07:49 +02:00
Pali Rohár
38f83f8db4
local: Rename nanddump structures to just nand
...
They can be used also for other nand commands like nandwrite.
2021-05-01 18:27:32 +02:00
Pali Rohár
342dc610b3
local: Parse real kernel size from NOLO!img header when dumping kernel image
...
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-01 18:20:13 +02:00
Pali Rohár
67427daf17
local: Fix calling nanddump
...
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-05-01 15:34:22 +02:00
Pali Rohár
bf24ca2345
Release version 0.9
2021-01-05 19:16:39 +01:00
Pali Rohár
5c845a947e
usb-device: Specify alternate id for cold flashing
2021-01-05 15:51:10 +01:00
Pali Rohár
673ccaf71d
usb-device: Add N900 U-Boot mode (TTY via USB) to device list
2021-01-05 15:32:20 +01:00
Pali Rohár
9bc4b8c26f
usb-device: Check that usb device provides required interface/alternate settings
2021-01-05 15:04:31 +01:00
Pali Rohár
e6422cf5a2
usb-device: Remove dead usb_set_configuration() code
...
It is on worng place, must be called prior usb_claim_interface() and currently no device use it.
2021-01-05 14:38:02 +01:00
Pali Rohár
a6effa8f62
usb-device: Remove 0x0421/0x3f00 from list
...
It was some internal Nokia development board with just temporary device id. Not a real RX-34 device.
2021-01-05 13:45:01 +01:00
Pali Rohár
e16a79f75e
usb-device: Fix interface id for Nokia N9 Sync mode and disable it as it use unsupported ADL protocol
2021-01-05 13:28:29 +01:00
Pali Rohár
93bd73d451
usb-device: Fix iterating over supported list of devices
2021-01-05 12:35:40 +01:00
Pali Rohár
0e5ceffa42
disk: Fix detecting Nokia N9 device
2021-01-05 12:32:34 +01:00
Pali Rohár
ca080dd33f
usb-device: Add device ids for Nokia N950 and Nokia N9
2020-12-26 01:40:57 +01:00
Pali Rohár
4ae1f13624
usb-device: Fix range or printable characters
2020-11-29 21:56:29 +01:00
Pali Rohár
69a7c2705e
usb-device: Fix error message for usb_set_altinterface
2020-11-29 21:55:17 +01:00
Pali Rohár
f37c2cd7e8
all: Fix delays for all operations
2020-04-25 20:04:51 +02:00
Pali Rohár
e94279eecb
local: Do not show error message about missing dump files which were skipped
2020-01-15 23:38:29 +01:00
Pali Rohár
52793b733d
disk: Check if reading from block device failed
2019-09-30 17:42:16 +02:00
Pali Rohár
b87411c02f
Release version 0.8
2018-07-08 12:22:33 +02:00
Pali Rohár
9e5646d30e
travis: Do not run Coverity Scan jobs on non-master branches and in pull requests
2018-02-26 13:10:35 +01:00
Pali Rohár
33442482c6
disk: Fix detection of busnum
...
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-08 23:20:14 +01:00
Pali Rohár
e987dcd948
disk: Remove remaining ENOMEDIUM
2018-02-08 20:35:12 +01:00
Pali Rohár
2fd11378c8
disk: Fix swapping maj1:min1 and maj2:min2
2018-02-08 20:28:31 +01:00
Pali Rohár
808ce724ee
main: Print message after dumping finish
2018-02-08 19:49:54 +01:00
Pali Rohár
ca1db96690
disk: Fix compile warning: comparison between signed and unsigned integer expressions
2018-02-08 19:49:13 +01:00
Pali Rohár
a6c20b5ee4
disk: Open whole block device with O_NONBLOCK
...
This would simplify handling of ENOMEDIUM error.
2018-02-08 19:48:34 +01:00
Pali Rohár
e685787e67
disk: Ensure that maj1:min1 is first device and maj2:min2 is second device
2018-02-08 19:24:11 +01:00
Pali Rohár
559fe2a3bd
disk: After opening blkdev, check that it is really block device
2017-07-09 17:26:13 +02:00
Pali Rohár
ccec7a182f
disk: Close device file handle when freeing structures
2017-07-09 14:57:41 +02:00
Pali Rohár
31569c169a
disk: Fix detection of correct device in disk_open_dev()
2017-07-09 14:56:30 +02:00
Pali Rohár
27a55c3367
disk: Choose correct partition in disk_open_dev()
2017-07-06 20:55:41 +02:00
Pali Rohár
cda5dc6116
main: Use image_alloc_from_fd() to fix race condition between calling stat and opening file
2017-06-17 23:48:01 +02:00
Pali Rohár
5cbd5e92b8
image: Add new function image_alloc_from_fd()
2017-06-17 23:47:10 +02:00
Pali Rohár
1ec3777cb8
image: Call image_free() when image_append() is failing
2017-06-17 23:46:50 +02:00
Pali Rohár
897919a70f
main: Fix race condition between calling stat and rename
2017-06-17 23:10:36 +02:00
Pali Rohár
76b18b9d39
travis: Fix coverity job
2017-03-03 18:44:29 +01:00
Pali Rohár
ffcc10f689
travis: Simplify configuration, move coverity_scan to matrix
2017-02-26 17:00:07 +01:00
Pali Rohár
16cdf3e776
travis: Run on container-based infrastructure
2017-02-26 16:19:42 +01:00
Pali Rohár
dc81ebb855
travis: Use apt addon instead sudo
2017-02-26 16:09:52 +01:00
Pali Rohár
66ecce9a3d
disk: Remove check which is always false
...
Type unsigned long long int according to C99 can store at least 2^64-1.
2017-01-09 22:56:33 +01:00
Pali Rohár
87867a5904
cal: Fix race condition between calling stat and opening file
2017-01-08 14:33:08 +01:00
Pali Rohár
f0b8ee117b
Makefile: Fix setting compiler
2017-01-08 03:42:34 +01:00
Pali Rohár
4c8206b44f
travis: Enable clang and use separate job for Coverity
2017-01-08 03:33:39 +01:00
Pali Rohár
9bf886c041
Release version 0.7
2016-12-25 11:46:12 +01:00
Pali Rohár
955ee1bd1e
TODO: Update state
2016-12-24 18:23:43 +01:00
Pali Rohár
b4314bce15
cal: Fix pointer check
2016-12-24 18:22:02 +01:00
Pali Rohár
117d0bb2d0
cal: cal_read_block allocate memory
2016-12-24 18:06:57 +01:00
Pali Rohár
f7bad18a56
disk: Fix for RM-680
2016-12-23 10:13:42 +01:00
Pali Rohár
82de19bee1
disk: Check for ENOMEDIUM when partition is required
2016-12-23 10:13:23 +01:00
Pali Rohár
b7c28b2c1b
cal: SSIZE_MAX is not required to be defined
2016-12-23 10:13:07 +01:00
Pali Rohár
0a1ac25219
cal: Move sys/ioctl.h to __linux__
2016-12-23 10:12:27 +01:00
Pali Rohár
bd59c47ec3
usb-device: Detect Nokia N950 in disk mode
2016-12-21 18:25:25 +01:00
Pali Rohár
645e280d69
cal: Fix memory leak
2016-12-17 18:00:07 +01:00
Pali Rohár
bc0f663e92
cal: Fix check for lseek errors
2016-12-17 03:00:12 +01:00
Pali Rohár
b8fb95b2aa
all: Enable Large File Support
2016-12-17 01:53:16 +01:00
Pali Rohár
e36423e8c2
all: Fix printing fsblkcnt_t and off_t types
2016-12-17 01:52:50 +01:00
Pali Rohár
430930537c
all: Use #include <sys/sysmacros.h> for major() instead #define _BSD_SOURCE
2016-12-17 01:51:33 +01:00
Pali Rohár
7522a9fbc7
all: Fix compilation when u_int*_t are not defined and used by usb.h
2016-12-16 15:39:46 +01:00
Pali Rohár
6ec64f4992
operations: Fix NULL pointer dereference in dev_boot_device
...
This will fix a crash when calling "0xFFFF -b" from Mk II Update mode.
2016-12-10 14:13:41 +01:00
Pali Rohár
8f57f7ef61
mkii: Fix detection of Update mode
2016-12-10 14:13:14 +01:00
Pali Rohár
3d71caab8f
usb-device: Do not reattach kernel driver after closing cold flash mode
2016-12-07 11:56:37 +01:00
Pali Rohár
4ccf8fb369
usb-device: Do not print verbose message "Reattach kernel driver to USB interface..."
2016-12-07 11:55:54 +01:00
Pali Rohár
188fa70c80
cold-flash: Increase timeout after leaving cold flash mode
...
Switching to NOLO takes about one second and NOLO itself wait another second. So it should be OK.
2016-12-07 11:55:26 +01:00
Pali Rohár
f2a51b5041
disk: Do not fail when empty block device is exported
2016-12-07 11:38:07 +01:00
Pali Rohár
19e2b22193
image: Remove dead code in image_align()
2016-12-07 00:39:36 +01:00
Pali Rohár
15dbd14d7a
doc: Update fiasco documentation
2016-12-06 23:42:41 +01:00
Pali Rohár
0650cdf51f
cold-flash: Show OMAP chip revision
2016-12-06 23:13:48 +01:00
Pali Rohár
9ea8f2bb38
cal: Style fix
2016-12-06 23:13:12 +01:00
Pali Rohár
9a5f940046
usb-device: Check that we are not using broken libusb-1.0 library
2016-12-06 23:11:47 +01:00
Pali Rohár
5e79d651ca
all: Compile globally without _GNU_SOURCE, define _BSD_SOURCE or _GNU_SOURCE where needed
2016-12-06 23:10:58 +01:00
Pali Rohár
676da47751
all: Revert libusb-1.0 support
...
Listing of usb devices with libusb-1.0 is too slow and not usable for
flashing or cold-flashing Nokia N900.
Old libusb (0.1) does not have this problem and works perfectly.
Problem for libusb-1.0 was reported at least two times into libusb-devel
mailing list, but upstream developers are totally ignore it. One message is
in archive: https://sourceforge.net/p/libusb/mailman/message/34985373/
Because of that there is just one option: use tested and working libusb 0.1
library instead some experimental and non-working libusb-1.0.
2016-12-06 22:39:44 +01:00
Pali Rohár
ea7f2a441a
all: Add support for Nokia N950 (RM-680)
2016-06-27 17:24:51 +02:00
Pali Rohár
61d77eed68
mkii: Call /version/sw_release only for protocol version 2
...
Looks like command /version/sw_release is supported only by protocol version 2.
2016-06-27 17:24:05 +02:00
Pali Rohár
8a433f2d7a
usb-device: Do not reattach kernel driver if USB interface is not used
2016-05-12 00:18:02 +02:00
Pali Rohár
cf95375177
disk: Fix detection of MyDocs partition in DISK RAW mode for non RX-51 devices
2016-05-12 00:12:55 +02:00
Pali Rohár
d2e7b3d242
mkii: Implement rebooting to Update mode
2016-03-12 12:47:41 +01:00
Pali Rohár
54805eb040
mkii: Define MKII_UPDATE_MODE instead hardcoded constant
2016-03-12 12:01:27 +01:00
Pali Rohár
7b3e9bcf00
mkii: Use libusb_get_active_config_descriptor() instead libusb_get_config_descriptor()
...
This will fix problem that it was used incorrect config index
2016-03-12 11:38:00 +01:00
Pali Rohár
96e4fa5995
mkii: Fix memory leak, call libusb_free_config_descriptor()
2016-03-12 11:36:50 +01:00
Pali Rohár
c560f3642c
usb-device: Finish usb device detection based on product strings
2016-03-09 00:15:59 +01:00
Pali Rohár
98451c5851
usb-device: Add FLASH_DISK usb ids for all supported devices
2016-03-09 00:15:25 +01:00
Pali Rohár
a1623bcb7e
image: Fix detection of jffs2 initfs images
...
Looks like that some official initfs images are bigger then 3MB, so set limit to 10MB
2016-03-09 00:07:52 +01:00