summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-12-07 06:34:46 +0000
committeradrian <adrian@FreeBSD.org>2012-12-07 06:34:46 +0000
commit51bed028d5377df195db20a964f6b38bc12b97ae (patch)
tree6047b045827fcb5123c98d6ff5b98ec9934cb109
parent471892517a04a9a94d0773d6192b4ac750aab942 (diff)
downloadFreeBSD-src-51bed028d5377df195db20a964f6b38bc12b97ae.zip
FreeBSD-src-51bed028d5377df195db20a964f6b38bc12b97ae.tar.gz
Add a new 900MHz GSM regulatory SKU for the Xagyl Communications XC900M.
The XC900M acts as a Ubiquiti XR9 (and I _think_ SR9) by default; it uses the same 900MHz<->2.4GHz downconverter mapping. However it has an alternative frequency mapping which squeezes in a couple more half/quarter rate channels. Since the default HAL doesn't support fractional tuning (sub-1MHz) in 2.4GHz mode on the AR5413/AR5414, they implement it using a jumper. Datasheet: http://www.xagyl.com/download/XC900M_Datasheet.pdf Thankyou to Xagyl Communications for the XC900M NICs and Edgar Martinez for organising the donation. Tested: * XC900M <-> XC900M * Ubiquiti XR9 <-> XC900M TODO: * Test against SR9 and GZ901 if possible (the IEEE channel<->frequency mapping may not match up, thanks to the slightly different channels involved)
-rw-r--r--etc/regdomain.xml42
-rw-r--r--sys/net80211/ieee80211_regdomain.h11
2 files changed, 53 insertions, 0 deletions
diff --git a/etc/regdomain.xml b/etc/regdomain.xml
index ff57113..126f03a 100644
--- a/etc/regdomain.xml
+++ b/etc/regdomain.xml
@@ -1303,6 +1303,29 @@
</band>
</netband>
</rd>
+
+<rd id="xc900m">
+ <name>XC900M</name>
+ <sku>0x29b</sku>
+ <netband mode="11g">
+ <band>
+ <freqband ref="S1_905_925_5"/>
+ <maxpower>30</maxpower>
+ <flags>IEEE80211_CHAN_G</flags>
+ </band>
+ <band>
+ <freqband ref="S1_910_920_10"/>
+ <maxpower>30</maxpower>
+ <flags>IEEE80211_CHAN_G</flags>
+ </band>
+ <band>
+ <freqband ref="S1_915_915"/>
+ <maxpower>30</maxpower>
+ <flags>IEEE80211_CHAN_G</flags>
+ </band>
+ </netband>
+</rd>
+
</regulatory-domains>
<country-codes>
@@ -1896,6 +1919,25 @@
<flags>IEEE80211_CHAN_GSM</flags>
</freqband>
+<freqband id="S1_905_925_5">
+ <freqstart>905</freqstart> <freqend>925</freqend>
+ <chanwidth>5</chanwidth> <chansep>5</chansep>
+ <flags>IEEE80211_CHAN_GSM</flags>
+ <flags>IEEE80211_CHAN_QUARTER</flags>
+</freqband>
+<freqband id="S1_910_920_10">
+ <freqstart>910</freqstart> <freqend>920</freqend>
+ <chanwidth>10</chanwidth> <chansep>5</chansep>
+ <flags>IEEE80211_CHAN_GSM</flags>
+ <flags>IEEE80211_CHAN_HALF</flags>
+</freqband>
+<freqband id="S1_915_915">
+ <freqstart>915</freqstart> <freqend>915</freqend>
+ <chanwidth>20</chanwidth> <chansep>5</chansep>
+ <flags>IEEE80211_CHAN_GSM</flags>
+</freqband>
+
+
</shared-frequency-bands>
</regulatory-data>
diff --git a/sys/net80211/ieee80211_regdomain.h b/sys/net80211/ieee80211_regdomain.h
index 8942dd9..cfb3146 100644
--- a/sys/net80211/ieee80211_regdomain.h
+++ b/sys/net80211/ieee80211_regdomain.h
@@ -258,6 +258,17 @@ enum RegdomainCode {
SKU_SR9 = 0x0298, /* Ubiquiti SR9 (900MHz/GSM) */
SKU_XR9 = 0x0299, /* Ubiquiti XR9 (900MHz/GSM) */
SKU_GZ901 = 0x029a, /* Zcomax GZ-901 (900MHz/GSM) */
+ SKU_XC900M = 0x029b, /* Xagyl XC900M (900MHz/GSM) */
+ /*
+ * The XC900M by default uses the
+ * same mapping as the XR9. It
+ * can optionally use a slightly
+ * offset channel spacing (905MHz-
+ * 925MHz) versus the XR9 (907MHz-
+ * 922MHz), giving an extra channel.
+ * This requires a jumper on the
+ * NIC to be changed.
+ */
};
#if defined(__KERNEL__) || defined(_KERNEL)
OpenPOWER on IntegriCloud