[qmi-firmware-update] Parallel flashing of modems
Alexander Dydychkin
alexander.dydychkin at vicuesoft.com
Wed Jun 9 08:32:30 UTC 2021
Hi all,
I continue research on how to speed up flashing of multiple modems. In
addition to flashing without resets which discussed in another thread I try
to flash modems parallel.
I have 3 devices:
```
ls /dev
cdc-wdm1
cdc-wdm2
cdc-wdm3
```
All Sierra modems right now.
How I start:
```
sudo -E ./_debug_build/src/qmi-firmware-update/qmi-firmware-update
--verbose-log=/home/libqmi/wdm1.log -w /dev/cdc-wdm1 --update
/home/0/DOCOMO/SWI9X50C_01.09.04.00.cwe
/home/0/DOCOMO/SWI9X50C_01.09.04.00_DOCOMO_002.015_000.nvu & \
sudo -E ./_debug_build/src/qmi-firmware-update/qmi-firmware-update
--verbose-log=/home/libqmi/wdm2.log -w /dev/cdc-wdm2 --update
/home/0/SPRINT/SWI9X50C_01.08.04.00.cwe
/home/0/SPRINT/SWI9X50C_01.08.04.00_SPRINT_000.001_001.nvu & \
sudo -E ./_debug_build/src/qmi-firmware-update/qmi-firmware-update
--verbose-log=/home/libqmi/wdm3.log -w /dev/cdc-wdm3 --update
/home/0/GENERIC/SWI9X50C_01.11.00.00.cwe
/home/0/GENERIC/SWI9X50C_01.11.00.00_GENERIC_002.023_000.nvu &
```
I get the error like:
```
[07 Jun 2021, 18:11:34] [Debug] [qfu-udev] event: add 3-4.4
[07 Jun 2021, 18:11:34] [Debug] [qfu-udev] event: add 3-4.4:1.0
[07 Jun 2021, 18:11:34] [Debug] [qfu-udev] event: add ttyUSB2
[07 Jun 2021, 18:11:34] [Debug] [qfu-udev] waiting device (tty) matched:
ttyUSB2
[07 Jun 2021, 18:11:34] [Debug] [qfu-updater] TTY device found: /dev/ttyUSB2
[07 Jun 2021, 18:11:34] [Debug] [qfu-sahara-device] opening TTY:
/dev/ttyUSB2
[07 Jun 2021, 18:11:34] [Debug] [qfu-sahara-device] setting terminal in raw
mode...
[07 Jun 2021, 18:11:34] [Debug] [qfu-updater] sahara device creation
failed: error getting serial port attributes: Inappropriate ioctl for device
[07 Jun 2021, 18:11:34] [Debug] [qfu-qdl-device] opening TTY: /dev/ttyUSB2
[07 Jun 2021, 18:11:34] [Debug] [qfu-qdl-device] setting terminal in raw
mode...
[07 Jun 2021, 18:11:34] [Debug] [qfu-updater] qdl device creation failed:
error getting serial port attributes: Inappropriate ioctl for device
```
As I understood the code block is:
```
errno = 0;
g_debug ("[qfu-sahara-device] setting terminal in raw mode...");
if (tcgetattr (self->priv->fd, &terminal_data) < 0) {
inner_error = g_error_new (G_IO_ERROR, G_IO_ERROR_FAILED,
"error getting serial port attributes:
%s",
g_strerror (errno));
goto out
```
I am working on the improvement right now but I have a question from the
architecture level. All the processes are independent and have only 1
crossing point - driver. What do you think about my approach? Any
"contraindications"? :) Any comments?
--
With best regards,
Alexander
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libqmi-devel/attachments/20210609/7993c9f8/attachment-0001.htm>
More information about the libqmi-devel
mailing list