| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As soon as we know the sysfs path of the device to use, we'll setup a
generic udev monitor for all tty, net and usb devices so that we get
notified of all their additions or removals. E.g. when going from normal
mode to QDL download mode:
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan0
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove ttyUSB2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm2
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.8
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove wwan1
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove cdc-wdm3
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4:1.10
[20 ene 2017, 12:49:26] [Debug] [qfu-udev] event: remove 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add 4-1.4:1.0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] event: add ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-udev] waiting device (tty) matched: ttyUSB0
[20 ene 2017, 12:49:27] [Debug] [qfu-updater] TTY device found: /dev/ttyUSB0
|
|
|
|
| |
CRC is not well checked if there is an escape char in input buffer.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Set Firmware Preference command may return an empty list of images
to be downloaded. If that happens and we just power cycle, we won't get
into QDL download mode, the module will just apply the new firmware
selection preference.
With the new --override-download option, we tell the module that even if
we already have the images, we want to perform the download.
This option doesn't apply to older SWI9200 devices as these don't have
any firmware preference setting. The option is implicit for these
devices, though, the download always happens.
|
|
|
|
| |
The --force name is too generic, and we may want to have other similar flags.
|
|
|
|
|
| |
These are no longer update-action specific, as they also apply e.g. when
doing a reset.
|
|
|
|
|
| |
The MC7455 may need around 70s for a complete reboot when selecting a
firmware preference for already stored images.
|
| |
|
|
|
|
|
|
|
| |
When selecting firmware preference we may be told that no firmware image
needs to be downloaded, because it is already there. BUT, we still need
to run the module power cycle so that on the next boot the new firmware
preference is applied.
|
|
|
|
| |
And increase amount of retries.
|
|
|
|
| |
So that we reset any existing client ids.
|
|
|
|
|
| |
This is what more generic Qualcomm software (E.g. Novatel E396) does to
get into QDL download mode.
|
| |
|
| |
|
|
|
|
|
| |
In Yocto, build is done outside source directory.
Without this patch, generated enum files are empty.
|
| |
|
|
|
|
|
| |
The device may need some extra time to properly boot after the cdc-wdm
device is exposed by the kernel, so setup several retries to do so.
|
| |
|
|
|
|
|
|
| |
So that we can run the operation in stdout with standard logging level
but storing in an external file the verbose logs in case they have to be
analyzed later on, e.g. if the update failed.
|
| |
|
|
|
|
| |
Only for the update operation, though.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This new object contains the logic to select which device needs to be
used as target of the firmware upgrade.
|
| |
|
|
|
|
|
|
|
|
| |
So that we don't get stuck e.g. at 98% on the last chunk waiting for it
to be ack-ed, which may take a very long time.
Instead, use progress for all chunks except for the last one and in the
last one just say a generic "finalizing download...".
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The last chunk in the MC7455 may take quite some time:
[08 dic 2016, 22:39:18] [Debug] [qfu-image] reading chunk #61
[08 dic 2016, 22:39:18] [Debug] [qfu-image] chunk #61 size: 418062 bytes
[08 dic 2016, 22:39:18] [Debug] [qfu-image] chunk #61 offset: 63963536 bytes
[08 dic 2016, 22:39:18] [Debug] [qfu-image] chunk #61 successfully read
[08 dic 2016, 22:39:18] [Debug] [qfu,qdl-message] sent write-unframed-req:
[08 dic 2016, 22:39:18] [Debug] [qfu,qdl-message] sequence: 61
[08 dic 2016, 22:39:18] [Debug] [qfu,qdl-message] chunk size: 418062
[08 dic 2016, 22:39:18] [Debug] [qfu-qdl-device] >> 27:3D:00:00:00:00:00:0E:61:06:00:CE:63:... [418075]
[08 dic 2016, 22:40:08] [Debug] [qfu-qdl-device] << 7E:28:3D:00:00:00:00:00:00:00:41:6E:7E [13]
[08 dic 2016, 22:40:08] [Debug] [qfu-qdl-device] << 28:3D:00:00:00:00:00:00:00 [9, unframed]
[08 dic 2016, 22:40:08] [Debug] [qfu,qdl-message] received write-unframed-rsp
[08 dic 2016, 22:40:08] [Debug] [qfu,qdl-message] status: 0
[08 dic 2016, 22:40:08] [Debug] [qfu,qdl-message] sequence: 61
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
E.g. for the MC7455:
[qfu-qdl-device] setting terminal in raw mode...
[qfu,dload-message] sent sdp:
[qfu-qdl-device] >> 70:00:00 [3, unframed]
[qfu-qdl-device] >> 7E:70:00:00:14:46:7E [7]
[qfu-qdl-device] << 7E:0D:16:00:00:00:00:88:4D:7E [10]
[qfu-qdl-device] << 0D:16:00:00:00:00 [6, unframed]
[qfu,qdl-message] received error
[qfu,qdl-message] error: 22
[qfu,qdl-message] errortxt: 0
[qfu-qdl-device] error (ignored): DLOAD SDP not supported
|
|
|
|
| |
Because the module may already be power cycling itself.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Only if required; e.g. for modems supporting Get/Set Firmware Preference.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
If modem reports that there is nothing to download, it means it already
has the specified firmware/config versions running, so nothing to do.
Don't try to do offline/reset in that case because we'll end up in
normal mode again, not in QDL download mode.
|
| |
|
| |
|
|
|
|
| |
E.g. if modem doesn't support firmware preference setting.
|
| |
|
| |
|