most of the test systems are not built to be used for on-air operations . the ones that offer such features must be used in Shield rooms where no signal gets in or out . these rooms are expensive but usually tech universities have some rental hours for their shield and antenna rooms . its expensive as well , otherwise you are probably going to have some conflict with local regulatory sooner or later regards
On Thu, May 19, 2011 at 9:04 PM, Gianni Tedesco gianni@scaramanga.co.ukwrote:
On Fri, 2011-05-13 at 15:00 +0430, Mohammad Hosein wrote:
you could use most GSM test systems for such purpose . on ebay you might find very cheap ones regards
I managed to track down a Racal 6103. It should arrive in next couple of days.
As a followup question then, I guess that these are intended for wired rf connection or at least they transmit at very low power, and tell the phone to do the same.
However, one would feel a lot better using a channel unused by other cells in my location. I've been using cell_log to put together a list of active ARFCN's that my handset receives broadcasts from. Script for parsing cell_log logs is attached.
Am I to conclude that if cell_log hasn't dumped:
[sysinfo] arfcn 99
for example, after running for a reasonably long period of time (say 24hrs) that operating test equipment on channel 99 should be safe?
Gianni
--
#!/usr/bin/python
def getline(f): while True: l = f.readline() if not l: raise StopIteration l = l.rstrip('\r\n') if not l: continue yield l def bsic(v): (a,b) = v.split(',') return (int(a),int(b))
def hexdump(v): ret = bytearray() for x in v.split(): ret.append(int(x, 16)) return ret
class Parser: pass
class Power(Parser): def line(self, s): return
class mcc: tbl = {0x234: 'UK and Northern Ireland'} def __init__(self, num): x = ((num & 0xf00) >> 8, (num & 0xf000) >> 12, (num & 0xf)) self.val = (x[0] << 8) | x[1] << 4 | x[2] def __int__(self): return self.val def __str__(self): return self.tbl.get(self.val, '%.3x'%self.val)
class mnc: tbl = {0x15: 'Vodafone', 0x30: 'T-Mobile', 0x10: 'O2', 0x33: 'Orange', } def __init__(self, num): x = ((num & 0xf0) >> 4, (num & 0xf)) self.val = (x[1] << 4) | x[0] def __int__(self): return self.val def __str__(self): return self.tbl.get(self.val, '%.2x'%self.val)
class SystemInfo: pass
class SystemInfo3(SystemInfo): def __init__(self, b): if isinstance(b, str): b = hexdump(b) assert(b[0] > 9) # len assert(b[1] == 0x06) # discr assert(b[2] == 0x1b) # sysinfo3 self.cell = (b[3] << 8) | b[4] self.mcc = mcc((b[5] << 8) | b[6]) self.mnc = mnc(b[7]) self.lac = (b[8] << 8) | b[9] def __str__(self): return 'Cell(%s, %s)'%(self.mcc,self.mnc)
class SystemInfo4(SystemInfo): def __init__(self, b): if isinstance(b, str): b = hexdump(b) assert(b[0] > 7) # len assert(b[1] == 0x06) # discr assert(b[2] == 0x1c) # sysinfo4 self.cell = None self.mcc = mcc((b[3] << 8) | b[4]) self.mnc = mnc(b[5]) self.lac = (b[6] << 8) | b[7] def __str__(self): return 'Cell(%s, %s)'%(self.mcc,self.mnc)
class Sysinfo(Parser): _keys = {'arfcn':int, 'time':int, 'rxlev':int, 'bsic':bsic, 'si1':hexdump, 'si2':hexdump, 'si2bis':hexdump, 'si2ter':hexdump, 'si3':SystemInfo3, 'si4':SystemInfo4, 'ta':int} def line(self, s): (k,v) = s.split(None, 1) if self._keys.has_key(k): setattr(self, k, self._keys[k](v)) else: print k, v return
class RFMap: arfcns = {} cells = {} def commit(self, obj): if isinstance(obj, Sysinfo): self.arfcns.setdefault(obj.arfcn, {}) self.arfcns[obj.arfcn][str(obj.si3.mnc)] = None self.arfcns[obj.arfcn][str(obj.si4.mnc)] = None
self.cells.setdefault(obj.si3.cell, {}) self.cells[obj.si3.cell][str(obj.si3.mnc)] = None elif isinstance(obj, Power): return assert(isinstance(obj, Parser))def rf_map(f): smap = {'[power]':Power, '[sysinfo]':Sysinfo} obj = None m = RFMap()
for x in getline(f): if x[0] == '[': if obj is not None: m.commit(obj) obj = smap[x]() continue if obj is None: raise ValueError, 'Bad state' obj.line(x) if obj is not None: m.commit(obj) print 'Active ARFCNs:' x = m.arfcns.keys() x.sort() for i in x: print ' %4d:'%i, ','.join(m.arfcns[i]) print print 'Active Cells:' x = m.cells.keys() x.sort() for i in x: print ' 0x%.4x'%i, ','.join(m.cells[i]) printdef main(argv): if len(argv) > 1: infile = open(argv[1]) else: from sys import stdin infile = stdin
rf_map(infile) return 0if __name__ == '__main__': from sys import argv raise SystemExit, main(argv)
On Thu, 2011-05-19 at 21:09 +0430, Mohammad Hosein wrote:
most of the test systems are not built to be used for on-air operations . the ones that offer such features must be used in Shield rooms where no signal gets in or out . these rooms are expensive but usually tech universities have some rental hours for their shield and antenna rooms . its expensive as well , otherwise you are probably going to have some conflict with local regulatory sooner or later regards
So how does it work "off-air"? I'll need a shielded cable and attach it on to the antenna pads of the handset?
The last thing I want is regulatory hassles.
Thanks
Gianni
Hi,
So how does it work "off-air"? I'll need a shielded cable and attach it on to the antenna pads of the handset?
You need to use a RF 50 ohm coax cable. The Racal has a N connector and the phone should have one has well. I don't remember the exact reference of the C123 connector but I know digikey has adapter to SMA for it, so I use a N to SMA then an adaptor that depends on the phone.
Sylvain
On Thu, 2011-05-19 at 19:03 +0200, Sylvain Munaut wrote:
Hi,
So how does it work "off-air"? I'll need a shielded cable and attach
it
on to the antenna pads of the handset?
You need to use a RF 50 ohm coax cable. The Racal has a N connector and the phone should have one has well. I don't remember the exact reference of the C123 connector but I know digikey has adapter to SMA for it, so I use a N to SMA then an adaptor that depends on the phone.
The unit I'm getting should come with a "BNC to N-Type connector" but I thought n-type was maybe 2cm diameter? The connector on the phone (C139) is tiny, I have just uncovered it...
If I understand correctly, I need a special connector for the phone and then maybe another one? eg. N to SMA depending on what the special connector provides...
Looking on the list archive someone suggested: http://shop.meconet.de/artikeldet.php?suchspeicher=110448&proid=550&...
But no reports as to whether it worked or not.
Probably I should just get a cheap car-antenna for the phone and rip the connector out for my own cable...
Thanks
Gianni
A N connector is designed for 1KW power and is half an inch in diameter :) ...
It seems difficult to find the exact type of this connector even if it's present on a high number of phones. It may be a MC-Card, Hirose MS-147 is also probable:
http://szwholesale.com/ebay/2/Antenna/3G-combination/antenna_connector-1.jpg
You might find a short pigtail that converts this connector to SMA, then a more classical SMA-anything , maybe SMA-N or SMA-BNC followed by BNC-N.
Regards Sebastien
On Thu, May 19, 2011 at 7:27 PM, Gianni Tedesco gianni@scaramanga.co.ukwrote:
On Thu, 2011-05-19 at 19:03 +0200, Sylvain Munaut wrote:
Hi,
So how does it work "off-air"? I'll need a shielded cable and attach
it
on to the antenna pads of the handset?
You need to use a RF 50 ohm coax cable. The Racal has a N connector and the phone should have one has well. I don't remember the exact reference of the C123 connector but I know digikey has adapter to SMA for it, so I use a N to SMA then an adaptor that depends on the phone.
The unit I'm getting should come with a "BNC to N-Type connector" but I thought n-type was maybe 2cm diameter? The connector on the phone (C139) is tiny, I have just uncovered it...
If I understand correctly, I need a special connector for the phone and then maybe another one? eg. N to SMA depending on what the special connector provides...
Looking on the list archive someone suggested:
http://shop.meconet.de/artikeldet.php?suchspeicher=110448&proid=550&...
But no reports as to whether it worked or not.
Probably I should just get a cheap car-antenna for the phone and rip the connector out for my own cable...
Thanks
Gianni
it really depends on the type of operation and measurement you are gonna do but you must "engineer" a way not to TX regulated traffic anyway . a shield room is your first choice , engineering the patch antenna on the handset would be another , of course you always can ask your regulatory for temporary limited license to do research and the cost depends on how crowded your area is .
On Thu, May 19, 2011 at 9:12 PM, Gianni Tedesco gianni@scaramanga.co.ukwrote:
On Thu, 2011-05-19 at 21:09 +0430, Mohammad Hosein wrote:
most of the test systems are not built to be used for on-air operations . the ones that offer such features must be used in Shield rooms where no signal gets in or out . these rooms are expensive but usually tech universities have some rental hours for their shield and antenna rooms . its expensive as well , otherwise you are probably going to have some conflict with local regulatory sooner or later regards
So how does it work "off-air"? I'll need a shielded cable and attach it on to the antenna pads of the handset?
The last thing I want is regulatory hassles.
Thanks
Gianni
I can confirm now that it's a MS147 on the C123
I have this adapter :
http://be.farnell.com/hrs-hirose/ms-147-hrmj-1/adaptor-ms147-sma/dp/1325922
and connects to the Racal using a N male -> SMA male cable.
The racal is designed to be used with a direct connection, that's required to : - have precise tx / rw power measurements - ensure no signal is leaked to the outside world.
Cheers,
Sylvain
On Thu, 2011-05-19 at 22:52 +0200, Sylvain Munaut wrote:
I can confirm now that it's a MS147 on the C123
I have this adapter :
http://be.farnell.com/hrs-hirose/ms-147-hrmj-1/adaptor-ms147-sma/dp/1325922
and connects to the Racal using a N male -> SMA male cable.
Thanks!
The racal is designed to be used with a direct connection, that's required to :
- have precise tx / rw power measurements
I'm not fussed about that, just trying to work on the upper layer stuff.
- ensure no signal is leaked to the outside world.
Very important
Cheers,
Thanks for that!
Gianni
On Thu, 2011-05-19 at 22:52 +0200, Sylvain Munaut wrote:
I can confirm now that it's a MS147 on the C123
I have this adapter :
http://be.farnell.com/hrs-hirose/ms-147-hrmj-1/adaptor-ms147-sma/dp/1325922
and connects to the Racal using a N male -> SMA male cable.
Something like this?
http://uk.farnell.com/huber-suhner/st-18-smam-nm-36/lead-n-plug-sma-plug-36-...
£88 GBP seems a bit much, no?!
Gianni
On Mon, 2011-05-23 at 18:26 +0100, Gianni Tedesco wrote:
On Thu, 2011-05-19 at 22:52 +0200, Sylvain Munaut wrote:
I can confirm now that it's a MS147 on the C123
I have this adapter :
http://be.farnell.com/hrs-hirose/ms-147-hrmj-1/adaptor-ms147-sma/dp/1325922
and connects to the Racal using a N male -> SMA male cable.
Something like this?
http://uk.farnell.com/huber-suhner/st-18-smam-nm-36/lead-n-plug-sma-plug-36-...
£88 GBP seems a bit much, no?!
This looks like the right thing and is only £3.80
http://www.broadbandbuyer.co.uk/Shop/ShopDetail.asp?ProductID=6195
Gianni
On Mon, 2011-05-23 at 19:40 +0100, Gianni Tedesco wrote:
On Mon, 2011-05-23 at 18:26 +0100, Gianni Tedesco wrote:
On Thu, 2011-05-19 at 22:52 +0200, Sylvain Munaut wrote:
I can confirm now that it's a MS147 on the C123
I have this adapter :
http://be.farnell.com/hrs-hirose/ms-147-hrmj-1/adaptor-ms147-sma/dp/1325922
and connects to the Racal using a N male -> SMA male cable.
Something like this?
http://uk.farnell.com/huber-suhner/st-18-smam-nm-36/lead-n-plug-sma-plug-36-...
£88 GBP seems a bit much, no?!
This looks like the right thing and is only £3.80
http://www.broadbandbuyer.co.uk/Shop/ShopDetail.asp?ProductID=6195
OK, its been pointed out to me that this is the reverse threaded SMA connector and won't work. However, female BNC to male SMA pigtails can be found here for around £2 from a supplier in China.
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=300554595076#ht_174...
So that means: - racal 6103 - 1m n-type -> bnc cable (supplied with unit in my case) - bnc -> sma pigtail - sma -> ms147 (or equivalent connector depending on the phone)
Gianni
baseband-devel@lists.osmocom.org