annotate openmoko/flash-modem.sh @ 965:2969032bdfac

fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing The only 100% safe way to pass a NULL pointer as a function argument in K&R C is to cast 0 to a pointer type; failing to do so may cause mysterious bugs (invalid stack frames or garbage in argument registers) on 64-bit machines. This issue has already been fixed in most of FC host tools, but I just found some missed spots: passing of NULL UDH to PDU encoding functions in fcup-smsend[mult] in the case of single (not concatenated) SMS.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 01 Sep 2023 07:33:51 +0000
parents 8bea9cdd8a89
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
691
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 #!/bin/sh
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 # This script shows how to flash an Openmoko modem (GTA01/02) with a new
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 # firmware image (in either *.m0 or *.bin format) in a fully automated manner
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 # using the new batch mode of fc-loadtool, running from inside the phone.
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 # This script should be used as a starting point by anyone who may be putting
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 # together an automated firmware update mechanism similar to OM's uSD card
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 # automated flasher.
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 # The flashing commands used here are correct ONLY for Openmoko and similar
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 # modems, _NOT_ for Motorola C1xx phones!!! If you use these commands on a
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 # Mot C1xx phone, you will unrecoverably brick it!
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 if [ $# != 1 ]
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 then
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 echo "usage: $0 firmware-image-file" 1>&2
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 exit 1
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 fi
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 case "$1" in
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 *.bin)
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 BATCH_CMD="flash e-program-bin 0 $1"
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 ;;
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 *.m0)
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 BATCH_CMD="flash e-program-m0 $1"
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 ;;
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 *)
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 echo "error: format of $1 not recognized" 1>&2
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 exit 1
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 esac
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31
8bea9cdd8a89 openmoko/flash-modem.sh: added for guidance
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 /opt/freecalypso/bin/fc-loadtool -h fic -Plm -t1300 /dev/ttySAC0 $BATCH_CMD