Firmware update of MC7455 timing out.

Bjørn Mork bjorn at mork.no
Tue Dec 19 13:01:09 UTC 2017


Paul Gildea <gildeap at tcd.ie> writes:

> [19 Dec 2017, 13:25:09] [Debug] [qfu-updater] reset requested, now waiting
> for TTY device...
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove ttyUSB0
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove ttyUSB1
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3:1.0
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove ttyUSB2
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3:1.2
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3:1.3
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove wwan0
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove cdc-wdm0
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3:1.8
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove wwan1
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove cdc-wdm1
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3:1.10
> [19 Dec 2017, 13:25:28] [Debug] [qfu-udev] event: remove 2-3
> [19 Dec 2017, 13:25:29] [Debug] [qfu-udev] event: add 1-6
> [19 Dec 2017, 13:25:29] [Debug] [qfu-udev] event: add 1-6:1.0
> [19 Dec 2017, 13:25:29] [Debug] [qfu-udev] event: add ttyUSB0
> [19 Dec 2017, 13:25:58] [Debug] [qfu-udev] event: remove 1-6:1.0
> [19 Dec 2017, 13:25:58] [Debug] [qfu-udev] event: remove 1-6
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3:1.2
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3:1.8
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3:1.0
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add cdc-wdm0
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3:1.3
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add 2-3:1.10
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add cdc-wdm1
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add wwan0
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] event: add ttyUSB1
> [19 Dec 2017, 13:26:08] [Debug] [qfu-udev] waiting device (tty) matched:
> ttyUSB1
> [19 Dec 2017, 13:26:08] [Debug] [qfu-updater] TTY device found: /dev/ttyUSB1
> download mode detected
> [19 Dec 2017, 13:26:08] [Debug] [qfu-qdl-device] opening TTY: /dev/ttyUSB1
> [19 Dec 2017, 13:26:08] [Debug] [qfu-qdl-device] setting terminal in raw
> mode...
> [19 Dec 2017, 13:26:08] [Debug] [qfu,dload-message] sent sdp:
> [19 Dec 2017, 13:26:08] [Debug] [qfu-qdl-device] >> 70:00:00 [3, unframed]
> [19 Dec 2017, 13:26:08] [Debug] [qfu-qdl-device] >> 7E:70:00:00:14:46:7E [7]
> error: error creating device: timed out waiting for the response


Everything looks fine until the updater is supposed to detect the
download mode. You can see it appear at a single function device at
13:25:29, with the driver bound and announcing it as ttyUSB0.  But for
some reason this is not detected.  So the firmware times out and boots
back into application mode at 13:25:58.  Then the updater makes the
second error: It tries to start the upload on one of the application
mode serial functions.

I note the we never see any 'remove ttyUSB0' event after 13:25:29.  This
is probably indicating that something is holding on to that device. The
issue could be related to some problem opening it, maybe? Is something
else taking control of this character device before the updater gets a
chance?  Or maybe the updater has no rights to open it?  Note that the
USB device ID is different at this point, in case you have any special
rules to allow access.

But in any case:  There is room for a bit more failsafing here.  The
updater should at least be able to reject the application mode serial
functions, based on number of functions > 1.


Bjørn



More information about the libqmi-devel mailing list