Fastboot


#1

Hello swi team,

I’m trying to create a custom image for the AR7554 throught yocto so, I’ve downloaded the distribution from here:
http://developer.sierrawireless.com/Resources/Resources/Legato/Distribution.aspx

Then, I’ve created my own AR7 image (rootfs & kernel) just doing ‘make dev’ and then, with hob utility, I’ve added a new package from the meta layer (zip package) in order to test how it works. After a while, I’ve restarted the AR7 into the fastboot mode in order to erase the old images and flash the new ones. After the flash procedure, I’ve restarted the AR7 but now I can’t access to it (UART or USB).

[sudo] password for fv4dg00: 
MDM9615	fastboot
fv4dg00@lenovo-e540:~/ws/swi/distribution/LegatoYocto1410/build_bin/tmp/deploy/images/swi-mdm9x15$ sudo fastboot erase kernel
erasing 'kernel'...
OKAY [  0.102s]
finished. total time: 0.102s
fv4dg00@lenovo-e540:~/ws/swi/distribution/LegatoYocto1410/build_bin/tmp/deploy/images/swi-mdm9x15$ sudo fastboot erase rootfs
erasing 'rootfs'...
OKAY [  0.311s]
finished. total time: 0.311s
fv4dg00@lenovo-e540:~/ws/swi/distribution/LegatoYocto1410/build_bin/tmp/deploy/images/swi-mdm9x15$ sudo fastboot flash kernel kernel
sending 'kernel' (10512 KB)...
OKAY [  1.398s]
writing 'kernel'...
OKAY [  1.316s]
finished. total time: 2.714s
fv4dg00@lenovo-e540:~/ws/swi/distribution/LegatoYocto1410/build_bin/tmp/deploy/images/swi-mdm9x15$ sudo fastboot flash rootfs rootfs
sending 'rootfs' (46217 KB)...
OKAY [  6.143s]
writing 'rootfs'...
OKAY [  5.447s]
finished. total time: 11.591s
fv4dg00@lenovo-e540:~/ws/swi/distribution/LegatoYocto1410/build_bin/tmp/deploy/images/swi-mdm9x15$ sudo fastboot reboot
rebooting...

finished. total time: 0.001s

I’m using the AR7 with the Development kit AirPrime so, I would like to know if there is any way to access into the fastboot mode in order to flash the swi images again.

Thanks

PS: I’ve try to reboot the device and execute the ‘fastboot devices’ command without any output. :cry:


#2

Hi,

Not sure that Hob graphical tool is compatible with the current swi-mdm9x15 Yocto configuration.

Instead, it is highly recommended to use only command line tools (make and if needed bitbake) and edit your recipes/meta/conf files in order to add or tune features.


#3

Hi JayM2M,

Thank you for your answer. The next time I will create the custom image with the bitbake command but now, the problem is that I can’t access to the fastboot mode in order to flash again the default rootfs and the kernel provided by swi. Also, I can’t login to the AR7 through the UART or ACM (AT commands) because it seems ‘bricked’.

Do you know how can I force the AR7 with the Dev Kit in order to get the fastboot mode?

This is the output when I plug the Dev Kit with the USB to my computer:

[ 6564.437095] usb 3-6: new high-speed USB device number 14 using xhci_hcd
[ 6564.453758] usb 3-6: New USB device found, idVendor=1199, idProduct=68c0
[ 6564.453761] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 6564.453762] usb 3-6: Product: AR7554
[ 6564.453763] usb 3-6: Manufacturer: Sierra Wireless, Incorporated
[ 6564.453764] usb 3-6: SerialNumber: 0123456789ABCDEF
fv4dg00@lenovo-e540:~$ sudo fastboot devices
fv4dg00@lenovo-e540:~$ 

Thanks


#4

Maybe your module is in recovery mode.
In order to “unbrick” it, you need to flash again the firmware package using the Windows executable tool (for AR7554 module and Legato 14.10 it should be SWI9X15[color=#FF0000]A[/color]_06.03.27.00-ar_yocto-cwe.exe).


#5

Thank you for your answer again,

Doing a firmware upgrade as you recommend me and following the next instructions:
http://www.legato.io/legato-docs/14_10/legatoUpgrade14_10.html

What I finally get when I connect the AR7 to the computer is this:

[  868.620254] usb 3-6: New USB device found, idVendor=1199, idProduct=68c0
[  868.620260] usb 3-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  868.620263] usb 3-6: Product: AR7554
[  868.620265] usb 3-6: Manufacturer: Sierra Wireless, Incorporated
[  868.620267] usb 3-6: SerialNumber: 0123456789ABCDEF
[  868.621746] qcserial 3-6:1.0: Qualcomm USB modem converter detected
[  868.621845] usb 3-6: Qualcomm USB modem converter now attached to ttyUSB0
[  868.622420] qcserial 3-6:1.2: Qualcomm USB modem converter detected
[  868.622613] usb 3-6: Qualcomm USB modem converter now attached to ttyUSB1
[  868.623320] qcserial 3-6:1.3: Qualcomm USB modem converter detected
[  868.623459] usb 3-6: Qualcomm USB modem converter now attached to ttyUSB2
[  868.624464] qmi_wwan 3-6:1.8: cdc-wdm0: USB WDM device
[  868.624765] qmi_wwan 3-6:1.8 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-6, WWAN/QMI device, 8e:f3:1f:36:20:4e

Now, I can go into the ttyUSB3 in order to introduce some at commands but, do you know any at command to force the AR7 to the fastboot mode? Because, I can’t yet go into this mode in order to flash again the kernel & rootfs.

Also, the adb flag is enabled:

at!custom?                                                                                                                                                               
                                                                                                                                                                         
!CUSTOM:                                                                                                                                                                 
            ISVOICEN            0x01                                                                                                                                     
            PCSCDISABLE         0x03                                                                                                                                     
            ADBENABLE           0x01
            NOROAM              0x01
            GPSENABLE           0x01
            RRCREL7CAPDIS       0x02
            GPSSEL              0x01
            NMEAENABLE          0x01
            HSICENABLE          0x01

OK

But the command ‘sudo adb devices’ doesn’t detect any device connected (I’m trying to do this in order to flash the kernel again).

Any idea what I’m doing wrong or what I can do?

Thank you for your help :slight_smile:


#6

Hi,

Are you able to connect to the module’s Linux console using UART port?

If yes then you can send the command below in order to restart the module in fastboot mode:

Also, check from this linux console what is the current USB setup:

if “adb” is not part of the answer then it can explain your issue.
If “adb” is listed and your host is still not able to dectect the module using “adb devices” then check again on your host computer that Sierra Wireless “idVendor” is part of your android settings:

cat /etc/udev/rules.d/51-android.rules ... #Sierra Wireless SUBSYSTEM=="usb", ATTR{idVendor}=="1199", MODE="0664", GROUP="plugdev" ...


#7

Hi,

Sorry because I didn’t explain well the details.

fv4dg00@lenovo-e540:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="1199", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"

Note: My UART configuration in my computer is the same as the documentation says:
http://www.legato.io/legato-docs/14_10/getstarted_dev_kit_cables.html

Now, I’ve erase the 51-android.rules file in order to put your code:

fv4dg00@lenovo-e540:~$ cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="1199", MODE="0664", GROUP="plugdev"

But, when I execute the ‘sudo adb devices’ command, I continue without any results.

Also, I’ve attached a screenshot showing what I get when I connect the device into a windows machine.
[attachment=0]swi_windows_ar7.png[/attachment]

Screenshot:
http://picpaste.com/swi_windows_ar7.png

Any idea? :bulb:

Thanks again


#8

Hi,

I cannot see your screenshot, can you upload it again?

On the USB AT port can you send the following commands and post the answers?

ATI ATI8 AT!MAPUART? AT!GSTATUS?

Jay


#9

Hi Jay,

I don’t know why the picture has not been uploaded but, i’m going to edit again the post. Please, let me know if ther is another problem again with it.

I’ve follow your instructions and this is the output:

ATI

Manufacturer: Sierra Wireless, Incorporated
Model: AR7554
Revision: SWI9X15A_06.03.16.00 r23621 CNSHZ-AR-BUILD 2014/08/01 08:55:23
IMEI: 352768050025333
IMEI SV: 0
FSN: GN347400380403
+GCAP: +CGSM,+DS,+ES

OK
ATI8

Legato Ver: 14.07.0.Beta
Yocto Ver: unknown
OS Ver: Linux version 3.4.91-yocto-standard (fv4dg00@lenovo-e540) (gcc version 4.7.2 (GCC) ) #1 PREEMPT Tue Jan 13 17:24:14 CET 2015
RootFS Ver: unknown
UserFS Ver: unknown

OK

!PCDEFR: 0
AT!MAPUART?

!MAPUART
UART1:17
UART2:17

OK
AT!GSTATUS?

!GSTATUS: 
Current Time:  163              Temperature: 22
Bootup Time:   0                Mode:        ONLINE         
System mode:   WCDMA            PS state:    Not attached 
WCDMA band:    WCDMA 2100 
WCDMA channel: 10838
GMM (PS) state:DEREGISTERED     NO IMSI        
MM (CS) state: IDLE             NO IMSI        

WCDMA L1 State:L1M_PCH_SLEEP    LAC:         035C (860)
RRC State:     DISCONNECTED     Cell ID:     07107BE9 (118520809)
RxM RSSI C0:   -73              RxD RSSI C0: -106
RxM RSSI C1:   -106             RxD RSSI C1: -106

OK

Now, I’ve realized the UART1 and UART2 are configured for ‘customer application’ according to this post:
https://forum.sierrawireless.com/viewtopic.php?f=177&t=8207&p=33662&hilit=ttyHSL1#p33662

[color=#0000BF][i]AT!MAPUART=a,b

a=service type
b=the UART number

In this case the service is 17 (means used for customer application)
[/i][/color]

So, I’ve reconfigured the UART1 doing this:

at!mapuart?

!MAPUART
UART1:17
UART2:17

OK
at!mapuart=1,1

OK
at!mapuart?

!MAPUART
UART1:1
UART2:17

OK
at!reset

OK

After the reset, I’ve checked again the UART1 has been configured correctly:

at!mapuart?

!MAPUART
UART1:1
UART2:17

Then, my minicom configuration for the /dev/ttyUSB3 (my serial converter is connected to the UART1 of the Dev Kit Air Prime) is the next:

| A -    Serial Device      : /dev/ttyUSB3                            |                                                                                            
| B - Lockfile Location    : /var/lock                                   |                                                                                            
| C -   Callin Program     :                                                |                                                                                            
| D -  Callout Program    :                                                |                                                                                            
| E -    Bps/Par/Bits        : 115200 8N1                             |                                                                                            
| F - Hardware Flow Control : No                                     |                                                                                            
| G - Software Flow Control : No     

But nothing comes from the UART1. Now, I’ve probe it again for the UART2:

at!mapuart?

!MAPUART
UART1:1
UART2:17

OK
at!mapuart=1,2

OK
at!mapuart?

!MAPUART
UART1:0
UART2:1

OK
at!reset

OK

After the reset, I’ve checked again the mapuart:

at!mapuart?

!MAPUART
UART1:0
UART2:1

OK

This time, what I get through the UART2 is the AT command port so, I can send AT commands. Is there any way to put the AR7 into the fastboot mode with at commands? I know if I could erase the kernel partition, the AR7 gets into the fastboot mode after a reset, how could I erase this partition? Could it erase this partition through an AT command?

Thanks for your support


#10

Switch the UART2 port from AT mode to Linux console mode:

Then reset:

You should be able now to connect to the embedded Linux console using UART2 port and then send the “sys_reboot bootloader” command to enter the fastboot mode.

Jay


#11

Thank you Jay!

Now it’s working (I can reboot into the fastboot mode) but, where is the information about the mapuart services? Because in a previous versions, I used ‘1’ service to acces to the linux console.

Thank you very much for you support :slight_smile:


#12

Hi,

Ask your Sierra Wireless representative in order to obtain the latest version of the AirPrime AR7 Series - AT Commands Interface Specification document.

[quote][size=120]Extract from AirPrime AR7 Series - AT Commands Interface Specification[/size]

Command Syntax: AT!MAPUART=[,]
Query Syntax: AT!MAPUART?
Response Syntax: !MAPUART: <service (UART1)>, <service (UART2)>

0 – 17 Service to map to UART:
0: UART disabled
1: AT Command service
2: Diagnostic Message service
3: Reserved
4: NMEA service
5-15: Reserved
16: Linux Console
17: Customer Linux application

1 – 2 UART Number:
1: UART1 (default if not specified in assignment)
2: UART2[/quote]

Jay