Upgrade to Legato 16.07 AR7


#1

Hi all,
I want upgrade my system to legato 16.07. I have found only this guide:
legato.io/legato-docs/latest/leg … 16_07.html
where it is advised to “upgrade your firmware before upgrading Legato” following this link:
source.sierrawireless.com/resour … rerelease/
where AR7 boards are not mentioned.

In any case I tried to follow the instructions at
source.sierrawireless.com/resour … /swiflash/
obtaining the following error:

swiflash -m AR755X -i 1102710_9905087_WP7504_07.10.04.00_00_Generic_001.006_000-field.spk                                  101 ↵
Detecting USB of the target
DONE
Communicating with the target
DONE
Downloading the firmware
................ERROR: Firmware Download failed. Callback status 59399DONE
ERROR: Firmware Download Failed

Reading at this post: viewtopic.php?t=9788 it is possible find out that some old board is not anymore supported.
Is the AR7554 board not anymore supported as the one in the previously link? If not, is the the file used wrong since AR7 is not mentioned? In this case, where I can find the correct .spk file to flash on AR7 board?

Thank you


#2

Hi giocmp,

Sierra Wireless has not built any AR7554 device image including 16.07 Legato Application Framework because software code is frozen for automotive projects based on this module.
You can consult the latest device image available for all Sierra Wireless modules (including AR7554) by using Developer Studio with its “Packages Manager” perspective or legato-spm linux command line tool (see http://source.sierrawireless.com/resources/airprime/software/legato_spm/).
For AR755X, the latest one I see is 16.1.5 from June 30, 2016… so based on Legato 16.01.

After, I heard that some people who have created unofficial device image including Legato 16.07 for AR7554 (thank you the open source :smiley: ) but personally I don’t have it…

Jacques


#3

Hi Jacques,
thank you for your fast answer and for all these informations.
I will upgrade to the latest version available for this board.
Thank you again.


#4

Hi all again,
I was trying to upgrade the board to 16.01 and here there are my passages:

  • install legato_spm
    $ legato-spm --install --module AR755X --update-link
  • go into the legato folder and do make
    bin/legs make ar7
    $ update build/ar7/system.ar7.update 192.168.1.2 (IP of usb interface)

At this point the process doesn’t terminate, and so after some other attempt I decided to do a factory reset in order to have a completely clean board.
cd legato.recovery.16.1.0.linux-ar86-ar75-201602121442legato.recovery.16.1.0.linux-ar86-ar75-201602121442/resources flash -r
Downloading Firmware…

The download phase doesn’t teminate.
I reboot the board with the sw401 pin low and redoing
$ flash -r
I obtain

INFO: Running with device in boot and hold mode
INFO: Path: /tmp/tmp.vjQIDhfCLu
INFO: Device Type( 0,1,2,3->9x00,9x15,9x30,G3K ): 1

Downloading Firmware.
Flash Complete, Waiting for Modem to Reboot
..
Waiting for Modem to Reboot

Enter Download Mode
..................................................................................................................................

And the download mode doesn’t end.

Power off the board, set the sw401 pin at high, and rebooting, something changes: for example all the files that there were before have been deleted, but the system is not update, doing:

legato version

15.10.1.Beta_99515f2773337422226b8ff193735f3b

but more “urgent” is the fact that the usb is not anymore recognized as network interface:

$ ifconfig
eth0    Link encap:Ethernet  HWaddr CA:B8:91:47:CC:08  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) 

While this is what is shown at the first boot:

[10] ERROR: No misc partition found
[    0.178910] AXI: msm_bus_fabric_init_driver(): msm_bus_fabric_init_driver
[    0.215168] socinfo_init_dev: device_register fail (-22)
[    0.349671] Notify: smsm init
[    0.658934] diag: Invalid Msg type 12 proc 2
[    0.664947] diag: In diag_smd_cntl_send_req, proc=0, Nothing to read from SMD
[    0.692385] diag: In diag_smd_cntl_send_req, proc=0, Nothing to read from SMD
[    0.698550] diag: In diag_smd_cntl_send_req, proc=0, Nothing to read from SMD
[    0.718846] diag: In diag_smd_cntl_send_req, proc=0, Nothing to read from SMD
[    0.725011] diag: In diag_smd_cntl_send_req, proc=0, Nothing to read from SMD
[    0.798840] fail to get slimbus logical address -6
[    1.034365] msm_otg msm_otg: failed to get phy_clk
[    1.150801] pm8xxx_adc_probe: failed to request pa_therm vreg with error -517
[    1.245017] mmc0: No card detect facilities available
[    1.256310] sitar_probe
[    1.258568] voice_allocate_shared_memory: ION memory allocation failed
rootfs: dev /dev/mtdblock2
rootfs: mounting took 50ms
init started: BusyBox v1.22.1 (2015-11-17 10:01:38 EST)
rcS: Executing mount_essential_fs... 
rcS: Executing simple_network... 
rcS: Executing run_S_scripts... 
S02mount_early: Executing mount_early_scratch_start... 
S02mount_early: Executing mount_early_legato_start... 
S02mount_early: UBI: mtd 3 it not UBI.
S02mount_early: Executing mount_early_userrw_start... 
S04mount_unionfs: RO rootfs will be fudged.
$Starting qcom_time:
starting time-daemon
Starting time_services: done
Mounting local filesystems...
Initializing random number generator...
[    4.646360] enable_store: android_usb: already disabled
Configuring network interfaces... done.
Starting qti: done
Starting syslogd/klogd: done
Starting diagrebootapp: done
udhcpc (v1.22.1) started
Starting QCMAP_ConnectionManager: done
Sending discover...
Starting qmuxd: done
Starting qmuxd...
Removing old install
ls: /mnt/flash/opt/legato/apps: No such file or directory
*** Initializing new Legato version ***
Installing new startup defaults...STARTUP SCRIPTS MISSING.
Installing startup scripts...
DONE.
Legato start sequence
stop file not present ... continuing
Executing fg_00_BindMount in foreground
/opt map needs updating
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mtdblock2           50688     41984      8704  83% /
Remapping /mnt/flash/opt --> /opt
/usr/local map needs updating
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mtdblock2           50688     41984      8704  83% /
Remapping /mnt/legato/usr/local --> /usr/local
/home map needs updating
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mtdblock2           50688     41984      8704  83% /
Remapping /mnt/flash/home --> /home
Remapping /etc/profile --> /var/run/profile
Adding /usr/local/bin to PATH.
Adding /usr/local/lib to the system library search path.
Updating the the library search cache.
Sending discover...
Executing fg_01_ConfigureCore in foreground
Executing fg_01_SetSmackLabels in foreground
./fg_01_SetSmackLabels: line 26: can't create /opt/legato/smack/load: nonexistent direy
./fg_01_SetSmackLabels: line 27: can't create /opt/legato/smack/load: nonexistent direy
./fg_01_SetSmackLabels: line 28: can't create /opt/legato/smack/load: nonexistent direy
Executing fg_02_RestartSyslogd in foreground
Executing bg_05_BringUpDeveloperInterface in background
Executing fg_06_InitWM8940 in foreground
Executing fg_08_ConfigureQmiAccess in foreground
Executing fg_10_StartLegato in foreground
Starting Legato without options.
Starting the supervisor...
Sending discover...
Skipping installation of appinfo service - should be installed via AirVantage
Skipping installation of sysinfo service - should be installed via AirVantage
Installing app 'audioService'...
Created user 'appaudioService' (uid 1000, gid 1000).
DONE
Installing app 'avcService'...
No lease, failing
Created user 'appavcService' (uid 1001, gid 1001).
DONE
Installing app 'cellNetService'...
Created user 'appcellNetService' (uid 1002, gid 1002).
DONE
Installing app 'dataConnectionService'...
Created user 'appdataConnectionService' (uid 1003, gid 1003).
DONE
Installing app 'fwupdateService'...
Created user 'appfwupdateService' (uid 1004, gid 1004).
DONE
Installing app 'modemService'...
Created user 'appmodemService' (uid 1005, gid 1005).
DONE
Installing app 'positioningService'...
Created user 'apppositioningService' (uid 1006, gid 1006).
DONE
Installing app 'powerMgr'...
Created user 'apppowerMgr' (uid 1007, gid 1007).
DONE
Installing app 'secStore'...
Created user 'appsecStore' (uid 1008, gid 1008).
DONE
Installing app 'smsInboxService'...
Created user 'appsmsInboxService' (uid 1009, gid 1009).
DONE
Installing app 'voiceCallService'...
Created user 'appvoiceCallService' (uid 1010, gid 1010).
DONE
legato-post-update-hook called.
Starting app 'audioService'...
DONE
Starting app 'avcService'...
DONE
Starting app 'cellNetService'...
DONE
Starting app 'dataConnectionService'...
DONE
Starting app 'fwupdateService'...
DONE
Starting app 'modemService'...
DONE
Starting app 'positioningService'...
DONE
Starting app 'powerMgr'...
DONE
Starting app 'secStore'...
DONE
app smsInboxService is manual start. Not auto starting.
DONE
app voiceCallService is manual start. Not auto starting.
DONE
Finished Legato Start/Stop Sequence
Starting netmgrd: done
Starting pm: done
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
vm.min_free_kbytes = 13148
starting DNS forwarder and DHCP server: dnsmasq... done.
Starting Dropbear SSH server: Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCD7MSF4AVZcISA0PSCAyVzTSbH4rRAMRBVDaoOyCC9kxrN//5
Fingerprint: md5 b3:6b:df:cc:ad:0c:97:e7:1a:2d:9e:e1:5b:c6:a2:03
dropbear.
Starting adbd: done
Starting mbimd: done
Starting tcf-agent: OK
[   75.221364] mbim_open: USB cable not connected
[   75.231558] mbim_read: Requests list is empty. Wait.
Starting epollwakeup: done
run_getty.sh: UART2 reserved for CONSOLE

Poky (Yocto Project Reference Distro) 1.6.3 swi-mdm9x15 /dev/ttyHSL1

swi-mdm9x15 login: 

Where I wrong? Any help is welcomed.
Thanks in advance,
Giorgio


#5

For download, you can give a try to latest swiflash release: source.sierrawireless.com/resour … /swiflash/
This is replacing the recovery tool bundled with these legacy SDK releases.


#6

Hi daav, thank you for your hint, it works and finally I have been able to upgrade to legato 16.01 the board.
I report here the steps I have done, maybe it will be usefull for other users.
For first thing I gave the command:

swiflash -m AR755X -r

I tried so to use the upgrade command through the ethernet interface but:

$ update build/ar7/system.ar7.update 192.168.0.102
Applying update from file 'build/ar7/system.ar7.update' to device at address '192.168.0.102'.
sh: /legato/systems/current/bin/update: not found
Update failed
sh: /legato/systems/current/bin/legato: not found

So I tried again the swiflash tool in this manner:

$ cd ~/legato/packages/legato.device.image.7.10.8.00.2-ar7-201606291510/resources/ar755
$ swiflash -m AR755X -i spkg-boot-modemz-yoctoz-legatoz.cwe 
Detecting USB of the target
DONE
Communicating with the target
DONE
Switching to firmware download mode
.........DONE
Downloading the firmware
..................DONE
Rebooting the module
.......DONE
Firmware Download SUCCESS

And it worked.
Rebooting the board:

root@swi-mdm9x15:~# legato version
16.01.5.m1_e343aba3b03895aa39f2d473f079b1ec

So finally the board was upgraded.
To solve the problem that the usb was not recognized as network interface it was sufficien do:

# cd /etc/legato/
# cp usbmode.ex usbmode
# reboot

Here other information on how customize the usb interface: legato.io/legato-docs/latest/how … zeUSB.html .
Thank you to all of you for your help.
Giorgio