gsm322.c:arfcn2index patch

Joshua Lackey jl at thre.at
Tue Nov 13 18:47:11 UTC 2012


(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<---
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/baseband-devel/attachments/20121113/8223bb5e/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gsm322.patch
Type: application/octet-stream
Size: 615 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/baseband-devel/attachments/20121113/8223bb5e/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pcs.patch
Type: application/octet-stream
Size: 1150 bytes
Desc: not available
URL: <http://lists.osmocom.org/pipermail/baseband-devel/attachments/20121113/8223bb5e/attachment-0001.obj>


More information about the baseband-devel mailing list