Build Legato Yocto 15.05 for AR7552 and AR7554 chips

Hi,

Using Ubuntu 12.04 (under VMWare player), I have built the Legato Yocto 15.05 and generated the ‘kernel’ and ‘rootfs’ images. We are using two different chips on our Eval board: AR7552 and AR7554, and they are different in their modem part.

In generating the images, I ran ‘make’ from the ‘Yocto’ top level directory without any options. Which of the following assumptions are correct:

  1. The images are platform independent and can be sent to either target with ‘fastboot’. If true, then what operation differentiates the chips from each other?
  2. The images are by default for one platform only. which one? How to ‘make’ the other one?
  3. Do the images have the Modem firmware in them? If yes, for which target? How to make the other one?
  4. Do the images contain ‘Legato’ framework in them or it must be sent to the Target separately using ‘instlegato build/ar7 192.168.1.2’?
  5. Why burning the ‘kernel’ and ‘rootfs’ does not clear the file ‘/etc/legato/usbmode’?

Thanks for any ideas.

Hi.

  1. The images are platform independent and can be sent to either target with ‘fastboot’. If true, then what operation differentiates the chips from each other?

These devices differ in the cellular bands they support i.e. the RF is different. As far as the Legato software is concerned they are identical.

  1. The images are by default for one platform only. which one? How to ‘make’ the other one?

See above - same software for both.

  1. Do the images have the Modem firmware in them? If yes, for which target? How to make the other one?

No. The firmware is already in the modems. Building the Legato software only replaces the Linux software. The modem core is unaffected.

  1. Do the images contain ‘Legato’ framework in them or it must be sent to the Target separately using ‘instlegato build/ar7 192.168.1.2’?

The Legato framework will only be included in your images if you have the source code in the same directory (i.e. there is a legato directory where the Makefile is). Otherwise you can build and install it separately as you describe. However, it is never in the rootfs. It will be in the CWE file which will install all the partitions together.

  1. Why burning the ‘kernel’ and ‘rootfs’ does not clear the file ‘/etc/legato/usbmode’?

Ah, that’s an interesting one. The root file system is read-only by default, but we use unionfs to allow changes to files under /etc. The actual file that you are seeing is actually on a different flash partition/ You will find the real files under /mnt/flash/etc.

If the file in /mnt/flash/etc/ is corrupted or messed up and it blocks the normal boot sequence, how can we recover from this?
Here is the example. acm is added to /etc/legato/usbmode. But it is failed on boot and it blocks everything to continue boot-up.

[code][ 6.565786] enable_store: android_usb: already disabled
ecm,acm,nmea,diag,serial
Enabling USB modes ecm,acm,nmea,diag,serial
[ 6.710392] functions_store: android_usb: Cannot enable nmeaandroid0: Restoring ECM Host MAC ‘ae:a0:19:75:69:1c’

[ 6.756172] ecm_native_function_bind_config: ecm_native_function_bind_config MAC: 00:00:00:00:00:00
[ 6.764748] android_usb gadget: using random self ethernet address
[ 6.777506] usb0: MAC ae:17:d9:33:81:6a
[ 6.780344] usb0: HOST MAC ae:a0:19:75:69:1c
[ 6.784617] Match for Function Name: cdc_ethernet, Int #19
[ 6.795940] Match for Function Name: cdc_ethernet, Int #20
[ 6.804730] acm_init_port: Un-supported transport transport: 12
[ 6.816847] acm_function_bind_config: acm: Cannot open port ‘’
[ 6.821516] android_bind_enabled_functions: android_bind_enabled_functions: acm failed
[/code]