Send commitlog mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:
1. r3289 -
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/mokomediaplayer
([EMAIL PROTECTED])
2. r3290 - in trunk/src/host/qemu-neo1973: . hw openmoko
phonesim ([EMAIL PROTECTED])
3. r3291 - trunk/src/host/qemu-neo1973 ([EMAIL PROTECTED])
4. r3292 - trunk/src/host/qemu-neo1973/openmoko
([EMAIL PROTECTED])
--- Begin Message ---
Author: abraxa
Date: 2007-10-26 20:31:06 +0200 (Fri, 26 Oct 2007)
New Revision: 3289
Added:
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/mokomediaplayer/background.png
Log:
Add background image that I forgot
Added:
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/mokomediaplayer/background.png
===================================================================
(Binary files differ)
Property changes on:
trunk/src/target/OM-2007.2/artwork/themes/openmoko-standard-2/gtk-2.0/mokomediaplayer/background.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2007-10-26 21:26:08 +0200 (Fri, 26 Oct 2007)
New Revision: 3290
Modified:
trunk/src/host/qemu-neo1973/Makefile
trunk/src/host/qemu-neo1973/configure
trunk/src/host/qemu-neo1973/hw/neo1973.c
trunk/src/host/qemu-neo1973/openmoko/flash.sh
trunk/src/host/qemu-neo1973/openmoko/neo1973.xml
trunk/src/host/qemu-neo1973/phonesim/Makefile
Log:
Sanitise AT+COPS output, implement AT+CSCB.
Hook up phonesim to qemu's configure & Makefile, add a usage note.
Modified: trunk/src/host/qemu-neo1973/Makefile
===================================================================
--- trunk/src/host/qemu-neo1973/Makefile 2007-10-26 18:31:06 UTC (rev
3289)
+++ trunk/src/host/qemu-neo1973/Makefile 2007-10-26 19:26:08 UTC (rev
3290)
@@ -26,7 +26,7 @@
LIBS+=$(AIOLIBS)
-all: $(TOOLS) $(DOCS) recurse-all
+all: $(TOOLS) $(DOCS) recurse-all $(MODEM)
subdir-%: dyngen$(EXESUF)
$(MAKE) -C $(subst subdir-,,$@) all
@@ -36,6 +36,10 @@
qemu-img$(EXESUF): qemu-img.c cutils.c block.c block-raw.c block-cow.c
block-qcow.c aes.c block-vmdk.c block-cloop.c block-dmg.c block-bochs.c
block-vpc.c block-vvfat.c block-qcow2.c block-parallels.c
$(CC) -DQEMU_TOOL $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) $(LDFLAGS)
$(BASE_LDFLAGS) -o $@ $^ -lz $(LIBS)
+phonesim: phonesim/phonesim
+phonesim/phonesim:
+ $(MAKE) -C phonesim
+
dyngen$(EXESUF): dyngen.c
$(HOST_CC) $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -o $@ $^
Modified: trunk/src/host/qemu-neo1973/configure
===================================================================
--- trunk/src/host/qemu-neo1973/configure 2007-10-26 18:31:06 UTC (rev
3289)
+++ trunk/src/host/qemu-neo1973/configure 2007-10-26 19:26:08 UTC (rev
3290)
@@ -103,6 +103,7 @@
build_docs="no"
gadgetfs="no"
uname_release=""
+phonesim="no"
# OS specific
targetos=`uname -s`
@@ -304,6 +305,8 @@
*) echo "undefined SPARC architecture. Exiting";exit 1;;
esac
;;
+ --enable-phonesim) phonesim="yes"
+ ;;
esac
done
@@ -956,6 +959,14 @@
echo "#define CONFIG_GADGETFS 1" >> $config_h
fi
+if test "$phonesim" = "yes" ; then
+ echo "MODEM=phonesim" >> $config_mak
+ echo "#undef INTERNAL_MODEM" >> $config_h
+else
+ echo "MODEM=" >> $config_mak
+ echo "#define INTERNAL_MODEM \"gnokiigsm\"" >> $config_h
+fi
+
test -f ${config_h}~ && cmp -s $config_h ${config_h}~ && mv ${config_h}~
$config_h
for target in $target_list; do
Modified: trunk/src/host/qemu-neo1973/hw/neo1973.c
===================================================================
--- trunk/src/host/qemu-neo1973/hw/neo1973.c 2007-10-26 18:31:06 UTC (rev
3289)
+++ trunk/src/host/qemu-neo1973/hw/neo1973.c 2007-10-26 19:26:08 UTC (rev
3290)
@@ -103,11 +103,13 @@
neo_printf("Modem reset.\n");
}
+#ifdef INTERNAL_MODEM
static void neo_modem_switch_tick(void *opaque)
{
struct neo_board_s *s = (struct neo_board_s *) opaque;
modem_enable(s->modem, 1);
}
+#endif
static void neo_modem_switch(void *opaque, int line, int level)
{
@@ -380,10 +382,12 @@
static void neo_gsm_setup(struct neo_board_s *s)
{
+#ifdef INTERNAL_MODEM
s->modem = modem_init();
s->modem_timer = qemu_new_timer(vm_clock, neo_modem_switch_tick, s);
s3c_uart_attach(s->cpu->uart[0], s->modem);
+#endif
}
static void neo_reset(void *opaque)
Modified: trunk/src/host/qemu-neo1973/openmoko/flash.sh
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/flash.sh 2007-10-26 18:31:06 UTC
(rev 3289)
+++ trunk/src/host/qemu-neo1973/openmoko/flash.sh 2007-10-26 19:26:08 UTC
(rev 3290)
@@ -142,4 +142,11 @@
echo " "time emulation starts in the original unmodified state.
echo " "Use [Enter] for AUX button, [Space] for POWER.
echo " "Append \'-usbdevice keyboard\' to attach a standard keyboard.
+echo " "
+echo " "If you\'ve configured qemu with --enable-phonesim \(requieres Qt4
and
+echo " "a C++ toolchain\), use the following commandline to run phonesim:
+echo \ \$ \(cd phonesim\; LD_LIBRARY_PATH=lib ./phonesim -gui
../openmoko/neo1973.xml\)\&
+echo " "The GUI is optional. When phonesim is running, append
+echo " "\'-serial tcp:localhost:12345\' to qemu invocation. Security
+echo " "note a la GLSA: phonesim listens on 0.0.0.0.
echo
Modified: trunk/src/host/qemu-neo1973/openmoko/neo1973.xml
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/neo1973.xml 2007-10-26 18:31:06 UTC
(rev 3289)
+++ trunk/src/host/qemu-neo1973/openmoko/neo1973.xml 2007-10-26 19:26:08 UTC
(rev 3290)
@@ -14,6 +14,7 @@
and hangup after 5 seconds -->
<!-- Note: dialing 166 will accept the incoming call and hanup up after 5
seconds-->
+<!-- Note: dialing 155 will elicit a 'BUSY' response from the recipient-->
<!-- Initialize state variables -->
@@ -22,16 +23,16 @@
<!-- Battery Capacity
first value
- 0-powerd by battery
+ 0-powered by battery
1-battery connected, powered by charger
2-no battery.
second value is percentage battery remaining.
- 0-exahsted
+ 0-exhausted
1-99-partial charge
100-fully charged.
-->
- <set name="BC" value="1,100"/>
+ <set name="BC" value="1,88"/>
<!-- Signal Quality -->
<set name="SQ" value="32,99"/>
@@ -91,7 +92,7 @@
<set name="OP" value="${OP1}"/>
<!-- Phone operator list -->
- <set name="OPLIST"
value="(2,${OP1},OP1,111)(1,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
<!-- Calling line identification presentation flag -->
<set name="LIP" value="0"/>
@@ -178,6 +179,11 @@
<!-- Format of cellular result codes -->
<set name="RING" value="RING"/>
+ <!-- Select Cell Broadcast Message Types -->
+ <set name="CBMODE" value="0"/>
+ <set name="CBMIDS" value="1,4,10"/>
+ <set name="CBDCSS" value="3,4"/>
+
<!-- Broadcast a cell location -->
<unsolicited delay="500">+CBM:
8807A200320111B8669A5D0641D9E1B47BDE68341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D168341A8D46A3D100</unsolicited>
@@ -785,7 +791,7 @@
<chat>
<!-- Query supported operators, always reports -->
<command>AT+COPS=?</command>
- <response delay="2000">+COPS: ${OPLIST}(0,"Maybe Forbidden
Net","MFN","3")(3,Competitor Net,COMNET,4)\nOK</response>
+ <response delay="2000">+COPS: ${OPLIST},(0,"Maybe Forbidden
Net","MFN","34567"),(3,"Competitor Net","COMNET","44444")\nOK</response>
</chat>
<chat>
@@ -808,7 +814,7 @@
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP1}"/>
- <set name="OPLIST"
value="(2,${OP1},OP1,111)(1,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -818,6 +824,7 @@
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP2}"/>
<set name="OPLIST"
value="(1,${OP1},OP1,111)(2,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -826,7 +833,7 @@
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP3}"/>
- <set name="OPLIST"
value="(1,${OP1},OP1,111)(1,${OP2},OP2,222),(2,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -835,7 +842,7 @@
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP1}"/>
- <set name="OPLIST"
value="(2,${OP1},OP1,111)(1,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -844,7 +851,7 @@
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP2}"/>
- <set name="OPLIST"
value="(1,${OP1},OP1,111)(2,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -853,7 +860,7 @@
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP3}"/>
- <set name="OPLIST"
value="(1,${OP1},OP1,111)(1,${OP2},OP2,222),(2,${OP3},OP3,333)"/>
+ <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
@@ -1930,22 +1937,49 @@
<response>OK</response>
</chat>
+<!-- Call Progress Indication format -->
<chat>
<command>AT%CPI=?</command>
<response>%CPI: (0-3)\nOK</response>
</chat>
-
<chat>
<command>AT%CPI?</command>
<response>%CPI: ${CPI}\nOK</response>
</chat>
-
<chat>
<command>AT%CPI=*</command>
<response>OK</response>
<set name="CPI" value="*"/>
</chat>
+<!-- Select Cell Broadcast Message Types -->
+<chat>
+ <command>AT+CSCB?</command>
+ <response>+CSCB: ${CBMODE},"${CBMIDS}","${CBDCSS}"\nOK</response>
+</chat>
+<chat>
+ <command>AT+CSCB=?</command>
+ <response>+CSCB: (0,1)\nOK</response>
+</chat>
+<chat>
+ <command>AT+CSCB=${MODE},"${MIDS}","${DCSS}"</command>
+ <response>OK</response>
+ <set name="CBMODE" value="${MODE}"/>
+ <set name="CBMIDS" value="${MIDS}"/>
+ <set name="CBDCSS" value="${DCSS}"/>
+</chat>
+<chat>
+ <command>AT+CSCB=${MODE},"${MIDS}"</command>
+ <response>OK</response>
+ <set name="CBMODE" value="${MODE}"/>
+ <set name="CBMIDS" value="${MIDS}"/>
+</chat>
+<chat>
+ <command>AT+CSCB=${MODE}</command>
+ <response>OK</response>
+ <set name="CBMODE" value="${MODE}"/>
+</chat>
+
<!-- List of all supported commands -->
<!-- All commands supported by TI Calypso -->
Modified: trunk/src/host/qemu-neo1973/phonesim/Makefile
===================================================================
--- trunk/src/host/qemu-neo1973/phonesim/Makefile 2007-10-26 18:31:06 UTC
(rev 3289)
+++ trunk/src/host/qemu-neo1973/phonesim/Makefile 2007-10-26 19:26:08 UTC
(rev 3290)
@@ -13,3 +13,4 @@
clean: Makefile.phonesim lib/Makefile
$(MAKE) -C lib clean
$(MAKE) -f Makefile.phonesim clean
+ rm -f phonesim
--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2007-10-27 03:18:44 +0200 (Sat, 27 Oct 2007)
New Revision: 3291
Added:
trunk/src/host/qemu-neo1973/pty.c
Log:
Add a simple tool for forwarding the modem port between Neo & a PC.
Added: trunk/src/host/qemu-neo1973/pty.c
===================================================================
--- trunk/src/host/qemu-neo1973/pty.c 2007-10-26 19:26:08 UTC (rev 3290)
+++ trunk/src/host/qemu-neo1973/pty.c 2007-10-27 01:18:44 UTC (rev 3291)
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2007 OpenedHand, Ltd.
+ * Contact: <[EMAIL PROTECTED]>
+ *
+ * This file is licensed under the terms of GNU GPL v2.
+ *
+ * $ pty [<hostname|ip> <port>]
+ * Opens a new pseudo terminal and forwards data between standard input
+ * and the pty and between the pty and standard output. If a hostname and
+ * port number are given, reads and writes to the socket instead of
+ * standard input or output. Path to the slave pty is printed on standard
+ * error.
+ */
+#include <unistd.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+
+#define CHECK(val, name) \
+ if (val == -1) { \
+ fprintf(stderr, #name ": %s (%i)\n", strerror(errno), errno);\
+ return -errno; \
+ }
+
+#define min(a, b) ((a) < (b) ? (a) : (b))
+#define max(a, b) ((a) > (b) ? (a) : (b))
+
+static int forward2(int in0, int out0, int in1, int out1) {
+ int inpos = 0, inlen = 0, outpos = 0, outlen = 0, ret, n;
+ fd_set rfds, wfds;
+ char in[0x100], out[0x100];
+
+ n = max(max(in0, in1), max(out0, out1)) + 1;
+ while (1) {
+ FD_ZERO(&rfds);
+ FD_ZERO(&wfds);
+ if (inlen < sizeof(in))
+ FD_SET(in0, &rfds);
+ if (outlen < sizeof(out))
+ FD_SET(in1, &rfds);
+ if (inlen)
+ FD_SET(out0, &wfds);
+ if (outlen)
+ FD_SET(out1, &wfds);
+ CHECK(select(n, &rfds, &wfds, 0, 0), select);
+
+ if (FD_ISSET(in0, &rfds)) {
+ ret = (inpos + inlen) & (sizeof(in) - 1);
+ ret = read(in0, in + ret,
+ sizeof(in) - max(ret, inlen));
+ CHECK(ret, read(0));
+ if (!ret)
+ return 0;
+ inlen += ret;
+ }
+ if (FD_ISSET(in1, &rfds)) {
+ ret = (outpos + outlen) & (sizeof(out) - 1);
+ ret = read(in1, out + ret,
+ sizeof(out) - max(ret, outlen));
+ if (ret > 0)
+ outlen += ret;
+ }
+ if (FD_ISSET(out0, &wfds)) {
+ ret = write(out0, in + inpos,
+ min(sizeof(in) - inpos, inlen));
+ CHECK(ret, write(pty));
+ inlen -= ret;
+ inpos += ret;
+ inpos &= sizeof(in) - 1;
+ }
+ if (FD_ISSET(out1, &wfds)) {
+ ret = write(out1, out + outpos,
+ min(sizeof(out) - outpos, outlen));
+ CHECK(ret, write(1));
+ outlen -= ret;
+ outpos += ret;
+ outpos &= sizeof(out) - 1;
+ }
+ }
+
+ return pause();
+}
+
+int main(int argc, char *argv[], char **envp) {
+ int sock, fd;
+ struct sockaddr_in sa;
+ struct hostent *hi;
+
+ fd = posix_openpt(O_RDWR | O_NOCTTY);
+ CHECK(fd, open);
+ CHECK(grantpt(fd), grantpt);
+ CHECK(unlockpt(fd), unlockpt);
+
+ fprintf(stderr, "%s\n", ptsname(fd));
+#if 0
+ /* Connect stdin & stdout with a pty */
+ CHECK(close(0), close(0));
+ CHECK(close(1), close(1));
+ CHECK(dup(fd), dup(0));
+ CHECK(dup(fd), dup(1));
+ return pause();
+#endif
+ if (argc != 3)
+ return forward2(0, fd, fd, 1);
+
+#if 0
+ /* Connect a sub-process with a pty */
+ for (len = 0, i = 1; i < argc; i ++)
+ len += strlen(argv[i]) + 4;
+ param = malloc(len);
+ strcpy(param, argv[1]);
+ for (i = 2; i < argc; i ++)
+ sprintf(param + strlen(param), " \"%s\"", argv[i]);
+ i = fileno(popen(param, O_RDWR));
+ CHECK(i, popen);
+ free(param);
+ return forward2(i, fd, fd, i);
+#endif
+
+ /* Connect a TCP socket with a pty */
+ hi = gethostbyname(argv[1]);
+ if (!hi) {
+ errno = h_errno;
+ CHECK(-1, gethostbyname);
+ }
+ sa.sin_family = hi->h_addrtype;
+ memcpy(&sa.sin_addr.s_addr, hi->h_addr_list[0], hi->h_length);
+ sa.sin_port = htons(strtol(argv[2], 0, 0));
+ sock = socket(AF_INET, SOCK_STREAM, 0);
+
+ CHECK(sock, socket);
+ CHECK(connect(sock, (struct sockaddr *) &sa, sizeof(sa)), connect);
+ return forward2(sock, fd, fd, sock);
+}
--- End Message ---
--- Begin Message ---
Author: andrew
Date: 2007-10-27 11:20:14 +0200 (Sat, 27 Oct 2007)
New Revision: 3292
Modified:
trunk/src/host/qemu-neo1973/openmoko/neo1973.xml
Log:
Import more GSM functionality from troll.xml (GPRS, phonebook, SIM filesystem,
etc).
Modified: trunk/src/host/qemu-neo1973/openmoko/neo1973.xml
===================================================================
--- trunk/src/host/qemu-neo1973/openmoko/neo1973.xml 2007-10-27 01:18:44 UTC
(rev 3291)
+++ trunk/src/host/qemu-neo1973/openmoko/neo1973.xml 2007-10-27 09:20:14 UTC
(rev 3292)
@@ -12,9 +12,9 @@
<!-- Note: dialing 199 will cause a dialback to simulate an incoming call -->
<!-- Note: dialing 177 will cause a dialback to simulate an incoming call,
and hangup after 5 seconds -->
-<!-- Note: dialing 166 will accept the incoming call and hanup up after 5
+<!-- Note: dialing 166 will accept the incoming call and hangup up after 5
seconds-->
-<!-- Note: dialing 155 will elicit a 'BUSY' response from the recipient-->
+<!-- Note: dialing 155 will elicit a 'BUSY' response from the recipient -->
<!-- Initialize state variables -->
@@ -76,23 +76,67 @@
<!-- Network registration presentation flag -->
<set name="REG" value="1,0"/>
- <!-- Mobile phone operator selection mode (0=auto, 1=manual) -->
+ <!-- GPRS network registration presentation flag -->
+ <set name="GREG" value="0"/>
+
+ <!-- Mobile phone operator selection mode (0=auto, 1=manual,
+ 2=deregister, 3=set only <format>, 4=manual / automatic) -->
<set name="OPMODE" value="0"/>
+ <!-- GCF Operator List, format <status(1:available,2:current,
+ 3:forbidden)>,"<alphanum.operator name>","<short operator name>",
+ "<MCC/MNC num>"-->
<!-- Name of mobile phone operator 1 -->
<set name="OP1" value="QEMU Mobile"/>
+ <set name="OP1PLMN" value="26051"/>
+ <set name="OP1COPS"
value="2,"${OP1}","QEMU","${OP1PLMN}""/>
<!-- Name of mobile phone operator 2 -->
- <set name="OP2" value="OpenedHand Net"/>
+ <set name="OP2" value="Maybe Forbidden Net"/>
+ <set name="OP2PLMN" value="26052"/>
+ <set name="OP2COPS"
value="3,"${OP2}","MNT","${OP2PLMN}""/>
<!-- Name of mobile phone operator 3 -->
- <set name="OP3" value="OpenMoko Comm"/>
+ <set name="OP3" value="Competitor Net"/>
+ <set name="OP3PLMN" value="26053"/>
+ <set name="OP3COPS"
value="3,"${OP3}","CNT","${OP3PLMN}""/>
+ <set name="OP4" value="Blocked Net"/>
+ <set name="OP4PLMN" value="26054"/>
+ <set name="OP4COPS"
value="3,"${OP4}","BNT","${OP4PLMN}""/>
+
+ <set name="OP5" value="Inaccessible Net"/>
+ <set name="OP5PLMN" value="26055"/>
+ <set name="OP5COPS"
value="3,"${OP5}","INT","${OP5PLMN}""/>
+
+ <set name="OP6" value="OpenedHand GSM"/>
+ <set name="OP6PLMN" value="26056"/>
+ <set name="OP6COPS"
value="1,"${OP6}","PNT","${OP6PLMN}""/>
+
+ <set name="OP7" value="OpenMoko Telecomm"/>
+ <set name="OP7PLMN" value="26057"/>
+ <set name="OP7COPS"
value="1,"${OP7}","TNT","${OP7PLMN}""/>
+
+ <set name="OP8" value="HELLO MOKO"/>
+ <set name="OP8PLMN" value="26058"/>
+ <set name="OP8COPS"
value="1,"${OP8}","MBT","${OP8PLMN}""/>
+
+ <!-- Preferred Operators -->
+ <set name="PO1" value="1,2,26051"/>
+ <set name="PO2" value="2,2,26052"/>
+ <set name="PO3" value="3,2,26053"/>
+ <set name="PO4" value="4,2,26054"/>
+ <set name="PO5" value="5,2,26055"/>
+ <set name="PO6" value="6,2,26056"/>
+ <set name="PO7" value="7,2,26057"/>
+ <set name="PO8" value="8,2,26058"/>
+
<!-- Name of current mobile phone operator -->
<set name="OP" value="${OP1}"/>
<!-- Phone operator list -->
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="OPLIST"
+
value="(${OP1COPS}),(${OP2COPS}),(${OP3COPS}),(${OP4COPS}),(${OP5COPS}),(${OP6COPS}),(${OP7COPS}),(${OP8COPS})"/>
<!-- Calling line identification presentation flag -->
<set name="LIP" value="0"/>
@@ -120,6 +164,9 @@
<set name="CF1C4" value="0"/>
<set name="CF1C8" value="0"/>
+ <!-- Fixed Dialling presentation mode -->
+ <set name="FD" value="0"/>
+
<!-- Unstructured service presentation mode -->
<set name="USD" value="0"/>
@@ -160,6 +207,7 @@
<!-- Name of the PIN that is required (eg. "PIN") -->
<!-- For the moment DON'T set a pinname here. We don't want a PIN shipped
with the release -->
+ <!-- READY: PIN/PUK not required; SIM PIN: PIN required; SIM PUK: PUK
REQUIRED -->
<set name="PINNAME" value="READY"/>
<!-- Value of the PIN that is required -->
@@ -168,7 +216,16 @@
<!-- pin protection status -->
<set name="SC" value="0"/>
- <!-- Value of the PIN that is required -->
+ <!-- Value of the PIN2 that is required -->
+ <set name="PIN2VALUE" value="3579"/>
+
+ <!-- Value of the PUK that is required -->
+ <set name="PUKVALUE" value="13243546"/>
+
+ <!-- Value of the PUK2 that is required -->
+ <set name="PUK2VALUE" value="08978675"/>
+
+ <!-- Value of the PSPIN that is required -->
<set name="PSPINVALUE" value="4321"/>
<!-- phone to sim pin protection status -->
<set name="PS" value="0"/>
@@ -783,6 +840,25 @@
</chat>
<chat>
+ <!-- Query GPRS network registration result code presentation -->
+ <command>AT+CGREG?</command>
+ <response>+CGREG: ${GREG},0\nOK</response>
+</chat>
+
+<chat>
+ <!-- Query GPRS network registration result code presentation types -->
+ <command>AT+CGREG=?</command>
+ <response>+CGREG: (0-2)\nOK</response>
+</chat>
+
+<chat>
+ <!-- Set GPRS network registration result code presentation -->
+ <command>AT+CGREG=*</command>
+ <response>OK</response>
+ <set name="GREG" value="*"/>
+</chat>
+
+<chat>
<!-- Query current operator selection -->
<command>AT+COPS?</command>
<response delay="500">+COPS: ${OPMODE},0,"${OP}"\nOK</response>
@@ -791,7 +867,7 @@
<chat>
<!-- Query supported operators, always reports -->
<command>AT+COPS=?</command>
- <response delay="2000">+COPS: ${OPLIST},(0,"Maybe Forbidden
Net","MFN","34567"),(3,"Competitor Net","COMNET","44444")\nOK</response>
+ <response delay="2000">+COPS: ${OPLIST}\nOK</response>
</chat>
<chat>
@@ -801,6 +877,12 @@
</chat>
<chat>
+ <!-- Use MCC/MNC for operators -->
+ <command>AT+COPS=3,2</command>
+ <response delay="500">OK</response>
+</chat>
+
+<chat>
<!-- Set automatic operator selection -->
<command>AT+COPS=0*</command>
<response>OK</response>
@@ -809,62 +891,166 @@
</chat>
<chat>
- <!-- Set manual operator selection -->
+ <!-- Set manual operator selection OP1 (Alphanumeric) -->
<command>AT+COPS=1,0,"${OP1}"</command>
<response>OK</response>
<set name="OPMODE" value="1"/>
<set name="OP" value="${OP1}"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
</chat>
<chat>
- <!-- Set manual operator selection -->
- <command>AT+COPS=1,0,"${OP2}"</command>
+ <!-- Set manual operator selection OP1 (MCC/MNC) -->
+ <command>AT+COPS=1,2,"${OP1PLMN}"</command>
<response>OK</response>
<set name="OPMODE" value="1"/>
- <set name="OP" value="${OP2}"/>
- <set name="OPLIST"
value="(1,${OP1},OP1,111)(2,${OP2},OP2,222),(1,${OP3},OP3,333)"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="OP" value="${OP1}"/>
</chat>
<chat>
- <!-- Set manual operator selection -->
+ <!-- Refuse access to OP2 (Alphanumeric) -->
+ <command>AT+COPS=1,0,"${OP2}"</command>
+ <response>ERROR</response>
+</chat>
+<chat>
+ <!-- Refuse access to OP2 (MCC/MNC) -->
+ <command>AT+COPS=1,2,"${OP2PLMN}"</command>
+ <response>ERROR</response>
+</chat>
+<chat>
+ <!-- Refuse access to OP3 (Alphanumeric) -->
<command>AT+COPS=1,0,"${OP3}"</command>
- <response>OK</response>
+ <response>ERROR</response>
+</chat>
+<chat>
+ <!-- Refuse access to OP3 (MCC/MNC) -->
+ <command>AT+COPS=1,2,"${OP3PLMN}"</command>
+ <response>ERROR</response>
+</chat>
+<chat>
+ <!-- Refuse access to OP4 (Alphanumeric) -->
+ <command>AT+COPS=1,0,"${OP4}"</command>
+ <response>ERROR</response>
+</chat>
+<chat>
+ <!-- Refuse access to OP4 (MCC/MNC) -->
+ <command>AT+COPS=1,2,"${OP4PLMN}"</command>
+ <response>ERROR</response>
+</chat>
+
+<chat>
+ <!-- Set manual operator selection OP6 (Alphanumeric) -->
+ <command>AT+COPS=1,0,"${OP6}"</command>
+ <response delay="2000">OK</response>
<set name="OPMODE" value="1"/>
- <set name="OP" value="${OP3}"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="OP" value="${OP6}"/>
</chat>
<chat>
- <!-- Set manual operator selection -->
- <command>AT+COPS=4,0,"${OP1}"</command>
- <response>OK</response>
+ <!-- Set manual operator selection OP6 (MCC/MNC) -->
+ <command>AT+COPS=1,2,"${OP6PLMN}"</command>
+ <response delay="2000">OK</response>
<set name="OPMODE" value="1"/>
- <set name="OP" value="${OP1}"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="OP" value="${OP6}"/>
</chat>
<chat>
- <!-- Set manual operator selection -->
- <command>AT+COPS=4,0,"${OP2}"</command>
+ <!-- Request preferred operators -->
+ <command>AT+CPOL?</command>
+ <response delay="2000">+CPOL: ${PO1}\n+CPOL: ${PO2}\n+CPOL: ${PO3}\n+CPOL:
${PO4}\n+CPOL: ${PO5}\n+CPOL: ${PO6}\n+CPOL: ${PO7}\n+CPOL:
${PO8}\nOK</response>
+</chat>
+
+<chat>
+ <!-- Request PLMNS descriptors -->
+ <command>AT+COPN</command>
+ <response delay="2000">+COPN: "${OP1PLMN}","${OP1}"\n+COPN:
"${OP2PLMN}","${OP2}"\n+COPN: "${OP3PLMN}","${OP3}"\n+COPN:
"${OP4PLMN}","${OP4}"\n+COPN: "${OP5PLMN}","${OP5}"\n+COPN:
"${OP6PLMN}","${OP6}"\n+COPN: "${OP7PLMN}","${OP7}"\n+COPN:
"${OP8PLMN}","${OP8}"\nOK</response>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 1 -->
+ <command>AT+CPOL=1,2,*</command>
<response>OK</response>
- <set name="OPMODE" value="1"/>
- <set name="OP" value="${OP2}"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="PO1" value="1,2,${*}"/>
</chat>
<chat>
- <!-- Set manual operator selection -->
- <command>AT+COPS=4,0,"${OP3}"</command>
+ <!-- Set preferred operator 2 -->
+ <command>AT+CPOL=2,2,*</command>
<response>OK</response>
- <set name="OPMODE" value="1"/>
- <set name="OP" value="${OP3}"/>
- <set name="OPLIST"
value="(2,"${OP1}","OP1","11111"),(1,"${OP2}","OP2","22222"),(1,"${OP3}","OP3","33333")"/>
+ <set name="PO2" value="2,2,${*}"/>
</chat>
<chat>
+ <!-- Set preferred operator 3 -->
+ <command>AT+CPOL=3,2,*</command>
+ <response>OK</response>
+ <set name="PO3" value="3,2,${*}"/>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 4 -->
+ <command>AT+CPOL=4,2,*</command>
+ <response>OK</response>
+ <set name="PO4" value="4,2,${*}"/>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 5 -->
+ <command>AT+CPOL=5,2,*</command>
+ <response>OK</response>
+ <set name="PO5" value="5,2,${*}"/>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 6 -->
+ <command>AT+CPOL=6,2,*</command>
+ <response>OK</response>
+ <set name="PO6" value="6,2,${*}"/>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 7 -->
+ <command>AT+CPOL=7,2,*</command>
+ <response>OK</response>
+ <set name="PO7" value="7,2,${*}"/>
+</chat>
+
+<chat>
+ <!-- Set preferred operator 8 -->
+ <command>AT+CPOL=8,2,*</command>
+ <response>OK</response>
+ <set name="PO8" value="8,2,${*}"/>
+</chat>
+
+<!-- FIXED DIALLING LOCKS -->
+<chat>
+ <!-- Query available facility lock -->
+ <command>AT+CLCK="FD",2</command>
+ <response>+CLCK: ${FD}\nOK</response>
+</chat>
+
+<chat>
<!-- Query available facility locks -->
+ <command>AT+CLCK="FD",0,"${PIN2VALUE}"</command>
+ <response>OK</response>
+ <set name="FD" value="0"/>
+</chat>
+
+<chat>
+ <!-- Query available facility locks -->
+ <command>AT+CLCK="FD",1,"${PIN2VALUE}"</command>
+ <response>OK</response>
+ <set name="FD" value="1"/>
+</chat>
+
+<chat>
+ <!-- Query available facility locks -->
+ <command>AT+CLCK="FD",*</command>
+ <response>ERROR</response>
+</chat>
+
+<!-- SIM CARD LOCKS -->
+<chat>
+ <!-- Query available facility locks -->
<command>AT+CLCK=?</command>
<response>+CLCK: PS(8),SC(8)\nOK</response>
</chat>
@@ -1035,6 +1221,20 @@
<set name="CF0C1" value="1"/>
<set name="CF0C1N" value="*"/>
</chat>
+<chat>
+ <!-- Set call forwarding number international (voice, unconditional) -->
+ <command>AT+CCFC=0,3,*,145,1</command>
+ <response>OK</response>
+ <set name="CF0C1" value="1"/>
+ <set name="CF0C1N" value="*"/>
+</chat>
+<chat>
+ <!-- Set call forwarding number national (voice, unconditional) -->
+ <command>AT+CCFC=0,3,*,129,1</command>
+ <response>OK</response>
+ <set name="CF0C1" value="1"/>
+ <set name="CF0C1N" value="*"/>
+</chat>
<chat>
<!-- Set call forwarding number (voice, when busy) -->
@@ -1043,8 +1243,54 @@
<set name="CF1C1" value="1"/>
<set name="CF1C1N" value="*"/>
</chat>
+<chat>
+ <!-- Set call forwarding number international (voice, when busy) -->
+ <command>AT+CCFC=1,3,*,145,1</command>
+ <response>OK</response>
+ <set name="CF1C1" value="1"/>
+ <set name="CF1C1N" value="*"/>
+</chat>
+<chat>
+ <!-- Set call forwarding number national (voice, when busy) -->
+ <command>AT+CCFC=1,3,*,129,1</command>
+ <response>OK</response>
+ <set name="CF1C1" value="1"/>
+ <set name="CF1C1N" value="*"/>
+</chat>
<chat>
+ <!-- Set call forwarding number international (voice, no reply) -->
+ <command>AT+CCFC=2,3,*,145,1</command>
+ <response>OK</response>
+ <set name="CF2C1" value="1"/>
+ <set name="CF2C1N" value="*"/>
+</chat>
+
+<chat>
+ <!-- Set call forwarding number (voice, no reply) -->
+ <command>AT+CCFC=2,3,*,129,1</command>
+ <response>OK</response>
+ <set name="CF2C1" value="1"/>
+ <set name="CF2C1N" value="*"/>
+</chat>
+
+<chat>
+ <!-- Set call forwarding number international (voice, not reachable) -->
+ <command>AT+CCFC=3,3,*,145,1</command>
+ <response>OK</response>
+ <set name="CF3C1" value="1"/>
+ <set name="CF3C1N" value="*"/>
+</chat>
+
+<chat>
+ <!-- Set call forwarding number (voice, not reachable) -->
+ <command>AT+CCFC=3,3,*,129,1</command>
+ <response>OK</response>
+ <set name="CF3C1" value="1"/>
+ <set name="CF3C1N" value="*"/>
+</chat>
+
+<chat>
<!-- Set call forwarding number (data, unconditional) -->
<command>AT+CCFC=0,3,*,,2</command>
<response>OK</response>
@@ -1221,7 +1467,7 @@
<chat>
<!-- Query call waiting -->
<command>AT+CCWA=1,2</command>
- <response>+CCWA: ${CWA_V},1\n+CCWA: ${CWA_D},2\n+CCWA:
${CWA_F},4\nOK</response>
+ <response delay="2000">+CCWA: ${CWA_V},1\n+CCWA: ${CWA_D},2\n+CCWA:
${CWA_F},4\nOK</response>
</chat>
<chat>
@@ -1237,55 +1483,55 @@
</chat>
<!-- Disable call waiting -->
-<chat><command>AT+CCWA=1,0,1</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,1</command><response delay="1000">OK</response>
<set name="CWA_V" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,2</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,2</command><response delay="1000">OK</response>
<set name="CWA_D" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,3</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,3</command><response delay="1000">OK</response>
<set name="CWA_V" value="0"/>
<set name="CWA_D" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,4</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,4</command><response delay="1000">OK</response>
<set name="CWA_F" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,5</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,5</command><response delay="1000">OK</response>
<set name="CWA_V" value="0"/>
<set name="CWA_F" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,6</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,6</command><response delay="1000">OK</response>
<set name="CWA_D" value="0"/>
<set name="CWA_F" value="0"/>
</chat>
-<chat><command>AT+CCWA=1,0,7</command><response>OK</response>
+<chat><command>AT+CCWA=1,0,7</command><response delay="1000">OK</response>
<set name="CWA_V" value="0"/>
<set name="CWA_D" value="0"/>
<set name="CWA_F" value="0"/>
</chat>
<!-- Enable call waiting -->
-<chat><command>AT+CCWA=1,1,1</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,1</command><response delay="1000">OK</response>
<set name="CWA_V" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,2</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,2</command><response delay="1000">OK</response>
<set name="CWA_D" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,3</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,3</command><response delay="1000">OK</response>
<set name="CWA_V" value="1"/>
<set name="CWA_D" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,4</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,4</command><response delay="1000">OK</response>
<set name="CWA_F" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,5</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,5</command><response delay="1000">OK</response>
<set name="CWA_V" value="1"/>
<set name="CWA_F" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,6</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,6</command><response delay="1000">OK</response>
<set name="CWA_D" value="1"/>
<set name="CWA_F" value="1"/>
</chat>
-<chat><command>AT+CCWA=1,1,7</command><response>OK</response>
+<chat><command>AT+CCWA=1,1,7</command><response delay="1000">OK</response>
<set name="CWA_V" value="1"/>
<set name="CWA_D" value="1"/>
<set name="CWA_F" value="1"/>
@@ -1415,7 +1661,7 @@
<chat>
<!-- Check for which PIN is required -->
<command>AT+CPIN?</command>
- <response>+CPIN: ${PINNAME}\nOK</response>
+ <response delay="3000">+CPIN: ${PINNAME}\nOK</response>
</chat>
<chat>
@@ -1426,23 +1672,88 @@
</chat>
<chat>
- <!-- Change PIN (success) -->
+ <!-- Change PIN using PUK (success) -->
<!-- Meaningless command... can't work out use in hardware, use CPWD
instead -->
<!-- first is puck instead. -->
- <command>AT+CPIN="12345678","*"</command>
+ <command>AT+CPIN="${PUKVALUE}","*"</command>
<response>+CPIN: READY\nOK</response>
<set name="PINVALUE" value="${*}"/>
<set name="PINNAME" value="READY"/>
</chat>
<chat>
- <!-- Enter PIN (failure) -->
- <command>AT+CPIN*</command>
+ <!-- Enter PIN (PUK failure when PINNAME was "SIM PUK" from start) -->
+ <command>AT+CPIN="*","*"</command>
<response>+CPIN: SIM PUK\nERROR</response>
<set name="PINNAME" value="SIM PUK"/>
</chat>
<chat>
+ <!-- Enter PIN (failure) -->
+ <command>AT+CPIN=*</command>
+ <response>+CPIN: SIM PIN\nERROR</response>
+ <set name="PINNAME" value="SIM PIN"/>
+ <switch name="pinretry1"/>
+</chat>
+
+<state name="pinretry1">
+
+ <chat>
+ <!-- Enter PIN (success) -->
+ <command>AT+CPIN="${PINVALUE}"</command>
+ <response>+CPIN: READY\nOK</response>
+ <set name="PINNAME" value="READY"/>
+ <switch name="default"/>
+ </chat>
+
+ <chat>
+ <!-- Change PIN using PUK (success) -->
+ <command>AT+CPIN="${PUKVALUE}","*"</command>
+ <response>+CPIN: READY\nOK</response>
+ <set name="PINVALUE" value="${*}"/>
+ <set name="PINNAME" value="READY"/>
+ <switch name="default"/>
+ </chat>
+
+ <chat>
+ <!-- Enter PIN (failure) -->
+ <command>AT+CPIN=*</command>
+ <response>+CPIN: SIM PIN\nERROR</response>
+ <set name="PINNAME" value="SIM PIN"/>
+ <switch name="pinretry2"/>
+ </chat>
+
+</state>
+
+<state name="pinretry2">
+
+ <chat>
+ <!-- Enter PIN (success) -->
+ <command>AT+CPIN="${PINVALUE}"</command>
+ <response>+CPIN: READY\nOK</response>
+ <set name="PINNAME" value="READY"/>
+ <switch name="default"/>
+ </chat>
+
+ <chat>
+ <!-- Change PIN using PUK (success) -->
+ <command>AT+CPIN="${PUKVALUE}","*"</command>
+ <response>+CPIN: READY\nOK</response>
+ <set name="PINVALUE" value="${*}"/>
+ <set name="PINNAME" value="READY"/>
+ <switch name="default"/>
+ </chat>
+
+ <chat>
+ <!-- Enter PIN (failure) -->
+ <command>AT+CPIN=*</command>
+ <response>+CPIN: SIM PUK\nERROR</response>
+ <set name="PINNAME" value="SIM PUK"/>
+ </chat>
+
+</state>
+
+<chat>
<!-- Query battery charge -->
<command>AT+CBC</command>
<response>+CBC: ${BC}\nOK</response>
@@ -1654,6 +1965,62 @@
<response>+CPBW: (1-2),32,(129,145),16\nOK</response>
</chat>
+<!-- Phonebook commands are implemented in the phone simulator source code -->
+<phonebook name="SM" size="150">
+ <entry index="1" number="123" name="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEF"/>
+ <entry index="2" number="24685" name="Adam Zucker/m"/>
+ <entry index="3" number="48759" name="Bradley Young"/>
+ <entry index="4" number="45575" name="Chuck Woodbury/w"/>
+ <entry index="5" number="57968" name="Chuck Woodbury/h"/>
+ <entry index="6" number="48959" name="Darren Umber"/>
+ <entry index="7" number="48759" name="Courtney Umber/h"/>
+ <entry index="8" number="42887" name="Courtney Umber/m"/>
+ <entry index="9" number="87683" name="Evan Ungar"/>
+ <entry index="10" number="15798" name="Frank Twedell"/>
+ <entry index="11" number="12497" name="Greg Smith/w"/>
+ <entry index="12" number="89765" name="Greg Smith/m"/>
+ <entry index="13" number="12498" name="Greg Smith/o"/>
+ <entry index="14" number="34967" name="Greg Smith/h"/>
+ <entry index="15" number="57682" name="Henry Ross/m"/>
+ <entry index="16" number="78952" name="Henry Ross/h"/>
+ <entry index="17" number="44585" name="Ivan Prischmann"/>
+ <entry index="19" number="13553" name="Jack Odegard/h"/>
+ <entry index="20" number="49755" name="Jack Odegard/m"/>
+ <entry index="21" number="57683" name="Rachel Odegard"/>
+ <entry index="22" number="14573" name="Kevin Norris"/>
+ <entry index="23" number="48468" name="Logan Minkoff"/>
+ <entry index="24" number="48468" name="Tracy Minkoff"/>
+ <entry index="25" number="89624" name="Matthew LeBlanc"/>
+ <entry index="26" number="57439" name="Nathan Kelly/m"/>
+ <entry index="27" number="13596" name="Nathan Kelly/w"/>
+ <entry index="28" number="18279" name="Paul Jacobs"/>
+ <entry index="29" number="62755" name="Robert Irving"/>
+ <entry index="30" number="13466" name="Sean Hunt/h"/>
+ <entry index="31" number="59786" name="Sean Hunt/m"/>
+ <entry index="32" number="13664" name="Thomas Grayson"/>
+ <entry index="33" number="77957" name="Victor Frey"/>
+ <entry index="34" number="14535" name="Wade Emerson"/>
+ <entry index="35" number="98735" name="Monica Emerson"/>
+ <entry index="36" number="65865" name="Dorathy Foster"/>
+ <entry index="37" number="66573" name="Gina Haylock/m"/>
+ <entry index="38" number="33846" name="Gina Haylock/w"/>
+ <entry index="39" number="35933" name="BuyIt"/>
+ <entry index="40" number="2468DD" name="Wildcard"/>
+ <entry index="101" number="10101" name="GSM Test"/>
+</phonebook>
+
+<phonebook name="FD" size="20">
+ <entry index="1" number="+1357924680" name="FDN111"/>
+ <entry index="2" number="24680" name="FDN222"/>
+ <entry index="3" number="+123465678901234567890" name="FDN333"/>
+ <entry index="4" number="112" name="Emergency"/>
+</phonebook>
+
+<phonebook name="SN" size="50">
+ <entry index="1" number="013" name="Directory Assistance"/>
+ <entry index="2" number="121" name="Call Minding"/>
+</phonebook>
+
<!-- GSM 07.05: SMS related commands -->
<chat>
@@ -1884,6 +2251,12 @@
</chat>
<chat>
+ <!-- Global object identification (ignored) -->
+ <command>AT+GOI</command>
+ <response>OK</response>
+</chat>
+
+<chat>
<!-- Character framing (ignored) -->
<command>AT+ICF*</command>
<response>OK</response>
@@ -2300,19 +2673,7 @@
+ILRR
+IPR
+FCLASS
-+VBT
-+VCID
-+VGR
-+VGT
-+VIP
-+VIT
-+VLS
-+VRX
-+VSM
-+VTS
-+VTD
-+VTX
-*ECAM
+%VTS
A
D
E
@@ -2453,4 +2814,66 @@
</toolkit>
+<!-- SIM filesystem definition, based on standard test strings
+ presented in GSM 11.10-4. This is primarily intended for
+ testing icon definitions within SIM toolkit applications -->
+
+<filesystem>
+
+<file name="EFphase">
+ 03
+</file>
+
+<file name="EFimsi">
+ 08 09 10 10 10 32 54 76 98
+</file>
+
+<file name="EFimg" recordsize="20">
+ 01 2E 28 11 4F 01 00 00 00 E8 FF FF FF FF FF FF FF FF FF FF
+ 01 08 08 21 4F 02 00 00 00 1F FF FF FF FF FF FF FF FF FF FF
+ 01 18 10 11 4F 03 00 00 00 32 FF FF FF FF FF FF FF FF FF FF
+ 01 08 08 11 4F 04 00 00 00 0A FF FF FF FF FF FF FF FF FF FF
+ 01 05 05 11 4F 05 00 00 00 08 FF FF FF FF FF FF FF FF FF FF
+</file>
+
+<file name="EFimg1">
+ 2E 28 00 00 00 00 00 00 00 01 FF 80 00 00 00 0F
+ FF 00 00 00 00 77 FE 00 00 00 01 BF F8 00 00 00
+ 06 FF E0 00 00 00 1A 03 80 00 00 00 6B F6 BC 00
+ 00 01 AF D8 38 00 00 06 BF 60 20 00 00 1A FD 80
+ 40 00 00 6B F6 00 80 00 01 A0 1F 02 00 00 06 FF
+ E4 04 00 00 1B FF 90 10 00 00 6D EE 40 40 00 01
+ BF F9 01 00 00 6F FF E4 04 00 00 1B FF 90 10 00
+ 00 6F FE 40 40 00 01 BF F9 01 00 00 06 FF E6 04
+ 00 00 1B FF 88 10 00 00 6F FE 20 40 00 01 BF F8
+ 66 00 00 06 FF E0 F0 00 00 1B FF 80 80 00 00 7F
+ FE 00 00 00 03 00 0C 00 00 00 1F FF F8 00 00 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 1C 21 08 44 EE 00 48 C4 31 92 20 01 25 11 45 50
+ 80 07 14 45 15 43 80 12 71 1C 4D 08 00 4A 24 89
+ 32 20 01 C8 9E 24 4E E0
+</file>
+
+<file name="EFimg2">
+ 08 08 02 03 00 16 AA AA 80 02 85 42 81 42 81 42
+ 81 52 80 02 AA AA FF 00 00 00 FF 00 00 00 FF
+</file>
+
+<file name="EFimg3">
+ 18 10 FF FF FF 80 00 01 80 00 01 80 00 01 8F 3C
+ F1 89 20 81 89 20 81 89 20 F1 89 20 11 89 20 11
+ 89 20 11 8F 3C F1 80 00 01 80 00 01 80 00 01 FF
+ FF FF
+</file>
+
+<file name="EFimg4">
+ 08 08 FF 03 A5 99 99 A5 C3 FF
+</file>
+
+<file name="EFimg5">
+ 05 05 FE EB BF FF FF FF
+</file>
+
+</toolkit>
+
</simulator>
--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog