13 Nov
2012
13 Nov
'12
7:47 p.m.
(This is a patch against the latest, as of last night, git master.)
If you enable PCS, you'll never make it out of power-measurement without
this patch:
(This should be applied by everyone.)
---8<---
diff --git a/src/host/layer23/src/mobile/gsm322.c
b/src/host/layer23/src/mobile/gsm322.c
index ce5e1e1..ffecfc3 100644
--- a/src/host/layer23/src/mobile/gsm322.c
+++ b/src/host/layer23/src/mobile/gsm322.c
@@ -300,11 +300,14 @@ uint16_t index2arfcn(int index)
int arfcn2index(uint16_t arfcn)
{
- if ((arfcn & ARFCN_PCS) && arfcn >= 512 && arfcn <= 810)
+ int is_pcs = arfcn & ARFCN_PCS;
+ arfcn &= ~ARFCN_FLAG_MASK;
+ if ((is_pcs) && (arfcn >= 512) && (arfcn <= 810))
return (arfcn & 1023)-512+1024;
return arfcn & 1023;
}
+
static char *bargraph(int value, int min, int max)
{
static char bar[128];
---8<---
If you enable PCS, you'll never receive packets without this patch: (which
I only include for e88 and e86 but it should work for others)
(This should be applied if you don't use DCS in your area.)
---8<---
diff --git a/src/target/firmware/board/compal/rffe_dualband.c
b/src/target/firmware/board/compal/rffe_dualband.c
index f4b7361..5df1dfc 100644
--- a/src/target/firmware/board/compal/rffe_dualband.c
+++ b/src/target/firmware/board/compal/rffe_dualband.c
@@ -47,7 +47,8 @@ void rffe_mode(enum gsm_band band, int tx)
/* Returns RF wiring */
uint32_t rffe_get_rx_ports(void)
{
- return (1 << PORT_LO) | (1 << PORT_DCS1800);
+ // return (1 << PORT_LO) | (1 << PORT_DCS1800);
+ return (1 << PORT_LO) | (1 << PORT_PCS1900);
}
uint32_t rffe_get_tx_ports(void)
diff --git a/src/target/firmware/board/compal_e86/rffe_dualband_e86.c
b/src/target/firmware/board/compal_e86/rffe_dualband_e86.c
index 25bb099..10459d9 100644
--- a/src/target/firmware/board/compal_e86/rffe_dualband_e86.c
+++ b/src/target/firmware/board/compal_e86/rffe_dualband_e86.c
@@ -51,7 +51,8 @@ void rffe_mode(enum gsm_band band, int tx)
/* Returns RF wiring */
uint32_t rffe_get_rx_ports(void)
{
- return (1 << PORT_LO) | (1 << PORT_DCS1800);
+ // return (1 << PORT_LO) | (1 << PORT_DCS1800);
+ return (1 << PORT_LO) | (1 << PORT_PCS1900);
}
uint32_t rffe_get_tx_ports(void)
---8<---